Appearance
A2 · Software in a Computer System
Spec reference: Section A2 - Hardware and Software Key idea: Understand operating systems, utility software, application software, and open source principles.
Operating systems
An operating system (OS) manages hardware and software resources and provides an interface between the user and the hardware.
Types of operating system
| Type | Description | Example |
|---|---|---|
| Real-time OS | Processes inputs and responds immediately, used in safety-critical systems | Aircraft control, medical devices |
| Single-user single-task | Only one user, one program at a time | Early MS-DOS |
| Single-user multi-tasking | One user, multiple programs simultaneously | Windows, macOS |
| Multi-user | Multiple users access the same system at once | Linux servers, mainframes |
The kernel
The kernel is the core of the OS. It runs with full access to hardware and manages:
| Kernel function | What it does |
|---|---|
| Program execution | Loads programs into memory and runs them |
| Interrupts | Responds to hardware and software signals requiring attention |
| Modes | Switches between user mode (restricted) and kernel mode (full access) |
| Memory management | Allocates and protects memory for each process |
| Multi-tasking | Schedules processes so they share the CPU efficiently |
| Disk access | Controls reading and writing to storage devices |
| File systems | Organises how data is stored and retrieved |
| Device drivers | Acts as translators between the OS and hardware peripherals |
OS and networking/security
The OS also manages:
- Networking: Configuring network interfaces, assigning IP addresses, managing connections.
- Security: User authentication, permissions, access control lists, firewalls.
User interfaces
| Type | Description | When used |
|---|---|---|
| Graphical (GUI) | Windows, icons, menus, pointer-based | General-purpose users |
| Command line (CLI) | Text commands typed at a prompt | Developers, system administrators |
| Menu-based | Navigated using menus only | ATMs, kiosks, embedded systems |
Utility software
Utility software performs maintenance and management tasks to keep the system running efficiently.
| Utility | Purpose |
|---|---|
| Antivirus | Detects and removes malware |
| Disk defragmenter | Reorganises fragmented files on HDDs to improve read speed |
| Backup software | Creates copies of data for recovery purposes |
| File compression | Reduces file sizes to save storage space |
| Encryption tool | Protects data by scrambling it with a key |
| System monitor | Tracks CPU, RAM, and disk usage |
Factors affecting choice of utility software include cost, compatibility, ease of use, and performance overhead.
Application software
Application software performs specific tasks for users. It runs on top of the operating system.
| Category | Examples |
|---|---|
| Productivity | Word processors, spreadsheets, presentation tools |
| Creative | Image editors, video editors, music production |
| Communication | Email clients, video conferencing tools |
| Database | Systems for storing and querying structured data |
| Web browser | Software for accessing and displaying web content |
Factors affecting choice include: functionality, cost, compatibility, ease of use, support, and security.
Open source software
What is open source?
Open source software makes its source code publicly available. Anyone can inspect, modify, and distribute it.
Examples
- Linux (operating system)
- LibreOffice (productivity suite)
- Firefox (web browser)
- MySQL (database)
Principles and implications
| Aspect | Open Source | Proprietary (Closed Source) |
|---|---|---|
| Source code | Publicly available | Hidden from users |
| Cost | Usually free | Often requires a licence fee |
| Modification | Anyone can modify and redistribute | Cannot be modified by users |
| Support | Community forums, documentation | Official vendor support |
| Security | Code can be audited by anyone | Vulnerabilities may go undetected longer |
| Reliability | Widely tested by large communities | Tested internally by the vendor |
Exam point
The exam often asks you to discuss the implications of open source. Consider both sides: open source code can be audited for security flaws by anyone (good), but it can also be studied by attackers looking for vulnerabilities (risk).
Summary
| Term | Meaning |
|---|---|
| Kernel | Core of the OS, manages all hardware and process communication |
| Multi-tasking | Running multiple processes by rapidly switching between them |
| Driver | Software allowing the OS to communicate with a hardware device |
| Open source | Software with publicly available source code |
| Utility software | Tools for maintaining and managing a computer system |