This is an introductory course on operating systems. The goal of the course is to help students understand the functions and design of modern operating systems. The course will cover various OS topics, including processes/threads, CPU scheduling, synchronization, semaphores, monitors, dead lock dectecion and prevention, memory management, virtual memory, file systems, and distributed systems. The course involves system programming under UNIX environment.
Knowledge of C programming language and data structures. EECS 337.
Required: Operating System Concepts (6th edition, Windows XP update), by Silberschatz, Galvin and Gagne, John Wiley Sons, 2003, ISBN: 0-471-25060-0Helpful: Unix : Interprocess Communications in UNIX (2nd edition), by Gray J. S., Prentice Hall, 1998. Note, some students may choose to use the Linux version. That is better.
Instructor: Shudong Jin (Email: jins@case.edu)
Lecture time: Tuesday & Thursday, 2:45-4:00pm; Location: Clapp Hall 108
Office hours: Tuesday & Thursday, 4:00-5:00pm; Office: Olin 502
Recitation leader: Zeynep Erson (Email: eze@case.edu)
Recitation time: Tuesday, 6:00-7:00pm; Location: Clapp Hall 108
Grader: Yixuan Chen (Email: yxc115@case.edu)
Lectures will be given twice each week, and there will be a recitation session on Unix programming per week. Students are expected to attend all the lectures and recitations, and to be responsible for all the materials covered in class. Classes missed due to reasons other than medical conditions may not be made up.There will be 6 assignments. Most of them will be done in UNIX/LINUX environment using C language. You may use your own Linux machine, Smithlab or the department SUNs. However, your code must run on the department servers who run a version of LINUX. The grader will also run your code there. Students can use electronic submission via email to the grader or the instructor. We will use this software system to detect code copying. Assignments are usually due on Tuesdays before class. Late submission of assignements will generally not be accepted, but each student can have one extension of 48 hours for only one assigment.
For each assignment, please send your electronic copies -- source code, makefile, binary code, README, and anything you want the grader to know. This should be done by Midnight of the due date. Hardcopies are not required.
There will be an in-class midterm exam (in the week before the Fall break), and a final exam on December 12, 12:30-3:30pm.
Programming assignments: 40%
Midterm exam: 25%
Final exam: 35%
Exceptional comments/contributions to improve this course while attending the classes will be awarded up to 5% bonus points.