CSCI 444/544 Operating Systems (Fall 2008)


Course Description

This is an upper-level undergraduate and first-year graduate course on operating systems. This course introduces the design and implementation of operating system internals, emphasizing on the basic OS concepts and design principles. The covered topics include process and thread, concurrency and synchronization, memory organization and management, external device management, file systems, and system security. A group of two or three students will work on four programming projects. Plus, there will be a few homework assignments, and two (midterm and final) exams


Course Information

Instructor: Haining Wang
Email-ID AT cs.wm.edu: hnw

Time: TR 3:30pm - 4:50pm
Location: McGlothlin-Street Hall 20
Office Hours: WR 1:00pm - 3:00pm, McGlothlin-Street Hall, #105


Teaching Assistant: Derrin Pierret
Email-ID AT cs.wm.edu: dpierret
Office Hours: MT 11:00am - 12:30pm McGlothlin-Street Hall, #108


Grading Policy (tentative)

Grades will be computed as follows: 
    10% Homeworks  
    35% Projects  
    25% Mid-term Exam 
    30% Final Exam 

Prerequisites

  • Students must have completed CSCI 303 and CSCI 315. Students are expected to understand computer organization and data structures, to have extensive C/C++ programming experience, and to be familiar with UNIX.
  • Tentative Schedule

    Required textbooks (available at online bookstores)

    Operating System Concepts (8th Edition)
    Abraham Silberschatz, Peter Galvin and Greg Gagne
    John Wiley & Sons, Inc. ISBN 0-471-69466-5.

    Extra Readings

  • [O96] J. Ousterhout, Why Threads Are A Bad Idea . An Invited Talk at the 1996 USENIX Technical Conference (January 25, 1996)
  • [PDZ99] V. Pai, P. Druschel, and W. Zwaenepoel, Flash: An Efficient and Portable Web Server. Proceedings of USENIX Aunnal Technical Conference'1999.
  • [BCZNB03] R. von Behren, J. Condit, F. Zhou, G. Necula, E. Brewer, Capriccio: Scalable Threads for Internet Services . Proceedings of ACM SOSP'2003.
  • [SBL03] M. Swift, B. Bershad, H. Levy, Improving the Reliability of Commodity Operating Systems . Proceedings of ACM SOSP'2003.