CE 40-424: Operating SystemsSaturday/Monday 1500-1630
Room: 201 CE Building
Office Hours: Sat 16:30 to 17:00
TAs: Hossein Moghaddas
Quick Links: Description Acknowledgment Policies Announcements Homeworks CourseMaterial
Description:This is an introductory course to Operating Systems. This course is primarily based on the Operating Systems course taught by John D. Kubiatowicz at Berkeley.
Prerequisites: 40-323 Computer Architecture
Acknowledgment: This course is primarily based on the Operating Systems course taught by John D. Kubiatowicz at Berkeley.
- Grading policy is as follows. This is tentative.
- 25% Homeworks
- 40% Group Homeworks
- 15% Midterm
- 20% Final
There will be no exceptions to the following rules:
- There will be a zero tolerance policy for cheating/copying. The first time you are caught, you will receive a zero for the task at hand. If you are caught for a second time, you will fail the course. Providing your assignment to someone else is considered cheating on your behalf.
- If you turn in your assignments one day late you will lose 25% of the grade, two days will cost you 50% and three days 75% of the grade. No submissions will be accepted after the third day. Penalty may be calculted continuously and per hour of delay. This applies to both individual and group assignments.
- Each of you has a 3 day extension you could use over the individual assignments. The minimum you could use at each instance is a 1 day extension. So you can not extend HW1 by 12 hours and then HW2 by 60 hours. You could use the 3 days with one HW, or 1 day for each HW, or 2 days for hW1 and 1 day for HW2, or 1 day for HW1 and 2 days for HW2, or ... (I hope you get the idea!)
- The 3 day extension will be applied to HW0 and what ever remains would be carried over to HW1 and so on. Again, this applies only to the individual assignments.
- There is a good probability that things go south (i.e. you get sick, network fails, your computer crashes, there is a bug in the HW/GHW, server fails, etc.) as the deadline approaches. Such issues will not result in an extension to the deadline. So keep that in mind and plan for Murphy's law in advance, don't leave things for the last minute.
- There will be a zero tolerance policy for any misuse of the course infrastructure (i.e. Judge, Tarasht, etc.), regardless of the intent
- If any of the class policies are unclear, they should be brought up and discussed in the first week of the semester at hand.
- You should study the class policies carefully.
- Midterm will be on 1399/2/1.
- HW0, Available: 1398/11/19, Deadline: 1398/11/28, 11:59PM.
- HW1, Available: 1398/11/26, Deadline: 1398/12/5, 11:59PM.
- HW2, Available: 1399/1/16, Deadline: 1399/1/25, 11:59PM.
- HW3, Available: 1399/2/13, Deadline: 1399/2/22, 11:59PM.
- GHW1: Available: 1398/12/5, Design Deadline: 1398/12/12, Code + Report Submission Deadline: 1398/12/26, 11:59PM.
- GHW2 [Lab]: Available: 1399/1/23, Design Deadline: 1399/1/30, Code + Report Submission Deadline: 1399/2/13, 11:59PM.
- GHW3: Available: 1399/2/20, Design Deadline: 1399/2/27, Code + Report Submission Deadline: 1399/3/11, 11:59PM.
Course Material: This is a tentative class schedule
- Lecture 1- Overview, User/Kernel virtualization, HW management, protected sharing [PDF]
- Lecture 2- Four Fundamental Concepts of Operating Systems [PDF]
- Lecture 3- Process concepts, mechanisms, and representation [PDF]
- Lecture 4- Threads, Concurrency, and Synchronization [PDF]
- Lecture 5- Concurrency and Mutual Exclusion [PDF]
- Lecture 6- Synchronization: locks and Semaphores [PDF]
- Lecture 7- Semaphores, Monitors and readers/writers [PDF]
- Lecture 8- Introduction to I/O, Sockets, Networking [PDF]
- Lecture 9- Sockets/Networking (Con't), Scheduling [PDF]
- Lecture 10- Scheduling(Con't) [PDF]
- Lecture 11- Scheduling (finished), Deadlock [PDF]
- Lecture 12- Address Translation [PDF]
- Lecture 13- Address Translation(Con't), Caching and TLBs [PDF]
- Lecture 14- Caching and TLBs (Finished), Demand Paging (start) [PDF]
- Lecture 15- Demand Paging [PDF]
- Lecture 16- Demand Paging (Finished), General I/O, Storage Devices [PDF]
- Lecture 17- Performance, Storage Devices, Queueing Theory [PDF]
- Lecture 18- Queueing Theory (Con't), Disk Scheduling, FileSystems [PDF]
- Lecture 19- File Systems (Con't), Distributed File Systems [PDF]
- Lecture 20- Filesystems, Reliability, Transactions [PDF]
- Lecture 21- Filesystems (Con't), End-to-End Arguments, Distributed Decision Making [PDF]
- Lecture 22- Distributed Decision Making (Finished), Distributed File systems, Key-value stores [PDF]
- Lecture 23- Distributed File Systems (Con't), Key-value stores, Chord [PDF]