COMP007 Operating System
First Semester AY 2025-2026

This course serves as an introduction to the fundamental concepts and principles that
form the backbone of modern operating systems. Operating systems are an essential
component of computer systems, providing an interface between hardware and software,
managing resources, and ensuring that applications run efficiently and securely.
In this course, we will explore several key topics:
Introduction to Operating System: We begin by understanding the role and purpose
of operating systems, their evolution, and the various types of operating systems in use
today.
Computer System Structure: This section covers the architecture of computer
systems, including the interaction between hardware and the operating system, and the
concept of system calls.
Process Management: Here, we delve into the mechanisms of process creation,
scheduling, synchronization, and termination, as well as inter-process communication
(IPC).
Storage Management: In this topic, we study how an operating system manages data
storage, including file systems, mass storage, and I/O devices.
Memory Management: We discuss how memory is allocated and managed, focusing
on techniques such as paging, segmentation, and the management of dynamic memory.
Virtual Memory Management: Expanding on memory management, we explore the
concept of virtual memory, including page replacement algorithms and thrashing control.
Deadlocks: This section examines the causes of deadlocks, conditions for deadlock
occurrence, and methods for deadlock prevention, avoidance, and recovery.
File Management: Finally, we cover how the operating system manages files and
directories, including file allocation methods and directory structures.