Operating System Syllabus
Course Overview:
This course provides an introduction to the fundamental concepts of operating systems. It
focuses on process management, memory management, file systems, and input/output
systems, as well as more advanced topics like concurrency, synchronization, and virtual memory.
Week 1: Introduction to Operating Systems
Topics:
o What is an Operating System?
o Types of Operating Systems: Batch, Multi-programming, Time-sharing, Real-time
o Basic Functions of an OS: Process Management, Memory Management, File
Systems, Device Management
o OS Architecture: Monolithic, Microkernel, Modular
o System Calls and OS Interface
Reading:
o Chapter 1 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 2: Process Management
Topics:
o Processes and Threads: Definition and Differences
o Process Control Block (PCB)
o Process Scheduling: Short-Term, Long-Term, Medium-Term Scheduling
o CPU Scheduling Algorithms: FCFS, SJF, Round Robin, Priority Scheduling
o Context Switching and Multitasking
Reading:
o Chapter 3 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 3: Process Synchronization and Concurrency
Topics:
o The Critical Section Problem
o Synchronization Mechanisms: Semaphores, Mutexes, Monitors
o Producer-Consumer Problem, Readers-Writers Problem
o Deadlock: Conditions for Deadlock, Prevention, Avoidance, and Detection
o Liveness and Starvation
Reading:
o Chapter 6 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 4: Memory Management
Topics:
o Memory Hierarchy and Caching
o Memory Allocation Techniques: Contiguous, Paging, Segmentation
o Virtual Memory: Concept and Benefits
o Page Replacement Algorithms: FIFO, LRU, Optimal
o Thrashing and Working Set Model
Reading:
o Chapter 8 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 5: File Systems
Topics:
o File System Concepts: Files, Directories, Metadata
o File System Interface: File Operations, File Access Methods
o Disk Management: Block Allocation, Free Space Management
o File Allocation Methods: Contiguous, Linked, Indexed
o File System Consistency and Journaling
Reading:
o Chapter 9 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 6: Input/Output Systems
Topics:
o I/O Devices and their Characteristics
o I/O Scheduling: First Come First Served, Shortest Seek Time First
o Disk Scheduling Algorithms
o Interrupt Handling and Device Drivers
o Buffering, Spooling, and I/O Performance
Reading:
o Chapter 11 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 7: Deadlock
Topics:
o Understanding Deadlock: Definition, Necessary Conditions
o Deadlock Detection and Recovery
o Deadlock Prevention and Avoidance (Banker's Algorithm)
o Resource Allocation Graphs
o Real-World Deadlock Examples and Solutions
Reading:
o Chapter 7 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 8: Advanced Memory Management
Topics:
o Advanced Paging Techniques: Inverted Page Tables, Page Tables for Large Address
Spaces
o Segmentation and Segmented Paging
o Demand Paging and Page Faults
o Memory Protection, Sharing, and Mapping
o Shared Memory and Memory-Mapped Files
Reading:
o Chapter 8 (Advanced) of Operating System Concepts by Silberschatz, Galvin, and
Gagne
Week 9: Virtualization and Containers
Topics:
o Introduction to Virtualization: Concepts, Benefits
o Hypervisors: Type 1 (Bare Metal) vs. Type 2 (Hosted)
o Virtual Machine Management and Scheduling
o Containers: Docker, Kubernetes
o Virtual Memory and Containerization
Reading:
o Virtualization and Cloud Computing by X. Li et al. (Selected Chapters)
Week 10: Security and Protection
Topics:
o Security Threats in Operating Systems
o Authentication and Authorization
o Cryptography Basics: Symmetric and Asymmetric Encryption
o Access Control Mechanisms: ACLs, Capability Lists
o Secure Operating System Design and Principles
Reading:
o Chapter 14 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 11: System Performance and Optimization
Topics:
o OS Performance Metrics: Throughput, Latency, CPU Utilization
o Process and Thread Performance Optimization
o Disk and I/O Performance Optimization
o Memory Hierarchy Optimization
o CPU Scheduling and Load Balancing
Reading:
o Chapter 15 of Operating System Concepts by Silberschatz, Galvin, and Gagne
Week 12: Case Studies and Real-World OS Applications
Topics:
o Case Study: Unix/Linux Operating System
o Case Study: Windows OS Architecture
o OS for Embedded Systems
o Mobile Operating Systems: Android, iOS
o Cloud Operating Systems
Reading:
o Research papers and technical articles on OS case studies