Lecture Description
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.
Course Index
- Introduction, What is an Operating System Anyway???
- Concurrency: Processes, Threads, and Address Spaces
- Thread Dispatching
- Cooperating Threads
- Synchronization
- Readers-Writers; Language Support for Synchronization
- Tips for working in a Project Team/ Cooperating Processes and Deadlock
- Deadlock (continued) - Thread Scheduling
- Scheduling (continued) - Protection: Kernel and Address Spaces
- Address Translation
- Address Translation 2, Caching and TLBs
- Caching and TLBs 2, Caching and Demand Paging
- Page Allocation and Replacement
- Page Allocation and Replacement 2, Survey of I/O Systems
- File Systems and Disk Management
- Queueing Theory, Filesystems
- Filesystems, Naming, and Directories
- Networks and Distributed Systems
- Network Protocols
- Network Protocols III
- Network Communication Abstractions/RPC
- Protection and Security in Distributed Systems II
- ManyCore OS and Peer-to-Peer Systems