3 Cr. (Hrs.:3 Lec.)
I/O management, memory management, processor management, device management, and performance measurement/evaluation are examined. Other operating systems, theoretical and current, are discussed. Prerequisite: CSCI 255 and CSCI 332 (2nd)
Course generally offered spring (2nd) semester.
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.
R1. Students understand how the operating system depends on and interacts with the hardware (privilege levels, interrupts, memory protection, etc) and that it acts as an extended machine and a resource manage. (CAC-h; EAC-i)
R2. Students understand the major trends in the history and development of operating systems. (CAC-h; EAC-i)
R3. Students know how operating systems create, schedule, and manage processes. (CAC-i; EAC-k)
R4. Students know how operating systems provide mechanisms for sharing resources between processes and inter process communication: race conditions, critical sections, mutual exclusion, semaphores, monitors, message passing. (CAC-i, CAC-j; EAC-k)
R5. Students know how operating systems manage input and output devices. (CAC-i, EAC-k)
R6. Students know how operating systems manage memory, with an emphasis on virtual memory and paging. (CAC-i; EAC-k)
R7. Students know how operating systems manage file systems. (CAC-i; EAC-k)
R8. Students have written computer programs that make use of the services offered by an operating system and made minor changes to an actual operating system. (CAC-a, c, i; EAC-a, k, SEC-1)
R9. Students have researched a current topic in operating systems, written a paper based on their research, and presented the paper to the rest of the class. (CAC-f, i; EAC-g, k)