System software
Cambridge AS & A Level Computer Science 9618 · Paper 1 · Unit 5
Paper 1 · Unit 5. Operating systems, utilities, libraries, translators and IDEs.
1. Why computers need an operating system
An operating system (OS) manages the hardware and provides a platform and user interface so applications can run without controlling hardware directly.
| Key management task | What it does |
|---|---|
| Memory management | Allocates memory to programs, keeps processes separate, uses paging and virtual memory |
| File management | Organises files in directories, handles naming, access rights and storage |
| Security management | User accounts, passwords, access rights, firewalls, updates |
| Hardware (peripheral) management | Communicates with devices using drivers; handles buffers and interrupts |
| Process management | Schedules processes on the CPU, allocates resources, handles multitasking |
2. Utility software
| Utility | Purpose |
|---|---|
| Disk formatter | Prepares a disk for use by creating a file system; erases existing data |
| Virus checker | Scans files for malware, quarantines or deletes infected files |
| Defragmentation | Rearranges fragmented files on a magnetic hard disk into contiguous blocks, so they load faster |
| Disk contents analysis / repair | Checks the disk for errors and bad sectors and repairs or marks them |
| File compression | Reduces file size to save storage and transmission time |
| Back-up software | Copies files to another location on a schedule so they can be restored |
Defragmentation is not needed for SSDs: access time does not depend on where data is stored, and extra writes shorten their life.
3. Program libraries
A library is a collection of pre-written, tested routines that programs can use. Benefits: saves time, routines are already tested and reliable, and complex code (e.g. maths or graphics) can be used without writing it.
A Dynamic Link Library (DLL) is loaded at run time rather than built into the executable. Benefits: smaller executables, one copy in memory shared by many programs, and updating the DLL updates every program that uses it. Drawbacks: the program fails if the DLL is missing, and an incompatible update can break programs.
4. Language translators
| Compiler | Interpreter | |
|---|---|---|
| Translation | The whole program at once, into an executable | One statement at a time, executing each |
| Errors | Reported after the whole program has been checked | Translation stops at the first error |
| Running | Fast; source code and compiler not needed | Slower; the interpreter is needed each time |
| Best for | Distributing finished software; protects source code | Development and debugging |
An assembler translates assembly language into machine code. Some languages (e.g. Java) are partially compiled into intermediate code (bytecode), which is then interpreted by a virtual machine, giving portability across platforms.
Try it: compiler or interpreter?
5. IDE features
| Feature | Examples |
|---|---|
| Coding | Context-sensitive prompts / auto-complete, syntax highlighting, auto-indent |
| Initial error detection | Dynamic syntax checks that underline errors as you type |
| Presentation | Prettyprint, expanding and collapsing code blocks |
| Debugging | Single stepping, breakpoints, variable watch windows, report window |
6. Examiner tips
- Name the OS task and explain it, e.g. “memory management: allocates memory to processes”.
- Defragmentation applies to magnetic hard disks.
- DLL benefits are smaller programs and shared, updatable code.
- Compiler vs interpreter: compare in pairs (translation, errors, speed, distribution).
- IDE debugging tools: breakpoints, stepping, watch windows.
7. Practice questions
Practice: answer and check instantly
Type a short answer, then press Check or Enter.
Show answer
Defragmentation.
Show answer
Dynamic Link Library.
Show answer
An assembler.
Show answer
An interpreter.
Show answer
A breakpoint.
Show answer
A disk formatter.
Show answer
Memory management.
Show answer
A virtual machine.
Exam-style questions
9. Explain two benefits of using a DLL. [4]
Show mark guide
The executable is smaller because the routine is not included [1] · it is loaded only when needed [1] · one copy in memory can be shared by several programs [1] · saves memory [1] · updating the DLL updates all programs that use it [1] · no need to recompile [1]. Max 4.
10. Describe two features of an IDE that help a programmer find errors. [4]
Show mark guide
Breakpoint: stops the program at a chosen line [1] so values can be inspected [1] · single stepping: runs one line at a time [1] to see the flow [1] · watch window: shows variable values as they change [1] · dynamic syntax checking underlines errors as code is typed [1]. Max 4.
8. Topic test: predict your grade
Topic test: predict your grade
15 questions, about 10 minutes. Answer them all, then press Mark my test.
Frequently asked questions
What are the main tasks of an operating system?
The main tasks are memory management, file management, security management, hardware management and process management.
What is a DLL?
A dynamic link library is a library loaded at run time. It keeps executables smaller and lets several programs share one copy of the code in memory.
What IDE features help with debugging?
Breakpoints, single stepping, variable watch windows and report windows help programmers find and fix errors.