A1.3.1 Describe the role of operating systems.

A1.3.1 Describe the role of operating systems. 
• Operating systems abstract hardware complexities to manage system resources

The big idea

An operating system (OS) is the mediator between fundamental hardware and the programs (and people) that want to use that hardware. Its most fundamental role is to abstract away hardware complexity and to allocate resources safely and efficiently . Everything else the OS does — from drawing windows to encrypting network traffic — serves that overarching purpose.


Unpacking that abstraction

Hardware realityOS abstractionBenefit to programs / users
Millions of bytes arranged in semiconductor cellsVirtual memory (flat, linear address space)Programs see a clean private address space; the OS can protect, relocate and page memory.
Dozens of CPU registers and complex privilege levelsProcess model + system-call interfaceEach process believes it owns a CPU; the kernel switches and protects.
Unstructured blocks on a disk platter or flash cellsHierarchical file systemPersistent, named files and directories independent of physical location.
Heterogeneous buses, controllers and sensorsDevice drivers & unified I/O APISame read/write calls get bytes from a file, a pipe or a network socket.
Contention for CPU, memory, I/O, energySchedulers & allocatorsFairness, priority, real-time guarantees, energy or QoS policies.

Core resource-management responsibilities

  1. Processor management
    Creates, schedules, suspends and terminates processes and threads. Implements context-switching and enforces privilege separation.
  2. Memory management
    Maintains page tables, performs paging/segmentation, enforces protection, and handles allocation/de-allocation.
  3. I/O and device management
    Loads device drivers, mediates direct memory access (DMA), buffers asynchronous I/O, and exposes uniform I/O abstractions.
  4. File-system and secondary-storage management
    Implements naming, directories, metadata, journaling, caching and quota enforcement.
  5. Network stack
    Implements protocol layers (e.g., TCP/IP) in software, integrates sockets with the generic I/O interface, applies firewall and QoS rules.
  6. Security and access control
    Authenticates principals, enforces discretionary/mandatory access-control models, addresses encryption and auditing.
  7. Virtualisation & isolation
    May act as a hypervisor (type 1) or host for containers; isolates guests or namespaces while multiplexing physical hardware.
  8. User interface subsystem
    Provides command-line shells, window servers or system libraries so that application UI code need not address GPUs directly.