Software Classification: System Software and Applications
Hardware and Software
A computer system is made up of two inseparable components: hardware and software. Neither is useful without the other.
Hardware refers to the physical components of a computer system — any part that can be touched. Examples include the processor (CPU), memory chips (RAM), storage devices (hard drive, SSD), screen, keyboard, and speakers.
Software refers to programs — sets of instructions that tell the hardware what to do. Software has no physical form; it exists as data stored in memory or on storage devices.
The relationship between hardware and software:
| Hardware | Software |
|---|---|
| Physical components | Programs and instructions |
| Cannot change its behaviour without new hardware | Changes hardware behaviour by providing new instructions |
| Useless without instructions | Useless without hardware to run on |
| Examples: CPU, RAM, keyboard, screen | Examples: operating system, browser, game |
Embedded systems (extra context — 3.4.5, not 3.4.1/3.4.3): Many devices contain a computer system dedicated to a single function — these are called embedded systems. A washing machine controller, a car engine management system, and a digital thermostat are all examples. Unlike a general-purpose computer, an embedded system runs a fixed program stored in its memory. Embedded systems are relevant elsewhere in the computer systems topic, particularly when discussing assembly language and low-level hardware control.
Software is what makes the same piece of hardware behave differently. The same CPU runs a word processor, a game, and a web browser — the hardware is identical, the software determines the behaviour.
Types of Software
All software falls into one of two categories:
System software manages the hardware resources of the computer and acts as a platform on which application software can run. Users interact with system software indirectly — it operates largely in the background.
Application software performs end-user tasks. It is what users directly interact with to get things done.
| System software | Application software | |
|---|---|---|
| Purpose | Manages hardware resources; provides a platform for applications | Performs a task for the end user |
| Who interacts with it | Mostly the computer itself, indirectly by the user | Directly by the user |
| Examples | Operating system, device drivers, utility programs | Word processor, web browser, game, video editor |
System software must load and run before application software can start. When a computer powers on, the operating system (a type of system software) initialises the hardware and provides the environment in which applications run.
The Operating System
The operating system (OS) is the most important piece of system software. It manages all hardware resources and acts as an intermediary between hardware and application software.
The OS manages:
| Resource | What the OS does |
|---|---|
| Processor(s) | Decides which programs run and for how long; schedules tasks |
| Memory | Allocates RAM to running programs; ensures programs do not interfere with each other's memory |
| Input/output (I/O) devices | Communicates with keyboards, screens, printers, and other devices using device drivers |
| Applications | Loads, runs, and terminates programs; manages multiple running applications simultaneously |
| Security | Controls access to the system; manages user accounts and permissions |
Examples of operating systems: Windows, macOS, Linux, Android, iOS.
Without an OS, each application would need to include its own code to communicate directly with every possible hardware device — a keyboard, a mouse, a specific model of printer. The OS abstracts this complexity away, providing a consistent interface for applications.
A device driver is a small piece of software that allows the OS to communicate with a specific hardware device. The OS provides the framework; device drivers translate between the OS and individual pieces of hardware.
Utility Programs
Utility programs are a type of system software designed to perform specific maintenance, configuration, or support tasks on a computer system. They keep the system running efficiently and securely.
Common utility programs:
| Utility | Purpose |
|---|---|
| Antivirus / anti-malware | Scans for and removes malicious software; monitors for suspicious activity |
| File compression | Reduces the size of files for storage or transmission (e.g. creating a .zip file) |
| Disk defragmenter | Reorganises fragmented data on a hard disk drive so files are stored contiguously, improving read speed |
| Backup software | Automatically copies files to a secondary location (external drive, cloud) to prevent data loss |
| Encryption software | Encodes data so that it can only be read by someone with the correct key |
Utility programs typically run in the background or are invoked when needed — the user does not interact with them in the same way as with application software.
Disk defragmentation is relevant to magnetic hard drives (HDDs), where the read head must physically move to access fragmented data. Solid-state drives (SSDs) do not benefit from defragmentation — they have no moving read head, so fragmentation does not cause the same slowdown. Defragmenting an SSD is unnecessary and can add avoidable write wear.
Studying this for an exam?
Generate a personalised learning path for this subject. Free to get started.
Application Software
Application software is software that performs a specific task for the end user. Unlike system software, it does not manage hardware resources — it uses the services provided by the OS to carry out its function.
Categories and examples:
| Category | Examples |
|---|---|
| Productivity | Word processor (Microsoft Word), spreadsheet (Excel), presentation (PowerPoint) |
| Communication | Email client, web browser, video calling app |
| Entertainment | Video game, media player, streaming app |
| Creative | Photo editor, video editor, music production software |
| Educational | Revision app, e-learning platform, coding environment |
Application software relies on the OS to:
- Allocate memory for the application to run in
- Provide access to input devices (keyboard, mouse, touchscreen)
- Display output on the screen
- Read from and write to storage devices
Worked example — layers of a computer system:
User
└── Application software (e.g. web browser)
└── Operating system (manages hardware on behalf of apps)
└── Hardware (CPU, RAM, storage, screen)
The user interacts only with the application. The application interacts with the OS. The OS interacts with the hardware. Each layer provides services to the layer above it.
Common Exam Mistakes
1. Confusing system software and application software
System software manages hardware resources and provides a platform — it operates largely in the background. Application software performs end-user tasks directly. The OS is system software; a word processor is application software. Describing the OS as an "application" is incorrect.
2. Listing the OS as the only type of system software
System software includes the OS, device drivers, and utility programs. Questions that ask for examples of system software expect more than just "the operating system."
3. Describing the OS as just "managing files"
The OS manages five things: processor(s), memory, I/O devices, applications, and security. File management is one small part of this — an exam answer limited to "manages files" is incomplete and will not gain full marks.
4. Stating that defragmentation improves SSD performance
Defragmentation benefits magnetic hard disk drives (HDDs) where the read head moves physically across a spinning platter. SSDs have no moving parts and are unaffected by fragmentation — running defragmentation on an SSD wastes the drive's limited write cycles without benefit.
5. Treating hardware and software as independent
Hardware and software are interdependent — neither functions without the other. Software needs hardware to execute on; hardware needs software to have any purpose. This relationship is a direct exam point.
Generate revision on any topic you study
Type any topic you're studying and Aicademy generates a complete lesson, quiz, and flashcard set — personalised to your level.
Lessons on anything
Structured, level-matched lessons on any topic you study
Practice quizzes
Find out what you actually know before the exam does
Flashcard sets
Lock in key concepts with instant revision cards
Ask Aica
Stuck on something? Get a clear explanation, any time
Data Compression: RLE and Huffman Coding
Boolean Logic: Gates and Truth Tables
Related lessons
7 Slides
8 Slides
7 Slides