MSc Operating Systems

Lecturers:  Morris Sloman and Anandha Gopalan

See Cate for lecture notes.


Course aims are to provide an introduction to the organisation and operation of the operating system software that controls the execution of programs and that manages the resources of a computer.  To provide an understanding of the structures and mechanisms used by the operating system.

  • OS structure: kernel organisation, OS functionality
  • Processes: basic concepts and motivation, process creation and execution, implementation issues,
  • Threads: basic concepts, motivation and implementation mechanisms.
  • Inter-process communication: signals. pipes, sockets, shared memory
  • Process synchronization: critical sections and mutual exclusion, race conditions, locks and semaphores, deadlocks
  • Process and thread scheduling mechanisms
  • Security: threat model, access control and authentication
  • Memory management: logical/physical address spaces, virtual memory, paging, demand paging, page replacement
  • Device management: I/O layers, device independence, device drivers, I/O APIs
  • Disk management: disk storage devices, hardware layout, disk performance and scheduling, RAID caching
  • File systems: files, file system organisation, directories


  1. Modern Operating Systems: Global Edition,4th edition A. Tanenbaum, H. Bos,  Pearson, 2015
    although dated 2015 it has just been published
  2. Operating Systems – Internals and Design Principles, W. Stallings, 8th Edition, Pearson, 2014


I will consider own projects for apps on smartphones, or distributed  systems, security etc.