The University of Arizona

Courses

CS 452: Principles of Operating Systems


Objective
  • To teach the basics of uniprocessor operating systems.
Pre-Conditions
  • [CS127b/CS227] Simple data structures: linked lists, stacks, queues, hash tables
  • [CS127b/CS227] Recursion
  • [CS340] Basic machine organization
  • [CS340] Basic virtual memory mechanisms
  • [CS340] Interrupts and traps
  • [CS340] Unix execution model
  • [CS340] Heap allocation
  • [CS340] Facility with ~500 line C programs
  • [CS318] UNIX tools: make, gdb, rcs, etc.
Post-Conditions
(Topics)
  • [1 week] OS overview, process abstraction
  • [2 weeks] Process synchronization, semaphores
  • [1 week] Monitors and messages
  • [1 week] Process scheduling & I/O devices
  • [1 week] Deadlock
  • [1 week] Memory allocation: stack, heap,
  • [2 weeks] Virtual Memory - segmentation, paging, replacement policies, thrashing
  • [1 week] File systems
  • [1 week] Protection and security; encryption
  • [1 week] Multiprocessor OS; threads
  • [2 weeks] Advanced topics: networks, distributed OS, network file systems
  • Large (>1000 lines) project in C.



Last revised on 29 April 1997 by John H. Hartman.