CE 40-442: Operating Systems
Saturday/Monday 1330-1500
Room: 900 CE Building
Office Hours: Mon 16:30 to 17:00
TAs: Solmaz Salimi
Mohammad Aghamir
Iman Akbari
Afra Amini
Mohammad Fathi
Amirpasha Ghabussi
Fatemeh Hasani
Ali Jafari
Shervin Khastoo
Mohammad Salari
Seyed Hooman Shahrokhi
Soroush Zamani
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.
Policies:
- Grading policy is as follows. This is tentative.
- 25% Homeworks
- 40% Group Homeworks
- 15% Midterm
- 25% Final
There will be no exceptions to the following rules:
- 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. Penlaty may be calculted continusly and per hour of delay.
- Cell Phones must be turned off when you are in class.
- There will be a zero tolerance policy for cheating/copying HWs. 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.
Announcements:
Homeworks:
Group Homeworks:
- GHW 1: GHW1 PintOS document, Available: 1396/7/15, Design Deadline:
1396/7/25 1396/8/1, Code Submission Deadline: 1396/8/7 1396/8/14, Final Report Submission: 1396/8/10 1396/8/16, 11:59PM. - GHW 2: GHW2 Available: 1396/8/13, Design Deadline:
1396/8/26 1396/9/1, Code Submission Deadline: 1396/9/11 1396/9/19, Final Report Submission: 1396/9/13 1396/9/21, 11:59PM. - GHW 3: GHW3 Available: 1396/9/17, Design Deadline:
1396/9/26 1396/10/3, Code Submission Deadline: 1396/10/4 1396/10/11, Final Report Submission: 1396/10/6 1396/10/13, 11:59PM.
Course Material:
This is a tentative class schedule-6/25
- Lecture 1- What is an Operating System [PDF]
-6/27
- Lecture 2- Introduction to the Process [PDF]
-7/1
- Lecture 3- Processes (con’t), Fork, Introduction to I/O [PDF]
-7/3
- Lecture 4- Introduction to I/O, Sockets, Networking [PDF]
-7/10
- Lecture 5- Introduction to Networking (Finished),
Concurrency (Processes and Threads) [PDF]
-7/15
- Lecture 6- Concurrency (Continued),
Synchronization (Start) [PDF]
-7/17
- Lecture 7- Synchronization [PDF]
-7/22
- Lecture 8- Locks, Semaphores, Monitors, and
Quick Intro to Scheduling [PDF]
-7/24
- Lecture 9- Synchronization Continued,
Readers/Writers example,
Scheduling [PDF]
-7/29
- Lecture 10- Scheduling [PDF]
-8/1
- Lecture 11- Scheduling (Finished),
Deadlock, Address Translation [PDF]
-8/6
- Lecture 12- Address Translation [PDF]
-8/8
- Lecture 13- Address Translation (Finished),
Caching [PDF]
-8/13
- Lecture 14- Caching (Finished),
Demand Paging [PDF]
-8/15
- Lecture 15- Demand Paging (Finished) [PDF]
-8/20
- Lecture 16- Demand Paging (Finished), General I/O [PDF]
-8/22
- Lecture 17- Performance
Storage Devices, Queueing Theory [PDF]
-8/27
- Lecture 18- File Systems [PDF]
-8/29
-9/4
-9/11
- Lecture 19- File Systems (Con’t),
MMAP, Buffer Cache [PDF]
-9/13
- Lecture 20- Reliability, Transactions
Distributed Systems [PDF]
-9/18
- Lecture 21- Distributed Decision Making
[PDF]
-9/20
- Lecture 22- Distributed Storage,
Key-Value Stores [PDF]