Course Description:
This course builds on lower level topics in process synchronization, inter-process communication and file system organization. It starts with a brief historical perspective of the evolution of operating systems over the last fifty years and then covers the major components of most operating systems, with particular focus on the advanced topics in concurrency, deadlock protection, multiprocessor scheduling, computer system modeling and virtual memory management etc. Discussions in this course will emphasize the balancing between performance and functionality during the design and implementation of an operating system, particularly process management, memory management, file systems and operating system support for distributed systems in the comparative environments of UNIX and Linux operating systems. Simulated lab experiments will be used to illustrate key concepts.
Prerequisites: experiential knowledge of the functionality of operating systems; familiarity with operating systems; experience in systems programming; or knowledge of network systems.
Click Your Browser's Back Button to Return to Previous Screen