Textbook needed for the course: (revised JAC 1/00)

Advanced Operating System Concepts, A. Silberschatz, P. Galvin, and G. Gagne

Topical outline of course:

Instruction Set Architectures (2 weeks)
  CISC and RISC: ISA evolution and tradeoffs
  Instruction formats, number of operands, addressing modes
  Controller implementation: state machine vs. microprogramming
  Effect of ISA on microarchitecture implementation
  Effect of ISA on the compiler 

Pipelining (4 weeks)
  Pipelining basics
  Pipeline stages: fetch, decode, execute, memory write-back
  Hazards and solutions
  Branch prediction and delayed branches
  Case Studies

Memory Systems (3 weeks)
  Memory hierarchy
  Basic organization of caches, interleaved memory
  Virtual memory basics, memory management
  Deadlocks
  Segmentation and protection
  Case Studies

Process Management (3 weeks)
  Processes, threads, and CPU scheduling
  Synchronization and concurrency management
  Deadlocks, protection, and security
  Case Studies

I/O Architectures (2 weeks)
  Bus hierarchies, device drives
  Interrupts, DMA, polling
  Disk structures, I/O scheduling
  File allocation and file systems
  LANs, network interfaces, basic interprocessor communciation
  Case Studies

Laboratory Assignments
  Architecture simulation
  Operating system project