Study Guides
Cambridge A Level Computer Science (9618): System Software – Study Guide
Guide to Topic 5 of Cambridge AS Computer Science 9618: operating system tasks, utilities, libraries and DLLs, interrupts, translators and IDE features.
- Subject
- Computer Science
- Level
- AS LEVEL
- Topic
- Topic 5: System Software
- Author
- Marlbridge Academic Team
- Updated
- Reviewed by
- Harris Khan (what this means)
Aligned to Cambridge A Level Computer Science (9618), 2026. Official specification .
Syllabus page (what it covers and how it is assessed): Cambridge A Level Computer Science.
Syllabus points this page covers
9618 (AS Level)
- 5 System Software (whole topic)
- 5.1 Operating Systems
- 5.2 Language Translators
Found an error? Report a correction.
Need help with this topic? Request a free trial class for A Level Computer Science (9618).
System software is the layer of programs that manages the hardware and lets other software run: the operating system, the utilities that maintain the computer, and the translators that turn programs written by people into code the processor can execute. This guide covers both parts of Topic 5 in the AS content, with an emphasis on being able to say precisely what each piece of software does and why it is needed.
Where this fits in the syllabus
Topic 5 is part of the AS Level content of Cambridge 9618 and is examined in Paper 1, Theory Fundamentals. It relies on the hardware in the Hardware guide, since the operating system manages those components. Questions are mostly descriptions and comparisons, so say what the software does and give a consequence.
5.1 Operating systems
System software provides services for the computer; application software carries out tasks for the user. The operating system (OS) is the system software that manages the hardware and provides the platform that other programs run on. Without it, each program would need its own code to drive the screen, disk and keyboard.
What an operating system does
- Hardware management: the OS controls devices through device drivers, which translate general OS requests into commands for a particular device. It also handles interrupts, signals that tell the processor a device needs attention.
- Process management: the OS decides which program the processor runs and for how long, so several programs appear to run at once (multitasking). It shares processor time between them.
- Memory management: the OS allocates main memory to programs, keeps each program’s memory separate so one cannot corrupt another, and releases memory when a program ends. When RAM is full it can use virtual memory held on secondary storage.
- File management: the OS organises files in directories, controls where and how data is stored on a disk, and manages naming, opening, copying and deleting.
- Security management: user accounts and passwords, access rights to files, protection against unauthorised use, and often firewall and anti-malware support.
- Provision of a user interface so that people can control the computer.
User interfaces
A command line interface (CLI) takes typed commands. It is fast for an expert and uses few resources, but the commands must be learned and exactly typed. A graphical user interface (GUI) uses windows, icons, menus and a pointer (WIMP), and is easy to learn and use but needs more memory and processing power. Other interfaces include touch, voice and gesture control, which suit mobile devices and hands-free use but may be less accurate or may be unsuitable in noisy or public places.
Utility software
Utility programs carry out maintenance tasks that the OS does not itself do:
- Disk formatter: prepares a disk for use by creating the structure that the file system needs.
- Virus checker (anti-malware): scans files and incoming data for malicious code and removes or quarantines it.
- Defragmentation software: rearranges the pieces of files on a magnetic hard disk so that each file is in contiguous blocks, which speeds access. It is not needed on solid-state drives, which have no moving heads.
- Disk contents analysis and repair: reports on space used and checks for and fixes disk errors.
- File compression: reduces the size of files to save space or transmission time.
- Back-up software: copies data to another location so that it can be restored after loss, and can be set to run on a schedule or to copy only the changes.
Program libraries and DLLs
A program library is a collection of pre-written, tested routines that a programmer can call rather than write again. This saves time, reduces errors and gives access to complex functions such as graphics. A dynamic link library (DLL) is loaded when the program runs, not built into it, so many programs share a single copy in memory, the executable is smaller, and a library update benefits every program that uses it with no recompilation. The drawback is that a program fails if the library is missing or is replaced by an incompatible version.
Worked example 1: handling a keypress interrupt
A user presses a key while a word processor is running. The sequence is:
- The keyboard sends an interrupt signal to the processor.
- The processor finishes the instruction it is executing, then checks for interrupts at the end of the cycle.
- It compares the priority of the interrupt with the program it is running. A keypress outranks routine work, so the processor continues.
- The contents of its registers are saved so the program can be resumed.
- The OS runs the interrupt service routine (ISR) for the keyboard, which reads the key code and places it in a buffer.
- The saved registers are restored and the word processor carries on from where it stopped.
Without interrupts, the processor would need to poll every device continually, which wastes time.
5.2 Language translators
A processor can only execute machine code, so programs written in other languages must be translated.
- An assembler translates assembly language into machine code, with one machine instruction for each assembly instruction.
- A compiler translates the whole of a high-level program into object code before it is run. The result can be run any number of times without the compiler or the source code.
- An interpreter translates and executes the program one statement at a time and keeps no object code, so the source must be translated again every time it runs.
| Point | Compiler | Interpreter |
|---|---|---|
| When translation happens | Once, before running | During running, every run |
| Speed of execution | Faster | Slower |
| Error reporting | Lists errors across the whole program after compilation | Stops at the first error reached |
| Source code needed to run | No | Yes |
| Best use | Finished programs for distribution | Developing and testing, teaching |
Some languages use a mixture: they compile to bytecode for a virtual machine to interpret.
Worked example 2: one program, two kinds of error
These four lines are run:
print("Start")
total = 10
print("Total is", total)
print(total / 0)
The output is Start and Total is 10, and then the program stops with a division-by-zero error on line 4. A runtime error only happens when the line is reached, so the lines before it ran. Now suppose line 3 had a missing closing bracket. Python reports a syntax error before running anything, so Start is not printed, because Python first translates the entire file to bytecode and so detects syntax errors in advance. A purely line-by-line interpreter would print Start and then stop at the faulty line, while a compiler would report the syntax error and make no object code at all. Behaviour differs between languages, so describe the principle, not one product.
Integrated development environments
An integrated development environment (IDE) brings together the tools a programmer needs. Features you should be able to describe include:
- A code editor with syntax highlighting, auto-completion and auto-indentation, which make code easier to read and reduce typing errors.
- Error diagnostics that highlight mistakes while typing and give messages with line numbers.
- Run-time environment to run and test the program inside the IDE.
- Debugging tools: breakpoints that pause the program at a chosen line, single stepping that runs one statement at a time, and variable watch or report windows that show values as they change.
- Pretty printing that lays out code in a standard format.
- An in-built translator (compiler or interpreter).
Common mistakes
- Saying that an interpreter “does not translate”. It does, line by line.
- Saying that compiled programs never contain errors because errors were found at compile time. Runtime errors and logic errors remain.
- Saying defragmentation speeds up solid-state drives.
- Describing the OS as a utility. Utilities are separate programs that perform maintenance.
- Giving “makes the computer faster” as the benefit of a DLL, when the benefits are smaller files and a shared single copy.
Exam technique
For describe questions on the OS, give the task and how the OS performs it, for example “memory management: allocates each program its own area of RAM and stops one program overwriting another”. For comparisons of translators, give a point for each side joined by “whereas”. For scenario questions, choose a translator and justify it from the scenario: a compiler for software that is sold to customers, an interpreter for a student writing and testing short programs.
Check your understanding
- State two functions of an operating system. Answer: for example memory management and file management.
- What is a device driver? Answer: software that lets the OS communicate with a particular device.
- Why is defragmentation not used on an SSD? Answer: an SSD has no moving heads, so scattered data does not slow access.
- Give one benefit of using a DLL. Answer: several programs share one copy, which saves memory and means an update applies to all of them.
- What does the processor do after it receives an interrupt? Answer: it saves its state, runs the interrupt service routine, restores its state and resumes the interrupted program.
- Give two differences between a compiler and an interpreter. Answer: a compiler translates the whole program before it runs and produces object code; an interpreter translates a statement at a time, each time it runs, and produces none.
- What is the purpose of a breakpoint? Answer: it pauses the program at a chosen line so the programmer can inspect variables.
- A company sells a finished game. Which kind of translator should it use and why? Answer: a compiler, because the customer receives fast-running object code without the source code.
Frequently asked questions
What are the main functions of an operating system? An operating system manages hardware, processes, memory, files and security, and provides a user interface. Device drivers let it communicate with particular devices.
What is a dynamic link library (DLL)? A DLL is a library loaded when a program runs rather than built into it, so many programs share one copy, executables are smaller and an update benefits every program. A program fails if the library is missing or incompatible.
Why is defragmentation not used on solid-state drives? Defragmentation speeds up magnetic hard disks by placing each file in contiguous blocks. A solid-state drive has no moving heads, so scattered data does not slow access.
What debugging features does an IDE provide? IDE debugging tools include breakpoints that pause the program at a chosen line, single stepping through one statement at a time, and variable watch windows that show values as they change.
Get free revision emails (optional)
Occasional emails with practice questions, worked explanations and links to free resources for the qualification and subjects you choose. No spam, and you can unsubscribe from any email. The free tools on this site never need an email.
Related resources
-
Practice questions
Cambridge A Level Computer Science (9618): System Software – Practice Questions
Original exam-style questions with answers on OS management tasks, utilities, DLLs, compilers versus interpreters, Java bytecode and IDEs for Cambridge AS 9618.
Computer Science · Cambridge · AS Level
Try questions -
Revision notes
Cambridge A Level Computer Science (9618): System Software – Revision Notes
Revision notes on operating system tasks, utility software, libraries and DLLs, compilers, interpreters, assemblers and IDE features for Cambridge AS 9618.
Computer Science · Cambridge · AS Level
Revise topic -
Practice questions
A Level Computer Science: Information Representation — Practice Questions
Original practice questions with worked answers for Cambridge AS Computer Science 9618: two's complement, overflow, hexadecimal, character sets and compression.
Computer Science · Cambridge · AS Level
Try questions
Related articles
-
teaching
A Level tuition in Dubai: Cambridge or Pearson Edexcel International A Level?
Schools in Dubai and Abu Dhabi teach either Cambridge International AS & A Level or Pearson Edexcel International A Level. How the two are structured, why it matters for tuition, and how online classes from Lahore work.
9 October 2026
-
curriculum guides
Choosing subjects at IGCSE and A Level
How subject choices at 14 and 16 affect university options later, and how to keep pathways open without overloading a timetable.
28 July 2026
Studying this with a teacher
Working through Computer Science AS LEVEL?
This page is free and stays free. If you would rather be taught it, Marlbridge runs Computer Science classes one-to-one and in small groups of up to 15, online in your own time zone. The first trial class is free. WhatsApp replies within an hour (8am–11pm Pakistan time, every day); email the same day.
Cambridge Computer Science teachers at Marlbridge