By the end of the course students will learn fundemantal concepts, organization, components, and basic algorithms of operating systems.
Introduction to Operating Systems. Memory Management. Process Management. Concurrent Processes. Deadlocks. Processor Management. I/O and Device Management. File Management and File Systems. Introduction to Distributed Operating Systems. Synchronization in Distributed Systems. Distributed File Systems. Overview of contemporary OS technology.
Implementation of an auction server using inter-process communication.
Implementation of an elevator using threads.
Implementation of a simple shell that reads from an ext2 image.