Design of Operating Systems


General Material

  1. Syllabus (NEW September 8 2015)
  2. Ubiquitous Presenter Lecture Notes
  3. Ubiquitous Presenter Interactive Tutorial
  4. Piazza Discussion Board
  5. Virtual Box Software for Windows
  6. Operating Systems Virtual Machine
  7. Operating Systems Virtual Machine (On campus link)
  8. Research Paper Assignment (NEW September 8 2015)

Exam Information

  1. Midterm Exam Review Sheet (NEW September 8 2015)
  2. Final Exam Review Sheet (NEW September 8 2015)

Lectures

  1. Course Introduction (NEW September 8 2015)
  2. Review of C and the GCC Compiler Chain (NEW September 8 2015)
    • hello.c
    • respond.c
    • respond.h
    • makefile (NEW September 8 2015)
  3. An Introduction to Operating Systems (NEW September 8 2015)
  4. Operating Systems Structures (NEW September 8 2015)
  5. Operating Systems Structures and Virtual Machines (NEW September 8 2015)
  6. Processes
  7. Process Operations
  8. Communicating Between Processes
  9. Communicating Between Processes Continued
  10. Threads
  11. ATMEGA32 Example Operating System
  12. Threading Challenges
  13. CPU Scheduling
  14. Process Synchronization
  15. Semaphores, Monitors, and Condition Variables
  16. Exam Review / Catchup
  17. Midterm Exam
  18. Deadlocks
  19. Deadlocks Continued
  20. Memory Management
  21. Virtual Memory
  22. Thrashing
  23. File Systems Interface 1
  24. File Systems Interface 2
  25. File System Implementation
  26. I/O Systems
  27. Protection
  28. Security
  29. Review for final exam

Labs

  1. Lab 1: Getting used to Linux (NEW September 8 2015)
  2. Lab 2: A Linked List in C (NEW September 8 2015)
  3. Lab 3: A UNIX Word Counter - Part 1 (NEW September 8 2015)
  4. Lab 4: A UNIX Word Counter - Part 2 (NEW September 8 2015)
  5. Lab 5: Lets Chat: A lab where two partners can talk to each other. (NEW September 8 2015)
  6. Lab 6: A Dynamic Memory Manager. (NEW September 8 2015)

Videos

  1. Installing and starting your Virtual Box Virtual machine (NEW September 8 2015)
  2. Installing Guest Additions to your Virtual Box Virtual Machine (Needed for file sharing with Windows) (NEW September 8 2015)
  3. Developing with Emacs (NEW September 4 2015)
  4. Debugging with gdb (A basic tutorial) (NEW September 4 2015)
  5. Debugging with gdb (A second tutorial) (NEW September 4 2015)