Hardware is the body; software is the mind that tells it what to do. Without software, even the most powerful computer is a useless box of metal. In this chapter we sort software into its types, see how human-friendly code becomes machine instructions, and meet the most important program of all — the operating system.
1Types of software
Software splits into two big families:
| System software | Application software | |
|---|---|---|
| Purpose | Runs the computer itself and supports other software | Helps the user do a specific task |
| Examples | Operating systems, device drivers, system utilities | Word processors, spreadsheets, browsers, games |
| Who it serves | The machine | The person |
- System software includes the operating system, device drivers (which let the OS talk to hardware like a printer), and utilities (antivirus, disk cleanup, backup tools).
- Application software can be general-purpose (a word processor anyone can use) or customised / bespoke (software built for one organisation, like a bank's own system).
- System software runs the machine (OS, device drivers, utilities); application software helps the user do tasks.
- Device drivers let the OS communicate with specific hardware.
- Application software is general-purpose (e.g. a word processor) or customised/bespoke (built for one organisation).
2Language translators: assembler, compiler, interpreter
A CPU only understands machine code (binary). We write in human-friendly languages, so a translator converts our code into machine code. There are three kinds:
- Assembler — translates assembly language (a low-level, almost-machine language) into machine code.
- Compiler — translates a whole high-level program into machine code all at once, producing a separate executable file. Reports all errors together after compiling.
- Interpreter — translates and runs a high-level program line by line. Stops at the first error it hits.
Compiler vs Interpreter (the key comparison)
| Compiler | Interpreter | |
|---|---|---|
| Translates | Whole program at once | One line at a time |
| Speed of execution | Faster (already converted) | Slower (converts each run) |
| Errors | All reported together after compiling | Reported one at a time, stops at first |
| Example | C, C++ | Python |
- A translator converts our code into machine code: assembler, compiler or interpreter.
- Compiler: whole program at once, faster execution, all errors together (e.g. C/C++).
- Interpreter: line by line, slower, stops at first error (e.g. Python).
3The Operating System
The operating system (OS) — Windows, macOS, Linux, Android — is the master program that manages everything and acts as the bridge between you, your applications, and the hardware. Its main jobs:
- Process management — runs programs, decides which gets the CPU and when.
- Memory management — allocates RAM to programs and reclaims it when they finish.
- File management — organises files and folders, controls saving, opening and permissions.
- Device management — controls hardware (keyboard, printer, disk) via device drivers.
Talking to the OS: CLI vs GUI
| CLI | GUI | |
|---|---|---|
| Stands for | Command-Line Interface | Graphical User Interface |
| You interact by | Typing text commands | Clicking icons, windows, menus |
| Best for | Power, speed, automation | Ease of use, beginners |
- The OS manages processes, memory, files and devices, and bridges user, apps and hardware.
- CLI = type text commands (powerful); GUI = click icons/windows (easy).
- Examples of operating systems: Windows, macOS, Linux, Android.
★ Practical: classify and compare
On paper:
- Classify each as system or application software: a printer driver, a spreadsheet, an antivirus, a web browser.
- State two differences between a compiler and an interpreter.
- List the four main functions of an operating system.
- Give one situation where a CLI is more useful than a GUI.
Ready for the chapter test?
Answer 5 questions. Score 60% or more to mark this chapter complete.
Start the test →💡 Log in to save your progress and earn the certificate.