You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
This lesson explains the difference between systems software and application software, with examples and exam-style comparisons. This is a fundamental topic in AQA and OCR GCSE Computer Science.
Software is a set of instructions (programs) that tells the hardware what to do. Without software, a computer is just a collection of electronic components that cannot do anything useful.
Software is divided into two main categories:
Systems software is software that manages and controls the computer hardware and provides a platform for application software to run. It works "behind the scenes" to keep the system running smoothly.
| Software | Purpose |
|---|---|
| Operating system (Windows, macOS, Linux, Android) | Manages hardware, memory, files, security, and provides a user interface |
| Device drivers | Allow the OS to communicate with specific hardware devices |
| Utility software | Performs maintenance tasks (antivirus, defragmentation, backup, encryption) |
| Compilers / Interpreters / Assemblers | Translate programming code into machine code |
| BIOS/UEFI | Initialises hardware at boot-up |
Application software is software designed to help users perform specific tasks. It runs on top of the operating system and is what most people interact with on a daily basis.
| Type | Examples |
|---|---|
| Word processor | Microsoft Word, Google Docs |
| Spreadsheet | Microsoft Excel, Google Sheets |
| Presentation | Microsoft PowerPoint, Google Slides |
| Web browser | Google Chrome, Firefox, Safari |
| Email client | Microsoft Outlook, Apple Mail |
| Photo editor | Adobe Photoshop, GIMP |
| Video editor | Adobe Premiere, iMovie |
| Database | Microsoft Access, MySQL |
| Games | Minecraft, Fortnite |
| Music player | Spotify, Apple Music |
| Feature | Systems Software | Application Software |
|---|---|---|
| Purpose | Manages the computer and its hardware | Helps users perform specific tasks |
| User interaction | Mostly runs in the background | Used directly by the user |
| Essential? | Yes — the computer cannot function without it | No — the computer works without specific applications |
| Examples | OS, drivers, utilities, translators | Word processor, browser, games, photo editor |
| Installed by | Manufacturer or during setup | The user, as needed |
| Runs on | Hardware directly | On top of the operating system |
Exam Tip: A classic exam question is "Give two differences between systems software and application software." Always make your comparisons clear and direct — state what systems software does AND what application software does in contrast.
The diagram below shows how application software, systems software, firmware and hardware sit in layers. Each upper layer depends on the layer beneath it.
graph TD
A["Application Software (Word, Browser, Games)"] --> B["Systems Software (OS, Drivers, Utilities)"]
B --> C["Firmware (BIOS / UEFI / MCU firmware)"]
C --> D["Hardware (CPU, RAM, I/O)"]
Translators are systems software that convert programming code written by humans into machine code (binary instructions) that the CPU can execute.
| Translator | What It Does | Source Language |
|---|---|---|
| Compiler | Translates the entire high-level program into machine code in one go, producing an executable file | High-level (e.g., C, C++) |
| Interpreter | Translates and executes high-level code one line at a time — no executable file is produced | High-level (e.g., Python) |
| Assembler | Translates assembly language (low-level) into machine code | Assembly language |
| Feature | Compiler | Interpreter |
|---|---|---|
| Translation | Whole program at once | One line at a time |
| Speed of execution | Faster (compiled code runs directly) | Slower (translation happens at runtime) |
| Error detection | All errors reported after compilation | Stops at the first error found |
| Output | Produces a standalone executable file | No executable file produced |
| Distribution | Executable can be distributed without source code | Source code must be present to run |
| Development | Slower to test (must recompile after changes) | Faster to test (run immediately) |
Exam Tip: You may be asked "Why would a programmer use an interpreter during development and a compiler for the final version?" Answer: An interpreter allows quick testing because code runs immediately line by line, making it easier to find and fix errors. A compiler is used for the final version because the resulting executable runs faster and the source code does not need to be distributed.
A device driver is a small program that enables the operating system to communicate with a specific hardware device.
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.