What is the difference between hardware and software, and what does an operating system do?
Understand the relationship between hardware and software, the classification of software into system and application software, and the role of the operating system and utility programs.
A focused answer to AQA A-Level Computer Science 4.6.1, covering the relationship between hardware and software, the classification of software into system and application software, and the role of the operating system and utility programs.
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
AQA wants you to explain the relationship between hardware and software, classify software as system or application software, and describe the role of the operating system and of utility programs.
Hardware and software
The relationship is layered. At the bottom is the hardware; above it sits the operating system, which talks to the hardware on behalf of everything else; above that sit applications, which talk to the operating system rather than to the hardware directly. This layering is a form of abstraction: an application that saves a file does not need to know anything about the physical disk, because the operating system hides that detail behind a simple file interface. Understanding this stack is the key to placing any piece of software in the right category.
System and application software
The test for which category a program falls into is simple: ask whether it exists to run the computer (system software) or to let the user get a job done (application software). A compiler is system software because it supports programming rather than being the end task; a game is application software because playing it is the user's goal.
The operating system
These functions exist largely to share limited resources fairly and safely among many programs. Scheduling time-shares a single processor so that several programs appear to run at once; memory management partitions memory so programs cannot corrupt each other; and the security model enforces who may access what. Without the operating system performing this resource management, multitasking and multi-user operation would be impossible.
Utility programs
Utility programs are small system tools that maintain and optimise the computer: backup software (copying data so it can be recovered), disk defragmentation (reorganising files so they are stored contiguously for faster access), file compression, antivirus and disk-cleanup tools. They are part of system software but perform housekeeping rather than running the whole machine, which is the distinction examiners look for when separating utilities from the operating system itself.
Exam-style practice questions
Practice questions written in the style of AQA exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
AQA 20194 marksDescribe two functions of an operating system, explaining how each helps a computer run multiple programs at once.Show worked answer →
Memory management: the operating system allocates a region of main memory to each running process and keeps them separate, so one program cannot overwrite another's data. This is what allows several programs to be loaded and run at once without interfering with each other, and it reclaims the memory when a process ends.
Processor scheduling: the operating system decides which process uses the processor and for how long, switching rapidly between them. This gives the impression that several programs run simultaneously on a single processor, and ensures no one process monopolises the CPU.
Markers reward two distinct OS functions, each with an explanation of how it supports running multiple programs (isolation through memory management, time-sharing through scheduling).
AQA 20213 marksExplain the difference between system software and application software, and state which category a device driver and a spreadsheet program belong to.Show worked answer →
System software controls and runs the computer itself, providing the platform on which other programs operate; it includes the operating system, utilities, device drivers and translators. Application software lets a user carry out a specific task, such as writing a document or analysing data.
A device driver is system software, because it lets the operating system communicate with a piece of hardware rather than performing a user task. A spreadsheet program is application software, because it lets the user perform a task (organising and calculating data).
Markers reward the runs-the-computer versus performs-a-user-task distinction and correctly classifying the driver as system software and the spreadsheet as application software.
Related dot points
- Understand the logic gates NOT, AND, OR, XOR, NAND and NOR, their truth tables, combining gates into logic circuits, and simplifying expressions using Boolean algebra.
A focused answer to AQA A-Level Computer Science 4.6.2 and 4.6.3, covering the logic gates NOT, AND, OR, XOR, NAND and NOR, their truth tables, building logic circuits, and simplifying Boolean expressions using the laws of Boolean algebra.
- Understand the classification of programming languages by level (low and high) and by paradigm (imperative, object-oriented, declarative and functional), and the use of machine code and assembly language.
A focused answer to AQA A-Level Computer Science 4.6.4, covering the classification of programming languages by level (low and high) and by paradigm (imperative, object-oriented, declarative and functional), and the use of machine code and assembly language.
- Understand assemblers, compilers and interpreters, the differences between them, the stages of compilation (lexical analysis, syntax analysis, code generation and optimisation), and intermediate code.
A focused answer to AQA A-Level Computer Science 4.6.5, covering assemblers, compilers and interpreters and their differences, the stages of compilation (lexical analysis, syntax analysis, code generation and optimisation), and intermediate code such as bytecode.
- Understand the internal components of a computer, the role of the processor, main memory and buses, and the difference between RAM, ROM and cache memory.
A focused answer to AQA A-Level Computer Science 4.7.1, covering the internal components of a computer, the role of the processor, main memory and the system buses, and the differences between RAM, ROM and cache memory.
- Understand the stored program concept, the Von Neumann architecture, the Harvard architecture, and the differences between them.
A focused answer to AQA A-Level Computer Science 4.7.2, covering the stored program concept, the Von Neumann architecture, the Harvard architecture, and the differences between them.
Sources & how we know this
- AQA A-level Computer Science (7517) specification — AQA (2015)