Types of Software
Software is classified into two main types:
System Software
Software that manages and controls computer hardware, providing a platform for application software to run.
- Operating System (OS) — the most important system software
- Device drivers — allow the OS to communicate with hardware peripherals
- Utility software — tools that help maintain the system (e.g. antivirus, disk defragmenter, file compression tools)
Application Software
Programs designed to perform specific tasks for users.
- General-purpose: word processors, spreadsheets, web browsers, presentation software
- Special-purpose: accounting software, payroll software, hospital management systems
- Bespoke (custom): software written specifically for one organisation's unique needs
| Type | Description | Examples |
| System | Manages hardware and runs the computer | Windows, Linux, macOS, device drivers |
| Application (general) | Used by many people for common tasks | Word, Excel, Chrome |
| Application (special) | Designed for specific industries | Hospital management, airline booking |
| Bespoke | Custom-built for one organisation | A company's own internal system |
The Operating System (OS)
The operating system is software that manages all hardware and software resources, and provides an interface between the user and the computer hardware.
OS Functions
- Memory management — allocates RAM to programs, prevents programs accessing each other's memory
- Processor scheduling — decides which process runs on the CPU and when
- Input/output management — handles communication between hardware and programs via device drivers
- User interface — provides GUI (Graphical User Interface) or CLI (Command Line Interface)
- File management — organises files and directories on storage; controls access permissions
- Security management — controls user logins, authentication, and permissions
Interrupts
An interrupt is a signal sent to the CPU by a hardware or software event, requesting the CPU to pause its current task and deal with the interrupt.
How interrupts work:
- The device/software sends an interrupt signal to the CPU
- The CPU finishes its current instruction
- The CPU saves the state of the current program (in a stack)
- The CPU runs the appropriate Interrupt Service Routine (ISR)
- The CPU restores the saved state and resumes the interrupted program
Examples of interrupts:
- A key is pressed on the keyboard
- A printer signals it has finished printing
- A program causes a division by zero error
- A timer interrupt (used for scheduling)
GUI vs CLI
| GUI | CLI |
| Uses | Windows, icons, menus, pointers | Text commands typed by user |
| Ease of use | Easy — intuitive for beginners | Difficult — requires memorising commands |
| Resources | Requires more memory/processor | Very lightweight |
| Speed (expert) | Slower for advanced tasks | Faster for experts |
Exam tip: Be able to list at least 4 functions of an OS and explain each one. For interrupts, know all 5 steps including that the current state is SAVED before the ISR runs, and RESTORED after. Cambridge often asks: "Describe how the OS handles an interrupt" — include all steps.
⚠️ Common Mistakes
- Forgetting that the CPU saves its state before running the ISR — this is a key mark point
- Saying device drivers are the same as the OS — they are separate components
- Confusing bespoke software (custom-built) with special-purpose software (designed for one industry but sold to many)