Skip to main content
WalesComputer ScienceSyllabus dot point

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.

Generated by Claude Opus 4.812 min answer

Reviewed by: AI editorial process; not yet individually human-reviewed

Have a quick question? Jump to the Q&A page

Jump to a section
  1. What this dot point is asking
  2. The answer
  3. Examples in context
  4. Try this

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

Sources & how we know this