CS 481: Syllabus

  • Introduction; functions of an operating system; history
  • Notion of process; process control and pre-emption; the life of a process; scheduling problems; low and high level scheduling
  • Scheduling policies for batch, multiprogramming, and timesharing systems
  • Elementary queueing theory and applications to scheduling and dimensioning
  • Concurrency control: determinism and determinacy; randomness and non-determinism; competition/exclusion and cooperation/synchronization
  • Deadlocks: conditions, detection, prevention, and recovery
  • Concurrency control mechanisms: busy wait, memory interlock, semaphores, monitors, rendez-vous, etc.
  • TEST #1
  • Memory management: allocation, relocation, segmentation
  • The memory hierarchy (including quick overview of caching); paging and page replacement algorithms; working sets and allocation policies
  • Disk allocation and scheduling
  • TEST #2
  • File systems, logical and physical structures
  • General resource management
  • Protection and security; capability-based operating systems
  • Unifying ideas in operating systems: segments (Multics), files (Unix), capabilities (Hydra)
  • FINAL TEST
  • Back to CS 481 home page