CS 4560 OPERATING SYSTEMS (4) 2005 Catalog Description: Principles of operating system design and implementation. Concurrent processes, interprocess communication, job and process scheduling; deadlock. Issues in memory management (virtual memory, segmentation, paging) and auxiliary storage management (file systems, directory structuring, protection mechanisms). Performance issues. Case studies. Prerequisites: CS 3430, CS 3240 Course Description: Concurrent processes: context switching, process control block, program counter heavyweight versus lightweight Process state: ready, running, suspended Short-term (CPU) scheduling: ready queue, preemptive versus nonpreemptive Long-term (Memory) scheduling: job queue, degree of multiprogramming CPU scheduling algorithms: FIFO, Priority, Round Robin, Shortest-Job-First System calls Interprocess communication (IPC) Threads Process synchronization: critical sections, semaphores, deadlock Classical problems: Dining Philosophers Producer-Consumer Readers-Writers Logical versus physical memory Contiguous allocation Virtual memory: page table, page fault, valid bit, dirty bit, frames, demand paging backing store, thrashing, global versus local allocation Page replacement algorithms: FIFO, Least-Recently-Used, Stack, Optimal, Counting Second-chance (clock), Additional-Reference-Bits Working set: Locality of reference Performance issues: waiting time, utilization, throughput, response time Implementation issues: semaphore code, scheduling code, page replacement code Segmentation, cover if time Interrupts, cover if time I/O subsystem, cover if time File subsystem, cover if time Texts: Silberschatz and Galvin: Operating Systems Concepts Tanenbaum and Woodhull: Operating Systems - Design and Implementation Deitel: Operating Systems Stallings: Operating Systems