I/O management, memory management, processor management, device management, and performance measurement/evaluation are examined. Other operating systems, theoretical and current, are discussed. Prerequisite: C.S. 2156 and C.S. 3316. (2nd)
Expectations:
E1. The student should understand commonly used data structures such as queues, stacks, and trees.
E2. The student should have a high-level understanding of how a processor works.
E3. The student should be able to quickly learn to write programs in the C programming language.
Course Outcomes:
R1. Students will learn that an operating system acts as an extended machine and as a resource manager. (CS/SE15)
R2. Students will learn the major trends in the history and development of operating systems. (CS/SE8)
R3. Students will learn how the operating system depends on and interacts with the hardware (privilege levels, interrupts, memory protection, etc.). (CS/SE3, CS/SE15)
R4. Students will learn how operating systems create, schedule, and manage processes. (CS/SE3, CS/SE15)
R5. Students will learn how operating systems provide mechanisms for sharing resources between processes and inter process communication: race conditions, critical sections, mutual exclusion, semaphores, monitors, message passing. (CS/SE3, CS/SE15)
R6. Students will learn how operating systems manage input and output devices. (CS/SE3, CS/SE15)
R7. Students will learn how operating systems manage memory, with an emphasis on virtual memory and paging. (CS/SE3, CS/SE15)
R8. Students will learn how operating systems manage file systems. (CS/SE3, CS/SE15)
R9. Students will write computer programs that will make use of the services offered by an operating system and made minor changes to an actual operating system. (CS/SE15)
R10. Students will research an active topic in operating systems research, will write a paper based on their research, and will present the paper to the rest of the class. (CS/SE5)
|