• introduction to multiprocessing, fork, **wait****pid**, execvp, process ids, inter-process communication, context switches, user versus supervisor mode.
  • protected address spaces, virtual memory, main memory as cache, virtual to physical address mapping.
  • concurrency versus parallelism, multiple cores versus multiple processors, concurrency issues with multiprocessing.
  • interrupts, faults, systems calls, signals, design and implementation of a simple shell.
  • virtualization as a general systems principle, with a discussion of processes, RAID, load balancers, AFS servers and clients.