STUDY GUIDE · GKU 6

Systems resource management study guide (Computer Engineering)

A computer has a few cores, a fixed amount of memory and a handful of devices, and many programs that all want them at once. The operating system is the program that shares them out safely and keeps the hardware busy. This unit follows that job down to the hardware: the services an OS provides and the protection that makes them safe, how an interrupt is handled step by step, how the scheduler and dispatcher decide who runs next, how context switches let one core run many tasks, and how the memory hierarchy hides slow storage. The second part turns to parallel hardware, multiprocessors, multicores, SIMD and MIMD machines, shared and distributed memory, and the problems concurrency brings with it: race conditions, deadlock, and the support needed to schedule threads, including simultaneous multithreading inside one core.

Structured by the official ETEC subject standard for this topic: every listed topic and learning outcome, with formulas, figures and worked examples. The full sections are available to members in the app.

SKU 6.1 · Operating systems

  1. What an operating system is for: services, system calls and protection

    The two jobs of an operating system (a cleaner machine for programs, and a fair, safe sharing of the real one), the services it offers, the user and kernel modes the hardware provides to enforce it, and what a system call costs, which is why I/O is buffered.

  2. Interrupt handling: save, identify, service, restore

    What happens, in order, between a device raising an interrupt request and the interrupted program continuing as if nothing happened; how the source is identified; how long it takes in the worst case; and when polling is cheaper than interrupts. The CPU-side mechanics of I/O transfer are in the architecture guide; this section is the operating system's side.

  3. Task scheduling and dispatching: FCFS, SJF, priority and round robin

    Why a multiprogrammed system needs a scheduler and a dispatcher, the criteria they trade (utilisation, throughput, turnaround, waiting, response, fairness), and the classic algorithms in their preemptive and non-preemptive forms, here with the cost of each context switch included. The software-engineering guide (operating systems) covers the same algorithms without switch costs.

  4. Interrupts, dispatching and context switching: how one core runs many tasks

    How the timer interrupt, the process states, the process control block and the dispatcher combine so that one processor appears to run many programs at once, what a context switch costs directly and indirectly, and how the quantum trades that cost against responsiveness.

  5. The memory hierarchy: cache, main memory and virtual memory

    Why memory is built as a hierarchy, what each level (registers, caches, main memory, virtual memory on SSD or disk) contributes, how locality makes the whole behave almost as fast as the top and as large as the bottom, and how to compute the average access time across all levels including page faults. Cache organisation and address translation are taught in the architecture guide.

SKU 6.2 · Mechanisms for concurrent processing

  1. Parallel hardware: multiprocessors, multicores, SIMD, MIMD, shared and distributed memory

    The vocabulary of parallel machines (Flynn's four classes, multiprocessor against multicore, shared against distributed memory), what each organisation costs in programming effort and communication, and Amdahl's law for the speedup any of them can deliver.

  2. Race conditions and deadlock: what goes wrong when tasks run concurrently

    How a race condition arises from an unprotected read-modify-write, the hardware primitives (atomic instructions, interrupt masking) that make critical sections possible, the four conditions for deadlock, the resource-allocation graph, and the resource count that rules deadlock out.

  3. Scheduling threads and simultaneous multithreading

    What an operating system needs in order to schedule many threads (thread control blocks, kernel-visible threads, run queues per core, a timer, cheap switches and blocking primitives), and how simultaneous multithreading lets one superscalar core issue instructions from several threads in the same cycle, with the issue-slot arithmetic that shows what it gains.

MORE COMPUTER ENGINEERING GUIDES

All study guides

Read the full guide beside your practice questions.

Open the app