Background - definition of operating systems, overview of O/S facilities, summary of UNIX and MS-DOS; the basics - relationship to hardware, use of firmware, functions of the kernel, introduction to concept or "process"; user interface - types of "user", command languages, graphical user interfaces (GUIs), job control languages, system calls, introduction to UNIX Shell and MS-DOS commands; process management - multiprogramming, multitasking and multiprocessing, high- and low-level schedulers, resource allocation, scheduling algorithms, process states and state diagrams, introduction to concurrency; memory management - sharing memory space between processors, relocatability, types of memory allocation, working set principle, memory protection; input-output - relationship with hardware, problems of speed disparity, buffering, I/O procedures, device handlers, device independence, error handling; file system facilities - notion of "file", file types, filing system, management of file space and free space, system services; interaction of concurrent processes - competing and co-operating processes, deadlocks and starvation, semaphores and monitors, UNIX process facilities; other systems - O/S requirements for networks, introduction to distributed systems, multiprocessor systems, virtual machine environments; management of operating systems - charging for resources, system administration, measurement of performance, tuning; security and integrity - nature of threats to system and data, access controls, file back-up techniques, security in networks, viruses, worms, Trojan horses.