This course provides an introduction to the fundamental concepts in operating systems.
CS 310 (Data Structures) and CS 367 (Computer Systems & Programming) and CS 465 (Computer Architecture). Students are expected to be comfortable with programming in C.
The required textbook for this class is Operating Systems in Depth: Design and Programming by Thomas Doeppner (Wiley, 2011).
Week 1: | Introduction; Processes & Threads |
Week 2 | Concurrent Programming |
Week 3: | Concurrent Programming (cont'd) |
Week 4: | Basic Concepts; OS Design - Virtual Machines and Microkernels | Week 5: | OS Design - Virtual Machines and Microkernels (cont'd) |
Week 6: | CPU Scheduling & Deadlocks |
Week 7: | File Systems and I/O |
Week 8 | Spring Break |
Week 9 | File Systems and I/O (cont'd) | Week 10: | Midterm Review and Midterm |
Week 11: | Memory Management and Virtual Memory |
Week 12: | Memory Management and Virtual Memory (cont'd) |
Week 13: | Networks and Distributed Systems |
Week 14: | Distributed File Systems |
Week 15 | Distributed File Systems (cont'd) |
The grade for the course will be based on the following components: (i) Programming assignments (50%) (ii) Mid-term exam (20%) (iii) Final exam (30%).
All exams are closed book. The final exam will be comprehensive in nature, i.e., it will cover the whole course. In order to obtain an A, your final score should at least be 85%. A score below 50% will result in an F.
Mid-term exam: March 26 (subject to change) Final exam: May 12, 10:30 AM - 1:15 PM.
There will be five assignments, the first two of which will have to be completed individually by each student. The assignments will involve designing and implementing parts of an actual operating system called OS/161. You need to be relatively comfortable with programming in C to complete these assignments.
You are expected to abide by the University's honor code and the CS department's honor code and academic integrity policy during the semester, i.e., collaboration on a programming assignment is unacceptable. Any violation of the honor code will result in a referral to the honor council with a recommendation that the student be awarded an F for the class.
NOTE: I will be using MOSS to detect plagiarism in the programming assignments.
Office hours will be on Wednesday from 2-4 pm in my office (Room 4300, Nguyen Engineering Building), or by appointment.
All handouts and other course material will be available at the Blackboard page for the course
If you're planning to use the computers on campus for doing your projects, please obtain an Volgenau School labs Linux account. Your project will be graded on the VSE labs Linux server, so if you plan to use your own computers for the project, you will need to use an identical Linux environment.