- Lectures:
- Wed 2:30pm – 4:15pm, LSB LT-5
- Thu 4:30pm – 5:15pm, LSK LT-2
- Tutorials:
- L01, Thu 2:30pm - 3:15pm, SHB 924
- L02, Thu 5:30pm - 6:15pm, SHB 123
| Member | Role | Office Hours |
|---|---|---|
| Xu, Hong | Prof | Tue 9:00-11:00 pm, SHB 914. By appointment |
| Deng, Yangtao (ytdeng25@cse) | Head TA | Thu 9:30am - 11:30am, SHB 117 |
| Wu, Shaofeng (sfwu22@cse) | TA | Fri 2:00pm - 4:00pm, SHB 117 |
| Feng, Yicheng (ycfeng@cse) | TA | Fri 2:30pm - 4:30pm, SHB 904 |
| Jia, Chaobo (cbjia25@cse) | TA | Tue 3:00pm -5:00pm, SHB 117 |
[NOTE]: Due to the large class size, 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 | Wed Lecture | Thu 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, Sync 1: Locks28 | Sync 1: Locks | Threads, Sync 1 |
Why Threads Are A Bad Idea (for most purposes) |
| 4 | Sync 2: Condition Variables30 | Sync 3: Semaphore31 | Sync 2, Sync 3 |
The Little Book of Semaphores, Hierarchical ordering of sequential processes |
| 5 | Sync 3: Semaphore, Deadlock32 | Scheduling7, 8, 9 | Deadlock, Scheduling |
|
| 6 | Scheduling | Mem. Manag. 113-16 | Scheduling | Borrowed virtual time |
| 7 | Mem. Manag. 1, Mem.: Paging18, 19, 20 |
Midterm | MEM, Paging | |
| Reading week | Reading week | |||
| 8 | Mem.: Paging, Mem.: Swapping21, 22 |
Mem.: Swapping | Paging, Swapping | SIEVE is simpler than LRU |
| 9 | I/O Devices | A Simple FS39, 40, 41 | I/O Devices, vsfs | |
| 10 | A Simple FS | LFS43 | LFS | |
| 11 | LFS, Virtualizationvmm | Virtualization | Virtualization | |
| 12 | Cancelled | Cancelled | ||
| 13 | Networking | Final Review | Networking, Final Review |
The following material provides a nice overview of microkernels and kernel architecture, an intriguing topic I wish I had time to teach.
| Week | Date | Topic | TA | Assignment | Due |
|---|---|---|---|---|---|
| 1 | Jan 8 | Basic Review: Linux, Git, and C | Shaofeng | Assignment 1 | 23:59:59 p.m., Jan. 26 |
| 2 | Jan 15 | Assignment One: Background Knowledge and Code Walk | Shaofeng | ||
| 3 | Jan 22 | Assignment One: System Calls in C Programming | Shaofeng | ||
| 4 | Jan 29 | Mutex Lock Implementation via pthread Library in C | Chaobo | Assignment 2 | 23:59:59 p.m., Mar. 1st |
| 5 | Feb 5 | Condition Variables via pthread Library in C | Yicheng | ||
| 6 | Feb 12 | Semaphores in C | Yicheng | ||
| Feb 19 | Holiday | ||||
| 7 | Feb 26 | Multilevel Feedback Queue | Yicheng | ||
| Mar 5 | Reading Week | Assignment 3 | 23:59:59 p.m., Mar 29 | ||
| 8 | Mar 12 | Midterm Solution | Yangtao | ||
| 9 | Mar 19 | Swapping Algorithms | Yangtao | ||
| 10 | Mar 26 | Paging (Address Translation) | Yangtao | Assignment 4 | TBA |
| 11 | Apr 2 | File System API | Chaobo | ||
| 12 | Apr 9 | FAT File System | Chaobo | ||
| 13 | Apr 16 | Assignment and lecture Q&A | Yangtao |
| Assignment Classroom | Due | Contact TA |
|---|---|---|
| Assignment 1 | 23:59:59 p.m., Jan. 26 | Shaofeng |
| Assignment 1(Grace Token) | 23:59:59 p.m., Jan. 27 | Shaofeng |
| Assignment 2 | 23:59:59 p.m., Mar. 1st | Yicheng |
| Assignment 2 Grace Token | 23:59:59 p.m., Mar. 2nd | Yicheng |
| Assignment 3 | 23:59:59 p.m., Mar 29 | Yangtao |
| Assignment 3 Grace Token | 23:59:59 p.m., Mar 30 | Yangtao |
| Assignment 4 | TBA | Chaobo |
| Assignment 4 Grace Token | TBA | Chaobo |
- 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:
- The University's guide is here.
- Our approach is Approach 1 – Prohibit all use of AI tools.
- Lectures and tutorials:
- Be on time. Set your mobile device to vibration/silent 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.