Operating Systems, Networks and Distributed Systems

Module code: CO2017

Module co-ordinator: Gilbert Laycock

An operating system forms the interface between the computer's hardware and the user. Examples include Windows NT (and subsequent versions), Linux (and other versions of Unix), and MacOS. The operating system has many tasks, such as: managing processes; allocating processor time between different processes; allocating the memory between different processes; organising input and output; and managing files. The operating system is responsible for protecting the user from other users, and where possible from himself/herself.

In the first part of this module you will study how these tasks are carried out in modern computers, and why it is desirable to link together distributed systems to form a single unit.

Linking computers so they may communicate is very much a part of modern life; in the second part of this module you will study the science underpinning such communications. We will consider the underlying physical media, how data is represented, how errors in transmission can be detected and dealt with, how information is routed over a large network, and the details of some actual networks which yield distributed computing systems.


  • 30 hours of lectures
  • 10 hours of surgeries
  • 20 hours of labs


  • Coursework (40%)
  • Exam (60%)