Operating Systems and System Programming Course

Operating Systems and System Programming

John Kubiatowicz
Berkeley

Course Description

Basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and privacy.

Lectures

  1. Introduction, What is an Operating System Anyway???  Lecture favorites
  2. Concurrency: Processes, Threads, and Address Spaces  Lecture favorites
  3. Thread Dispatching  Lecture favorites
  4. Cooperating Threads  Lecture favorites
  5. Synchronization  Lecture favorites
  6. Readers-Writers; Language Support for Synchronization  Lecture favorites
  7. Tips for working in a Project Team/ Cooperating Processes and Deadlock  Lecture favorites
  8. Deadlock (continued) - Thread Scheduling  Lecture favorites
  9. Scheduling (continued)  - Protection: Kernel and Address Spaces  Lecture favorites
  10. Address Translation  Lecture favorites
  11. Address Translation 2, Caching and TLBs  Lecture favorites
  12. Caching and TLBs 2, Caching and Demand Paging  Lecture favorites
  13. Page Allocation and Replacement  Lecture favorites
  14. Page Allocation and Replacement 2, Survey of I/O Systems  Lecture favorites
  15. File Systems and Disk Management  Lecture favorites
  16. Queueing Theory, Filesystems  Lecture favorites
  17. Filesystems, Naming, and Directories  Lecture favorites
  18. Networks and Distributed Systems  Lecture favorites
  19. Network Protocols  Lecture favorites
  20. Network Protocols III Lecture favorites
  21. Network Communication Abstractions/RPC  Lecture favorites
  22. Protection and Security in Distributed Systems II  Lecture favorites
  23. ManyCore OS and Peer-to-Peer Systems  Lecture favorites
Leave Feedback