System software, utilities and device drivers
System software controls and manages the hardware and gives a base for other programs.
- Operating system (OS): the main system software, e.g. Windows, Linux, macOS, Android.
- Utility software: small tools that keep the computer healthy: antivirus, disk cleanup, disk defragmenter, backup, file compression (zip).
- Device driver: a program that lets the OS talk to one hardware device, like a printer, scanner or graphics card. Each device needs its own driver.
Programming languages and translators
Machine language is 0s and 1s, the only language the CPU understands. Assembly language uses short words (mnemonics) like ADD, MOV. High-level languages like Python, C++ and Java use English-like words.
Programs in other languages must be translated into machine code:
- Assembler: assembly language → machine code.
- Compiler: reads the whole high-level program, lists all errors together, and makes an object (machine) code file that can be run again and again (C, C++).
- Interpreter: translates and runs one line at a time; it stops at the first error; no separate machine code file is kept (Python).
| Compiler | Interpreter |
|---|---|
| Whole program at once | Line by line |
| Shows all errors after compiling | Stops at the first error |
| Faster run after compiling | Slower, translates every run |
Application software
Application software helps the user do a particular task.
- General-purpose: made for many users: word processor, spreadsheet, presentation, browser, image editor, media player.
- Customised (tailor-made): made for the needs of one organisation: a school's result system, a hospital's patient records, a bank's account software, railway reservation.
Software can also be proprietary (you buy a licence, source code is hidden) or free and open source (FOSS, e.g. Linux, LibreOffice, Python), where the source code is open for anyone to study and improve.
Board exam focus
Expect: difference between compiler and interpreter (2–3 marks), classify given software, the role of a device driver, examples of utilities.
Key formulas and definitions
- System software = OS + utilities + device drivers + language translators
- Assembler: assembly → machine code
- Compiler: whole program at once; Interpreter: line by line
- Application = general-purpose or customised
Worked examples
1. Classify: Linux, WinRAR, printer driver, Python, MS Excel, a school fee app.
Linux: OS (system). WinRAR: utility (compression). Printer driver: device driver. Python: interpreter (language translator). MS Excel: general-purpose application. School fee app: customised application.
2. A program has errors in lines 4 and 9. What will a compiler and an interpreter show?
The compiler checks the whole program and reports both errors (lines 4 and 9) before anything runs. The interpreter runs lines 1–3, stops at line 4 and shows only that error; line 9 is seen only after line 4 is fixed.
3. Why does a new printer come with a CD or download for a driver?
The OS does not know how to control that exact printer model. The driver tells the OS how to send pages to it.
4. Is an antivirus system software or application software?
It is a utility, which is part of system software, because it looks after the computer itself rather than doing a user's task like writing a letter.
Common mistakes
- Saying Python is compiled like C. Python code is run by an interpreter.
- Calling the OS an application. The OS is system software.
- Thinking the assembler translates high-level code. It only translates assembly language.
- Thinking one driver works for all devices. Each device type needs its own driver.