What does an operating system actually do, and how does it manage memory, interrupts and the processor's time?
The functions of an operating system: memory management (paging, segmentation, virtual memory), interrupts and the interrupt service routine, scheduling algorithms, and the distinction between systems software (operating systems, utilities) and application software.
An OCR H446 answer on the functions of an operating system: memory management with paging, segmentation and virtual memory, interrupts and the interrupt service routine, scheduling algorithms, and the difference between systems software (operating systems and utilities) and application software.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
OCR wants the core jobs of an operating system, with detail on memory management (paging, segmentation, virtual memory), how interrupts are detected and serviced, and the common scheduling algorithms. You must also separate systems software (the OS and utilities) from application software. Expect a long levels-of-response question on scheduling or memory management.
The answer
What an operating system does
Memory management
Interrupts
Scheduling and software types
Examples in context
A phone running dozens of apps relies on scheduling and paging to feel responsive on limited RAM. When you press a key while a download runs, an interrupt lets the keystroke be handled immediately. Disk thrashing is the visible symptom of too little RAM, where the machine slows to a crawl as it pages constantly. OCR links this content to the difference between multitasking and real-time operating systems, and to the distinction between the OS (systems software) and the applications it hosts.
Try this
Q1. State two functions of an operating system. [2 marks]
- Cue. Any two of: memory management, scheduling, I/O/device management, file management, security, user interface.
Q2. Explain one advantage and one disadvantage of the shortest job first scheduling algorithm. [2 marks]
- Cue. Advantage: minimises average waiting time. Disadvantage: long jobs can be starved, and the burst time must be known or estimated.
Q3. Classify a disk defragmenter as systems or application software and justify your answer. [2 marks]
- Cue. Systems software (a utility): it maintains and optimises the computer rather than performing a user task.
Exam-style practice questions
Practice questions written in the style of OCR exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
OCR 20208 marksA multitasking operating system must share a single processor between many programs. Discuss the use of scheduling algorithms, including round robin and shortest job first, to manage this.Show worked answer →
Levels-of-response question; reward a developed discussion comparing algorithms and reaching a judgement.
The scheduler decides which ready process gets the CPU next, aiming to maximise throughput, keep the CPU busy, give fair access and keep interactive response quick. Round robin gives each process a fixed time slice (quantum) in turn, so it is fair and responsive for interactive use, but ignores job length and adds context-switch overhead. Shortest job first runs the process with the smallest burst next, minimising average waiting time, but it can starve long jobs and needs the run time to be known or estimated. First come first served is simple but a long job blocks short ones (the convoy effect).
A real OS often blends approaches, for example multilevel feedback queues, to balance responsiveness for interactive tasks against throughput for batch work. Top marks need at least two algorithms compared with their trade-offs and a justified overall view.
OCR 20225 marksExplain how an interrupt is handled by the processor, referring to the interrupt service routine and the role of the stack.Show worked answer →
Award marks for the ordered handling steps (up to 5).
A device or condition raises an interrupt by setting a line on the control bus. At the end of the current fetch-decode-execute cycle the processor checks for interrupts. If one is present and of high enough priority, the processor saves its current state (the contents of the registers, including the PC) by pushing them onto the stack. It then loads the address of the appropriate interrupt service routine (ISR) and executes it to service the device. When the ISR finishes, the saved state is popped from the stack so the interrupted program resumes exactly where it left off. Markers reward checking at the end of the cycle, saving state to the stack, running the ISR, and restoring state.
Related dot points
- The structure and function of the processor: the arithmetic logic unit, control unit, registers (PC, ACC, MAR, MDR, CIR), buses (data, address, control), and the fetch-decode-execute cycle in the von Neumann architecture.
An OCR H446 answer on the structure and function of the processor: the ALU, control unit, the five registers (PC, ACC, MAR, MDR, CIR), the data, address and control buses, and a step-by-step trace of the fetch-decode-execute cycle in the von Neumann architecture.
- Input, output and storage devices: how different input and output devices are used, the characteristics, uses and operation of magnetic, optical and solid-state (flash) storage, the difference between RAM and ROM, and virtual storage.
An OCR H446 answer on input, output and storage devices: how input and output devices are chosen for a task, the operation, characteristics and uses of magnetic, optical and solid-state storage, the difference between RAM and ROM, and what virtual storage means.
- Types of operating system (distributed, embedded, multitasking, multiuser, real-time) and software development methodologies (waterfall, agile, extreme programming, spiral, rapid application development), with their merits and appropriate uses.
An OCR H446 answer on the types of operating system (distributed, embedded, multitasking, multiuser, real-time) and the software development methodologies (waterfall, agile, extreme programming, spiral, rapid application development), with their merits, drawbacks and appropriate uses.
- Programming paradigms (procedural, low-level / assembly and object-oriented), the need for and characteristics of different levels of programming language, and the core principles of object-oriented programming: classes, objects, methods, attributes, encapsulation, inheritance and polymorphism.
An OCR H446 answer on programming paradigms and language levels: procedural, low-level and object-oriented programming, the characteristics of high-level versus low-level languages, and the OOP principles of classes, objects, methods, attributes, encapsulation, inheritance and polymorphism.
- The need for, and the characteristics of, translators (assemblers, compilers, interpreters), the stages of compilation (lexical analysis, syntax analysis, code generation, optimisation), and the role of linkers, loaders and libraries.
An OCR H446 answer on translators and compilation: the characteristics of assemblers, compilers and interpreters, when each is used, the four stages of compilation (lexical analysis, syntax analysis, code generation and optimisation), and the roles of linkers, loaders and libraries.