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
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.
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.
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.
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.
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
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.
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.
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
- Computer architecture and organization study guideGKU 2 · 10 sections
- Circuits and electronics study guideGKU 1 · 8 sections
- Digital design study guideGKU 3 · 10 sections
- Programming and algorithms study guideGKU 9 · 10 sections
- Systems and project engineering study guideGKU 8 · 6 sections
- Computer networks study guideGKU 5 · 9 sections
- Signal processing study guideGKU 7 · 8 sections
- Embedded systems study guideGKU 4 · 8 sections