Operating Systems Design: An introduction to the structure of modern operating systems. Topics include operating systems structure, asynchronism, mutual exclusion, deadlocks, monitors, process state transition, interrupts, context switching, storage management for both real and virtual storage, processor scheduling, multi-processing, auxiliary storage management, computer systems performance, network and security.