Operating Systems module (CS21004)

Learn about the inner workings of operating systems and how they allow a computer to run programs

On this page


Module code


Operating systems manage and control a computer's resources, allowing users to run and interact with programs. Their job is to ensure programs run safely and facilitate access to files and input/output (I/O) devices.

By studying the inner mechanisms of operating systems, you can learn to leverage advanced features such as concurrency, which enables multiple programs to run at the same time.

These skills empower you to create more efficient, secure, and scalable programs and computing systems.

What you will learn

In this module, you will:

  • study how operating systems run programs using processes and threads
  • learn about essential aspects of operating system design, such as CPU scheduling, pre-emption, and concurrency
  • examine issues that arise from concurrency and learn about mechanisms to address them
  • learn about distributed systems and I/O scheduling for networks, which are crucial in creating larger computing systems
  • study how operating systems manage files, access to mass storage, and I/O devices

A clear understanding of these concepts will allow you to take advantage of advanced operating system mechanisms in software development, such as multi-threaded applications and socket operations.

By the end of this module, you will be able to:

  • show a broad understanding of how operating systems function
  • demonstrate your understanding of how programs are run and managed by operating systems
  • understand and assess the various mechanisms allowing processes to run concurrently
  • discuss the issues arising from concurrency and appraise mechanisms to address them
  • understand how distributed systems function
  • identify security concerns in computer systems

Assignments / assessment

  • class tests (40%)
  • socket programming (30%)
  • multi-threaded programming (30%)

This module does not have a final exam.

Teaching methods / timetable

You will learn by taking a hands-on approach. This will involve taking part in tutorials and practical sessions.

Learning material is provided through videos, review notes, examples, and tutorial questions.

This is a half-semester module. You will study another 10 credit module during the other half of this semester.


This module is available on following courses: