253 - Operating Systems

An operating system is a bridge between the user (and what the user wishes to accomplish) and the hardware (and what it needs to do its assigned tasks). This course attempts to remove all the mystery surrounding an operating system, as an intermediary between the user and the hardware, so that the student will have a very clear picture of all the functions of an operating system. The course is an introduction to basic operating system principles. Process management, memory management (real and virtual), peripheral device management, file systems, and distributed systems are introduced and examined from a conceptual viewpoint. Selected aspects of operating systems are explored in greater depth via software simulation projects. A research paper is also required. To introduce students to fundamental concepts and principles of operating systems. We emphasize the functions of operating systems to the computer system, the system operator (user), and variations in the design and implementations of operating systems. Further, we discuss the interplay between the OS and the underlying hardware. Java is used as a technology (more so than a language) to illustrate or demonstrate several OS functions.

Course Syllabus for Operating Systems Class