Assignments that implements
- Processes and Threads (address spaces, system calls, scheduling)
- Synchronization (algorithms and structures like locks, semaphores, and monitors)
- Virtual Memory (paging, page tables, eviction, segmentation)
- File Systems (the file abstraction, directory structures, and disk I/O)