Course Description: The course covers fundamental aspects of operating systems: management of resources such as CPU, memory space and peripheral devices. Topics include concurrent processes, mutual exclusion, process communication, cooperation, deadlocks, semaphores, scheduling, and and protection. The course also highlights important aspects of operating systems such as UNIX, Windows, etc. And, these are my programming assignments in this course in the Fall 2022-2023 term at Sabanci University, Istanbul, Turkey.
- Introduction to Computer Systems
- Processes and Program Virtualization
- Scheduling
- Memory Virtualization
- Paging and Swapping
- Concurrency
- Synchronization Mechanisms
- I/O Management
- Persistent Storage