Operating Systems in theory and practice. Components in a system: scheduling and resource allocation; process management, multi-programming, multi-tasking; I/O control and file systems; mechanisms for client-server computing and Examples from typical operating systems.