Course Content
Week 1: Introduction to operating systems
Week 2: OS structures and system calls
Week 3: Processes and threads
Week 4: Synchronization (mutexes, semaphores)
Week 5: Deadlocks
Week 6: CPU scheduling
Week 7: Memory management
Week 8: Virtual memory
Week 9: File systems
Week 10: I/O systems
Week 11: Security and protection
Week 12: Introduction to Linux & review
Learning Outcomes
Upon successful completion of the course, students will be able to:
Understand the structure and functionality of operating systems
Analyze process and thread management
Apply synchronization and inter-process communication techniques
Understand CPU scheduling algorithms
Analyze memory and virtual memory management
Understand file systems and storage
Apply basic security concepts
Use Unix/Linux commands
Develop simple system-level programs
Evaluate system performance