School of Electronic Engineering and Computer Science

ECS518U Operating Systems

Module code: ECS518U

Credits: 15
Semester: SEM2

What is an Operating System for and how does it work? This module prepares you for further studies in systems topics such as distributed systems and high performance computing.

Topics covered include:

  • Computer Architecture
    This theme reviews basic material on computer architecture and covers further topics on interrupts and caching. Compilation, linking and loading are also introduced.
  • Operating Systems
    This theme covers process management, memory management, file systems and I/O. The primary case study will be Linux, but reference will also be made to Windows for comparison. Practical work uses a scripting language and tools for tracing the running system.
  • Concurrency
    This theme introduces core concepts of deadlock and mutual exclusion. It then covers the use of threads in application programs as provided in Java, including the Thread class (and Runnable interface) and use of synchronised methods and the associated methods (wait, notify) of the Object class. Higher-level abstractions from the Java library (package java.util.concurrent) will also be introduced.

Level: 5