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