Principles of operating systems and recent developments in operating systems research. Virtual memory. Synchronization and communication. File systems. Protection and security. Operating System Structure. Fault tolerance. History and experience in programming systems.