1. Introduction. What Is an Operating System? Types of Operating Systems. Operating System Concepts. Example Operating Systems. Distributed Systems.
2. Memory Management. What Is Memory? Single-User Systems. Fixed Partitions. Variable Partitions. Virtual Memory. Address Translation: Virtual to Real Memory. Memory Protection in Virtual Memory Systems. Segmentation and Paging. Page Replacement Strategies. Process Behavior Under Paging. Working Set Size. Case Study: Memory Management in a Macintosh.
3. I/O Processing. Basic I/O Facilities. I/O Devices and Controllers. Device Drivers. Programmed I/O. Interrupt-Driven I/O. Direct Memory Access. Case Study: VMS I/O Processing.
4. Scheduling. Multiuser Systems. Scheduling Objectives. System View of a Process. Scheduling Strategies. Case Study: Scheduling Under MVS.
5. Concurrency. What Is Concurrency? Mutual Exclusion. Software Approaches to Mutual Exclusion. Dekker's Algorithm. N-Process Mutual Exclusion. Semaphores. Synchronization. Monitors. Multitasking in Ada. Deadlocks. Case Study: Interprocess Communication in UNIX-Pipes.
6. Auxiliary Storage Management. Physical and Logical Records. Disk-Access Scheduling. Account and File Directories. File Access Techniques. Security. Case Study: MS-DOS Disk Management.
7. Modeling. Evaluation Methods. Poisson Processes. Birth and Death Rates. M/M/c Queuing Systems. Case Studies.
8. Case Studies. MS-DOS. UNIX. VMS. MVS.
Appendix A: Operating Systems Project: A Pascal-based Simulator for Running Processes. A.1 - Phase I: Memory Management. A.2 - Phase II: Process Scheduling. A.3 - Phase III: Process Synchronization. A.4 - Phase IV: Future Extensions.