CS170 : Operating Systems Fall 2012, 4 units http://www.cs.ucsb.edu/∼cs170 Instructor: Prof. Tao Yang, Department of Computer Science (tyang@cs.ucsb.edu, HFH building, Room 5113). Office hours: M W 11-12(or by appointments or just stop by). TA: Wei Zhang (wei@cs.ucsb.edu), Qin Zhou (qinzhou@cs.ucsb.edu). Class code, location, and time: Lec Mon/Wed 2-3:15 Phelp PHELP 1160. Discussion 08607 Tuesday 11:00-11:50 PHELP 1440 or 08615 Wednesday 1:00- 1:50 NH 1109 Description: This course covers the design and implementation of operating systems. The class projects involve extensive C++/C programming to build an operating system with the following functionality: thread management, multiprogramming, virtual memory, and file systems. Prerequisite: Algorithms/data structure, C++/C, Linux or UNIX experience, and basic computer architecture knowledge. Text Book: Operating System Concepts Essentials, by Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. Or you may use “Operating System Concepts” , by Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. 8th edition or 7 edition ( check with me for the previous edition). Publisher: John Wiley & Sons, Inc. Additional reading material: Available from the class web site. Discussion group: TA will create one and will add your emails from the registered student list. Grading (tentative): Practice exercises (8%) Programming Projects (50% total. 10% for Project 1. 20% for Project 2. 20% for Project 3). Midterm (16%), and Final (26%). Tentative Schedule: • Week 1. Introduction to OS. Processes and threads. Students: Get familiar with C++/C and Linux programming such as Makefile. Form project groups (2 persons/group). • Week 2.: Nachos programming projects. Thread Synchronization. • Week 3. More on Synchronization and project 1. • Week 4. Address translation and memory management. File system interface. Project 2. • Week 5. Virtual memory. More on Project 2. • Week 6. File system implementation. Storage. Project 3. • Week 7/8 I/O and storage. More on Project 3. • Week 9. CPU Scheduling. • Weeks 10. Advanced topics and preparation for the final exam. Deadlines: Oct 10 Wed: Project 0 Oct 15 Mon: Exercise set 1 Oct 22 Mon: Project 1 Nov 5 Mon: Midterm exam Nov 9 Wed: Project 2 Nov 14 Mon: Exercise set 2 Nov 29 Mon: Project 3 Dec 3 Mon: Exercise set 3 Dec 8 week: Final exam 1