Explain the key management tasks carried out by the Operating System

5.1 Operating Systems – Purpose and Key Management Tasks (AS 5.1)

Why a computer needs an operating system (OS)

  • It manages limited resources (CPU, memory, storage, I/O devices) so that many programmes can run at the same time without interfering with each other.
  • It provides a stable, abstract interface between the hardware and the user’s applications, hiding the hardware complexity.
  • It offers a user‑friendly interface (graphical UI or command‑line) and basic utilities that let users control the system.
  • It enforces security and protection to keep the system and data safe from unauthorised use.

1. Process Management

The OS creates, schedules, synchronises and terminates processes, ensuring fair and efficient use of the CPU.

  • Process creation & termination – allocates a Process Control Block (PCB), reserves required resources, and releases them when the process ends.
  • Scheduling – selects which ready process receives the CPU next. Common algorithms:

    • First‑Come‑First‑Serve (FCFS)
    • Shortest Job Next (SJN)
    • Round‑Robin (RR) with a time‑slice
    • Priority‑based scheduling

  • Context switching – saves the state of the current process (registers, PC, stack) and restores the state of the next process.
  • Inter‑process communication (IPC) – mechanisms that allow processes to exchange data:

    • Pipes and named pipes
    • Message queues
    • Shared memory
    • Semaphores and monitors (for synchronisation)

  • Deadlock handling – detection, prevention and recovery techniques for circular‑wait situations.

2. Memory Management

Ensures each process has the memory it needs while maximising utilisation of physical RAM.

  • Allocation & deallocation – dynamic assignment of memory blocks to processes; reclamation when a process ends.
  • Virtual memory – gives each process the illusion of a large, contiguous address space.

    • Paging – divides virtual memory into fixed‑size pages; maps pages to frames in physical memory.
    • Segmentation – divides memory into variable‑size logical segments (code, data, stack).

  • Swapping – moves whole processes or individual pages between main memory and secondary storage to free RAM for active tasks.
  • Protection – prevents a process from reading or writing memory that belongs to another process or to the OS.
  • Fragmentation control – deals with internal and external fragmentation; techniques include compaction, paging and memory pooling.

3. File‑System Management

Manages persistent data on secondary storage and presents a hierarchical view to users and applications.

  • File operations – creation, opening, reading, writing, closing, and deletion.
  • Directory structure – usually a tree (or graph) of folders that organises files.
  • File allocation methods:

    • Contiguous allocation
    • Linked allocation
    • Indexed allocation (e.g., FAT, inode tables)

  • Metadata management – stores attributes such as size, timestamps, owner, permissions, and type.
  • Protection and access control – permission bits or Access Control Lists (ACLs) restrict who can read, write or execute a file.
  • Backup & recovery – utilities that copy data to secondary media and restore it after loss.

4. Device Management

The OS abstracts hardware devices, providing a uniform interface for input/output.

  • Device drivers – translate generic OS requests into hardware‑specific commands.
  • I/O scheduling – orders pending I/O requests to improve throughput and reduce latency (e.g., elevator algorithm for disks).
  • Interrupt handling – reacts to hardware interrupt signals, saves the current context, and services the device.
  • Buffering and caching – temporary storage of data to smooth speed differences between CPU and devices.
  • Device allocation – controls exclusive or shared access to peripherals such as printers or scanners.

5. Security & Protection

Enforces policies that keep the system and its data safe from unauthorised use.

  • Authentication – verifies the identity of a user (passwords, biometrics, smart cards).
  • Authorization – determines what an authenticated user is allowed to do (read, write, execute, administer).
  • Access‑control mechanisms – permission bits, ACLs, role‑based access control (RBAC).
  • Encryption – protects data at rest (disk encryption) and in transit (TLS/SSL).
  • Audit trails – records system events, log‑ins, file accesses, and other actions for later review.

6. Utility Software, Program Libraries & Language Translators (AS 5.1 requirement)

  • Utility software (examples) – disk formatter, defragmenter, antivirus scanner, backup manager, system monitor.
  • Program libraries / APIs – standard C library (libc), dynamic‑link libraries (DLLs), graphics and networking APIs, system‑call interface.
  • Language translators – compilers, assemblers and interpreters that convert high‑level code into machine instructions; they are typically supplied as part of the development environment rather than the OS itself, but the OS provides the runtime support they need.

Summary Table – OS Management Tasks (syllabus wording)

Management AreaKey Tasks (one‑line description)
Process managementCreation, scheduling, context switching, IPC, deadlock handling.
Memory managementAllocation, paging/segmentation, virtual memory, swapping, protection.
File‑system managementFile operations, hierarchical directories, allocation methods, metadata, protection, backup.
Device managementDevice drivers, I/O scheduling, interrupt handling, buffering/caching, device allocation.
Security & protectionAuthentication, authorisation, access control, encryption, audit trails.
Utility software, libraries & translatorsDisk formatter, antivirus, backup utility; standard libraries (C, DLLs); compilers/assemblers/interpreters.

Suggested diagram: OS architecture layers – User Interface, Kernel, Scheduler, Memory Manager, File System, Device Drivers, Security Module, Utility Programs & Libraries.

Understanding these management tasks equips you to analyse how operating systems provide a secure, efficient and user‑friendly environment for all computing activities required by the Cambridge 9618 syllabus.