CSCI 460


Operating Systems

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; Corequisite: CSCI 361 (2nd)

Course generally offered spring (2nd) semester.

Expectations:

E1. The student should understand commonly used data structures such as queues, stacks, and trees. (CSCI 332)

E2. The student should have a high-level understanding of how a processor works. (CSCI 361)

E3. The student should be able to quickly learn to write programs in the C programming language. (CSCI 332)

Course Outcomes:

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. (CS: 5-1; SE: 7)

R2. Students understand the major trends in the history and development of operating systems. (CS: 5-1; SE: 7)

R3. Students know how operating systems create, schedule, and manage processes. (CS: 5-a-4)

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. (CS: 5-a-4, 6)

R5. Students know how operating systems manage input and output devices. (CS: 5-a-4)

R6. Students know how operating systems manage memory, with an emphasis on virtual memory and paging. (CS: 5-a-4)

R7. Students know how operating systems manage file systems. (CS: 5-a-4)

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. (CS: 5-1, 2, 5-a-4; SE: 1, III-1-2-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. (CS: 3, 5-a-4; SE: 3)