Teaching

MSc Operating Systems

Lecturers:  Morris Sloman and Anandha Gopalan

See Cate for lecture notes.

Syllabus:

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

Textbooks

  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

Projects

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