CSci 5473: Applied Operating System
Home Page
Spring, 2007

This page last updated: Fri May 04 18:00:00 MST 2007

This course focuses on OS design, analysis, and implementation techniques. It has a significant programming and practice component, primarily experimenting with Linux kernel internals. There will also be a software course project. You are not required to have taken an undergraduate OS course prior to enrolling in this course, although if you have not done so, you may find it necessary to do extra reading (from the optional textbook).

LATE BREAKING NEWS


FYI: General Interest Announcements


General Information


Course Plan


    Week of January 15
  1. Tue: Logistics; Concurrency; Using processes [2, Ritchie and Thompson]
  2. Thur: Using processes [2]
    Week of January 22
  3. Tue: Using threads [2, pthreads]
  4. Thur: Using synchronization [8]
    Friday (January 26): Assignment No. 1 is due at 8:00 am today. Write a README text document that describes anything you want the grader to know about your solution, e.g., your approach, how to compile it, or special instructions to use a feature. Include a file with test output that illustrates how your program solves each part of the assignment. You will have prepared multiple files for your solution (at least a README, output, and a .c file). Package all files using tar and gzip then attach the tar/zip file to a mail message and send it to nutt@cs.colorado.edu. Late homework will not be accepted.
    Week of January 29
  5. Tue: Computer Organization[4, 5]
  6. Thur: Kernel organization [6, Linux source code]
    Week of February 5
  7. Tue: Process management [ Linux source code]
  8. Thur: Process management [ Linux source code]
    Assignment No. 2 is due at 6:00 pm today. Prepare your submission package as for Assignment No. 1. N.B. You are to use the pthread primitives mentioned in class. You should not use kernel semaphores (semaphore.h) to solve this assignment -- it is an exercise to solve a classic synchronization problem using only the pthread mutex, condition variable, and/or read-write lock. Late homework will not be accepted.
    Week of February 12
  9. Tue: Scheduling [7]
  10. Thur: Real-time scheduling [ Stankovic, et al.]
    Week of February 19
  11. Tue: Implementing synchronization mechanisms
  12. Thur: Interprocess communication (IPC) [9]
    Assignment No. 3 is due at 6:00 pm today. Here are some useful build notes prepared by Adam Manzanares. Prepare your submission package as for Assignment No. 1.
    Week of February 26
  13. Tue: Memory managment[11]; Virtual memory [12]
  14. Thur: Virtual memory [ Lecture Notes]
    Week of March 5
  15. Tue: Midterm Exam. The exam will cover material addressed in lectures through Feb. 27 (including the parts of the Linux source code discussed in lecture), material related to assignments 1-3, and the assigned reading (i.e., the papers whose links appear in this course plan).
  16. Thur: Virtual Memory [ Lecture Notes]; Networks [ Lecture Notes]
    Week of March 12
  17. Tue: Networks [ Lecture Notes]
  18. Thur: Networks; Distributed Systems [ Lecture Notes]
    Assignment No. 4 is due at 6:00 pm today. Prepare your submission package as for Assignment No. 3.
    Week of March 19
  19. Tue: Distributed Systems [ Lamport]
  20. Thur: Storage systems [ Lecture Notes, Patterson, et al., Lee & Thekkath, ]
    Week of March 26: Spring Break
    Week of April 2
  21. Tue: File Manager [13, Lecture Notes]
    Form a group for the course project. Prepare an informal project proposal (less than a page long) and submit to the instructor by today. See the Project Proposal for more information.
  22. Thur: File Manager
    Assignment No. 5 is due at 6:00 pm today. Prepare your submission package as for Assignment No. 3.
    Week of April 9
  23. Tue: Remote File Systems [ Lecture Notes]
    Project Plan is due at 6:00 pm today.
  24. Thur: Remote File Systems [ Howard, et al.]
    Week of April 16
  25. Tue: RPC [ Lecture Notes]
  26. Thur: Remote Objects [ Birrell, et al.]
    Project Interim Report is due at 6:00 pm today.
    Week of April 23
  27. Tue: Distributed Shared Memory [ Lecture Notes, Gharachorloo and Adve]; Online FCQs
  28. Thur: Distributed Shared Memory; Protection & Security [14]
    Week of April 30
  29. Tue: Protection & Security
  30. Thur: Protection & Security; Review
    Project Final Report is due at 6:00 pm today.



    May 5 (10:30 AM - 1:00 PM): Final Exam

Archived News Items