- Lectures:
- Tue 12:30pm – 2:15pm, ERB LT
- Wed 10:30am – 11:15am, ERB LT
- Tutorials:
- L01, Thu 10:30am - 11:15am, SHB 123
- L02, Thu 11:30am - 12:15pm, SHB 123
- L03, Thu 2:30pm - 3:15pm, SHB 924
- L04, Thu 4:30pm - 5:15pm, SHB 123
- L05, Thu 5:30pm - 6:15pm, SHB 123
Member | Role | Office Hours |
---|---|---|
Xu, Hong (hongxu@cuhk) | Prof | Tue 2:30-4:30 pm, SHB 914. By appointment |
Wu, Shaofeng (sfwu22@cse) | Head TA | Thu 12:30-2:30 pm, SHB 117. |
Yang, Yitao (ytyang@cse) | TA | Fri 1:00-3:00 pm, SHB 121 |
Li, Jianqiang (jqli1@cse) | TA | Wed 2:30-4:30 pm, SHB 904. |
Chen, Kaiwen (kwchen24@cse) | TA | Fri 10:00-12:00 am, SHB 904. |
Chen, Yuetao (ytchen24@cse) | TA | TUE 1:00-3:00 pm, SHB 904 |
Feng, Yicheng (ycfeng@cse) | TA | Wed 2:00-4:30 pm, SHB 904 |
[NOTE]: Due to the large class size (200+ students), please do not email us individually. Piazza should be used for all Q&A.
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/
The following textbook (CSAPP) serves as a very good source of reference:
- Computer Systems: A Programmer's Perspective, 3rd edition, Randal E. Bryant and David R. O'Hallaron
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, and on the superscript to access the corresponding chapters in the textbook.
Week | Tue Lecture | Wed Lecture | PDFs | Optional readings |
---|---|---|---|---|
1 | Intro, Arch support | Arch support | Intro, Arch | |
2 | Processes4, 5 | Processes | Processes | A fork() in the road The Evolution of the Unix Time-sharing System |
3 | Threads26 | Mid-autumn Festival | Threads | Why Threads Are A Bad Idea (for most purposes) |
4 | Sync 1: Locks28 | Sync 2: Condition Variables30 | Sync 1, Sync 2 |
|
5 | National Day | Sync 2: Condition Variables | Sync 2 | |
6 | Sync 3: Semaphore31 | Deadlock32 | Sync 3, Deadlock | The Little Book of Semaphores, Hierarchical ordering of sequential processes |
7 | CPU Scheduling7, 8, 9 |
Midterm | Scheduling | |
8 | Mem. Manag. 113-16 | -- | MEM 1 | |
9 | Mem.: Paging18, 19, 20 | -- | Paging | |
10 | Mem.: Swapping21, 22 | I/O Devices36, 37 | Swapping, I/O Devices |
|
11 | A Simple FS39, 40, 41 | -- | VSFS | |
12 | LFS43 | Virtualizationvmm | LFS, virt | The Design and Implementation of A Log-Structured File System |
13 | Networking | Final Review | Net | It's Time for Operating Systems to Rediscover Hardware |
The following material provides a nice overview of microkernels and kernel architecture, an intriguing topic I wish I had time to teach.
Week | Topic | TA | Assignment | Due |
---|---|---|---|---|
1 | Basic Review: Linux, Git, and C | Shaofeng | Assignment 1 | 18:00:00 p.m., Mon, Oct 7th |
2 | Assignment One: Background Knowledge and Code Walk | Shaofeng | ||
3 | Assignment One: System Calls in C Programming | Shaofeng | ||
4 | Mutex Lock Implementation via pthread Library in C | Jianqiang | ||
5 | Condition Variables via pthread Library in C | Jianqiang | Assignment 2 | 18:00:00 p.m., Mon, Nov 4th |
6 | Semaphores in C | Yuetao | ||
7 | Multilevel Feedback Queue | Yuetao | ||
8 | Midterm Solution | Kaiwen & Jianqiang | Assignment 3 | 18:00:00 p.m., Mon, Nov 18th |
9 | Swapping Algorithms | Kaiwen | ||
10 | Paging (Address Translation) | Yitao | ||
11 | cancelled | Assignment 4 | 18:00:00 p.m., Mon, Dec. 9th | |
12 | File System API | Kaiwen | ||
12 | FAT File System | Yitao |
Assignment Classroom | Due | Contact TA |
---|---|---|
assignment-one | 18:00:00 p.m., Mon, Oct 7th | Shaofeng |
assignment-one-grace-token | 18:00:00 p.m., Tue, Oct 8th | Shaofeng |
assignment-two | 18:00:00 p.m., Mon, Nov 4th | Jianqiang & Yuetao |
assignment-two-grace-token | 18:00:00 p.m., Tue, Nov 5th | Jianqiang & Yuetao |
assignment-three | 18:00:00 p.m., Mon, Nov 18th | Kaiwen |
assignment-three-grace-token | 18:00:00 p.m., Tue, Nov 19th | Kaiwen |
assignment-four | 18:00:00 p.m., Mon, Dec 9th | Yitao & Yicheng |
assignment-four-grace-token | 18:00:00 p.m., TUE, Dec 10th | Yitao & Yicheng |
- 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.
- Use of AI tools:
- Our approach is "Use only with prior permission".
- In the assignments, we will explicitly specify which parts can be done with AI tools, and which parts can't.
- Instructions will be given to properly cite/acknowledge the use of AI tools.
- The University's guide is 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.
We understand that certain circumstances, such as severe illness requiring hospitalization or other force majeure events, may prevent you from submitting your assignments on time.
Should you find yourself in such a situation, and upon providing appropriate documentation as proof of the circumstances, you will be permitted to use the average score of all your other assignments as a replacement for the missed assignment. This policy is designed to ensure fairness while maintaining grade standards in light of uncontrollable events.