What are the layers of software, and how does the operating system manage the hardware on behalf of programs?
Describe systems, application and utility software, the functions of the operating system, translators, and modes of operation.
A focused answer to WJEC A-Level Computer Science Unit 1 software and systems, covering system, application and utility software, operating system functions, compilers, interpreters and assemblers, and modes of operation.
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
WJEC wants you to describe the layers of software (system, application and utility), to list and explain the functions of the operating system, to distinguish the three types of translator, and to explain modes of operation such as batch, real-time and multi-user. This topic gives the wider context for the hardware and programming dot points, and it generates the "compare a compiler with an interpreter" and "functions of an operating system" questions that recur on AS papers.
The answer
System, application and utility software
The user works mostly with applications, but applications rely on system software to reach the hardware, so the layers form a stack from hardware up to the user.
Functions of the operating system
These functions are what let a modern computer run many programs at once, store data reliably, and present a consistent interface, all without the application programmer having to control the hardware directly.
Translators
A compiler translates an entire high-level program into machine code in one pass, producing a standalone executable. An interpreter translates and executes the source one statement at a time, with no executable produced. An assembler translates low-level assembly language into machine code, typically one assembly instruction to one machine instruction.
Modes of operation
Examples in context
- Example 1. Why games ship as compiled executables
- A commercial game is compiled to machine code so it runs at full speed and so the developer need not reveal the source. Players run the executable directly; there is no translator on their machine. This shows the practical reason most distributed software is compiled rather than interpreted.
- Example 2. Defragmentation as a utility
- Over time, files on a magnetic disk become scattered into non-contiguous blocks, slowing reads. A defragmentation utility rearranges the blocks so each file is contiguous, improving performance. It is a clear example of utility software doing maintenance the user never sees but benefits from.
- Example 3. Scheduling on a busy laptop
- A laptop running a browser, a music player and a download at once relies on the operating system's scheduler to switch the single CPU between them many times a second. To the user every program seems to run at the same time, which demonstrates CPU scheduling, one of the operating system's core functions.
Try this
Q1. State the type of translator that converts assembly language into machine code. [1 mark]
- Cue. An assembler.
Q2. Give two examples of utility software and state the task each performs. [2 marks]
- Cue. For example, a backup utility (copies data for safekeeping) and a compression utility (reduces file size).
Exam-style practice questions
Practice questions written in the style of WJEC exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
WJEC 20186 marksCompare a compiler with an interpreter, giving one advantage of each.Show worked answer →
Describe how each translator works, then give a genuine advantage of each.
A compiler translates the entire source program into machine code in one pass, producing an executable file that can then be run repeatedly without the compiler present. An interpreter translates and executes the source one statement at a time, with no separate executable produced.
Advantage of a compiler: the compiled program runs faster because translation has already happened, and the source code need not be distributed.
Advantage of an interpreter: errors are reported as each statement runs, which makes debugging and developing easier, and the same source can run on any machine that has the interpreter.
Markers reward the whole-program versus statement-by-statement contrast, plus one valid advantage on each side.
WJEC 20224 marksState two functions of an operating system and explain how each helps a user run several programs at once.Show worked answer →
Choose two distinct OS functions and tie each to multitasking.
Memory management: the operating system allocates a separate area of memory to each running program and keeps them apart, so several programs can be loaded at once without overwriting each other.
Process or processor scheduling: the operating system shares CPU time between the running programs, switching rapidly between them so each appears to run simultaneously.
Other acceptable functions include file management and device or peripheral management.
Markers reward two correct functions and an explanation linking each to running multiple programs.
Related dot points
- Describe the von Neumann architecture, the components of the CPU, the fetch-execute cycle, memory and the storage hierarchy.
A focused answer to WJEC A-Level Computer Science Unit 1 hardware, covering the von Neumann architecture, the CPU components and registers, the fetch-execute cycle, primary and secondary storage, and factors affecting performance.
- Explain the principles of programming: data types, the three control structures, procedures and functions, parameter passing and recursion.
A focused answer to WJEC A-Level Computer Science Unit 1 principles of programming, covering data types and variables, sequence, selection and iteration, procedures, functions and parameter passing, and recursion.
- Design algorithms in pseudocode, apply the standard searching and sorting algorithms, and compare algorithm efficiency.
A focused answer to WJEC A-Level Computer Science Unit 1 algorithms, covering algorithm design and pseudocode, linear and binary search, bubble, insertion and merge sort, and comparing efficiency.
- Describe files, fields and records, relational databases, normalisation, basic SQL, and validation and verification.
A focused answer to WJEC A-Level Computer Science Unit 1 organisation of data, covering files, fields and records, relational databases and keys, normalisation to remove redundancy, basic SQL, and validation and verification.
- Describe data security threats and protection, encryption, data integrity, and the legislation and ethics governing computer use.
A focused answer to WJEC A-Level Computer Science Unit 1 security and the law, covering threats such as malware and hacking, protection measures, encryption, data integrity, and the relevant legislation and ethics.