CE 40-424: Operating SystemsSaturday/Monday 1330-1500
Room: 900 CE Building
Office Hours: Sat 16:30 to 17:00
TAs: Solmaz Salimi
Aryan Tajmirriahi (Unsatisfactory Performance)
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 ourse 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 loose 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 1396/9/5, up to "Caching" (lecture 13, slide 27).
- Midterm + Final Grades
- HW0, Available: 1397/6/31, Deadline: 1397/7/9, 11:59PM.
- HW1, Available: 1397/7/14, Deadline: 1397/7/30, 11:59PM.
- HW2, Available: 1397/8/5, Deadline: 1397/8/21, 11:59PM.
- HW3, Available: 1397/9/10, Deadline: 1397/9/26, 11:59PM.
- GHW 1: GHW1 PintOS document, Available: 1397/7/21, Design Deadline: 1397/7/30, Code Submission Deadline: 1397/8/9, Final Report Submission: 1397/8/12, 11:59PM.
- GHW 2: GHW2 Available: 1397/8/12, Design Deadline: 1397/8/21, Code Submission Deadline: 1397/8/30, Final Report Submission: 1397/9/3, 11:59PM.
- GHW 3: GHW3 Available: 1397/9/10, Design Deadline: 1397/9/19, Code Submission Deadline: 1397/9/28, Final Report Submission: 1397/10/1, 11:59PM.
Course Material: This is a tentative class schedule
- Lecture 1- What is an Operating System [PDF]
- Lecture 2- Introduction to the Process [PDF]
- Lecture 3- Processes (con’t), Fork, Introduction to I/O [PDF]
- Lecture 4- Introduction to I/O, Sockets, Networking [PDF]
- Lecture 5- Introduction to Networking (Finished),
Concurrency (Processes and Threads) [PDF]
- Lecture 6- Concurrency (Continued),
Synchronization (Start) [PDF]
- Lecture 7- Synchronization [PDF]
- Lecture 8- Locks, Semaphores, Monitors, and
Quick Intro to Scheduling [PDF]
- Lecture 9- Synchronization Continued,
- Lecture 10- Scheduling [PDF]
- Lecture 11- Scheduling (Finished),
Deadlock, Address Translation [PDF]
- Lecture 12- Address Translation [PDF]
- Lecture 13- Address Translation (Finished),
- Lecture 14- Caching (Finished),
Demand Paging [PDF]
- Lecture 15- Demand Paging (Finished) [PDF]
- Lecture 16- Demand Paging (Finished), General I/O [PDF]
- Lecture 17- Performance
Storage Devices, Queueing Theory [PDF]
- Lecture 18- File Systems [PDF]
- Lecture 19- File Systems (Con’t),
MMAP, Buffer Cache [PDF]
- Lecture 20- Reliability, Transactions
Distributed Systems [PDF]
- Lecture 21- Distributed Decision Making
- Lecture 22- Distributed Storage,
Key-Value Stores [PDF]