- Department of Computer Science
- Vision, Mission, & Values
- Degrees & Programs
- Courses
- First Year Transfer Students
- Current Students
- Prospective Students
- Faculty & Staff
- Professors Emeritus
- Industrial Advisory Board
- Financial Assistance
- Employment Opportunities
- Donate
- Graduate Capstone
- Careers for Majors
- Resources
- Contact Us
- Help for Students
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