- Lectures:
- Wed 2:30pm – 4:15pm, MMW LT1
- Thu 11:30am – 12:15pm, MMW LT1
- Tutorials:
- Thu 2:30pm – 3:15pm, SHB 904
- Thu 5:30pm – 6:15pm, SHB 123
| Member | Role | Office Hours |
|---|---|---|
| Xu, Hong (Henry) | Prof | Mon 3-5 pm, SHB 914. By appointments only. |
| Wu, Shaofeng | Head TA | Mon 3-5 pm, SHB 117. |
| Tan, Xin | TA | Mon 3-5 pm, SHB 117. |
| Luo, Qin | TA | Tue 1-3 pm, SHB 913. |
The Piazza page for this course is here. All communication about this course is done over Piazza. This includes questions, discussions, announcements, as well as private messages. The self-signup code is "3150 rocks!".
This course discusses the principles in the design and implementation of operating systems (OS). Main topics include: OS concepts and abstractions, process management, memory management, file systems, and virtualization.
The course materials are partly based upon the following classic textbook:
- Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
- The book is free online: http://pages.cs.wisc.edu/~remzi/OSTEP/
| Assessment item | CSCI Weight |
|---|---|
| Assignments | 50% |
| Lab quizzes* | 10% |
| Final Exam | 40% |
*: To encourage tutorial participation, quiz or simple programming task will be conducted at the tutorials randomly. We will randomly pick 5 tutorials and perform this at the end of the tutorial. Each quiz/programming task is worth one mark. There will also be a midterm written quiz worth 5 marks; the date will be announced in a later time.
Click on the topic to access the slides. Click on the ► to watch the recording.
| Week | Wed Lecture | Thu Lecture | PDF version | Optional readings |
|---|---|---|---|---|
| 1 | Intro, Arch support | Arch support | lec1, lec2 | |
| 2 | Processes | Processes | lec3 | A fork() in the road The Evolution of the Unix Time-sharing System |
| 3 | Threads, Synchronization 1 | Synchronization 1 | lec4, lec5 | |
| 4 | Sync 2: Condition Variables | Sync 3: Semaphore (►) | lec6, lec7 | The Little Book of Semaphores, Hierarchical ordering of sequential processes |
| 5 | Deadlock | CPU Scheduling | ||
| 6 | Memory Management 1 | Memory Management 1 | ||
| 7 | MM 2: Paging | MM 2: Paging | ||
| 8 | MM 3: Swapping | |||
| 9 | File Systems 1 | |||
| 10 | File Systems 2 | |||
| 11 | File Systems 3 | |||
| 12 | Distributed Systems | |||
| 13 | Virtual Machines | Final Review |
| Week | Topic | Link | TA | Assignment | Due |
|---|---|---|---|---|---|
| 1 | Basic reviews: Linux, gcc, git and C programming | tutorial 1 Passcode: $Xq+fY6? |
Shaofeng | Assignment 1 | 18:00:00 p.m., Mon, Feb 13th |
| 2 | Tutorial for Assignment One: Background Knowledge and Code Walk | tutorial 2 Passcode: R+F6sah$ |
Shaofeng | ||
| 3 | Tutorial for Assignment One: System Calls in C Programming | tutorial 3 Passcode: 628F%d.v |
Shaofeng | ||
| 4 | Mutex, Semaphore and Condition Variables | tutorial 4 Passcode: W%2PNB9! |
Xin, Shaofeng |
| Assignment Classroom | Due | Contact TA |
|---|---|---|
| assignment one | 18:00:00 p.m., Mon, Feb 13th | Wu, Shaofeng |
| assignment one grace token (To be released) | 18:00:00 p.m., Tues, Feb 14th | Wu, Shaofeng |
- Assignments:
- No late submission.
- Grace tokens: You have 2 grace tokens, each can be used to give you a 24-hr extension on one assignment. You can apply at most 1 grace token on each assignment at your own discretion. This gives you some flexibility to cope with your own schedule.
- According to the University’s regulation, every assignment must be accompanied by a signed declaration of originality; submissions without it will receive zero mark.
- The declaration form is available here.
- Lectures and tutorials:
- Be on time. Set your mobile device to vibration/silient mode.
- Feel free to ask questions and raise comments during the lecture, but we can only entertain short questions and discussions in-class.
- Longer and deeper discussion and questions can happen in tutorials.
- Follow University's regulations on COVID, including use of masks, hand sanitization, seating with social distance, etc.