Hardware, Software and the Operating System
What separates hardware from software, the four jobs an operating system does that nothing else can, and the utility programs that keep a machine usable.
Hardware and software
Hardware is the physical components of a computer system: the parts you could pick up. The processor, the memory modules, the drive, the keyboard, the screen, the cables.
Software is the programs and data that run on that hardware. Software has no physical existence of its own. It is a pattern of bits held in hardware, which is exactly why a single machine can be a games console, a word processor and a calculator without any physical change.
Hardware does nothing useful without software to tell it what to do, and software cannot run without hardware to run on. Each is useless alone.
- Hardware is the physical parts you can touch, such as the monitor, keyboard, processor and memory.
- Software is the programs: the instructions, such as a browser, a word processor, a game or the operating system.
- Software gives the instructions and hardware carries them out. A computer needs both.
System software and the operating system
Software divides into two categories.
System software manages the computer itself. It includes the operating system and utility programs.
Application software lets a user carry out a particular task: a browser, a word processor, a game, a photo editor.
The test is who the software is for. Application software serves the user's purpose. System software serves the machine, so that application software can run at all.
What an operating system does
AQA names four core functions, and every one is examinable.
Processor management. The OS decides which process gets the processor and for how long, switching between them fast enough that they appear to run at once. Without this, one program would occupy the machine until it finished.
Memory management. The OS allocates memory to each running program and keeps them out of one another's memory. When physical memory runs out it moves less used pages to virtual memory on the drive.
Peripheral management. The OS talks to input and output devices through device drivers, so an application can simply say "print this" without knowing anything about the specific printer attached.
User management. The OS handles accounts, logins and permissions, so different users have different files and different rights on the same machine.
It also provides the user interface, whether graphical or command line, through which everything else is reached.
Say what is being managed and why it matters. "Memory management allocates memory to each program and prevents one program writing into another's memory, which would crash it" is the full answer.
- The hardware at the bottom: the parts you could drop on your foot.
- The operating system sits on it and manages all of it for you.
- Utility software does the housekeeping jobs around the system.
- Your applications sit on top and never touch the hardware directly.
- That is why a program written once runs on very different machines.
- The operating system sits between the applications and the hardware, so a program never has to deal with the hardware directly.
- It shares out the computer's resources: memory, processor time and storage.
- It also talks to devices through drivers, keeps the system secure and provides the user interface.
Utility software
Utility software performs maintenance and housekeeping on the computer. It is system software, but it is not part of the operating system's core job.
| Utility | What it does | Why it is needed |
|---|---|---|
| Encryption software | Scrambles data so it is unreadable without the key | Protects data if a device is stolen or intercepted |
| Defragmentation | Rearranges files so their parts are stored together | Reduces the movement a mechanical drive's head must make, so files load faster |
| Data compression | Reduces file sizes | Saves storage and transmission time |
| Backup | Copies files to a separate location, often on a schedule | Allows recovery after failure, deletion or a ransomware attack |
| Anti-malware | Scans for and removes malicious software | Detects known threats before they run |
A solid state drive has no moving head, so there is nothing to be gained by moving files together, and the extra writes actually shorten the drive's life. AQA has asked exactly this.
- Antivirus finds and removes malware.
- A firewall blocks unwanted traffic and lets allowed traffic through.
- Defragmentation puts each file's pieces next to each other, which speeds up a hard disk.
- Compression makes files smaller so they use less storage and send faster.
- Backup keeps a second copy of your files in case the originals are lost.
- Encryption scrambles data so that only someone with the key can read it.
Key terms you must be able to define
- Hardware
- The physical components that make up a computer system.
- Software
- The programs and data that run on hardware and tell it what to do.
- System software
- Software that manages the computer itself, including the operating system and utilities.
- Application software
- Software that lets the user carry out a particular task.
- Operating system
- System software that manages the processor, memory, peripherals and users, and provides the user interface.
- Device driver
- Software that lets the operating system communicate with a particular hardware device.
- Utility software
- System software that carries out maintenance tasks such as backup, compression or defragmentation.
- Defragmentation
- Rearranging the parts of files on a mechanical drive so each file is stored together.
Flashcards
Say the definition out loud before you flip the card. Retrieving it from memory is what builds recall, reading it again is not.
Reach the top grade on this topic
Answers on this topic separate on specificity.
Name the function and its consequence. Not "the OS manages memory" but "the OS allocates each program its own area of memory and stops one program writing into another's, which would otherwise crash it".
Say who the software is for. The distinction between application and system software is about purpose, not about complexity, and a top answer says so.
Be careful with defragmentation. Any question that mentions a solid state drive is testing whether you know that defragmenting it is pointless and mildly harmful.
Mistakes that cost marks here
- Calling a device driver hardware. It is software that lets the OS talk to hardware.
- Saying utility software is application software. Utilities maintain the machine, so they are system software.
- Describing the operating system as 'the desktop'. The interface is one part of what it does.
- Saying defragmentation speeds up a solid state drive. It does not, and it wears the drive out faster.
- Listing OS functions without saying what each one achieves.
The first operating system, GM-NAA I/O, was written in 1956 by General Motors and North American Aviation, not by a computer manufacturer. Customers built it because loading each program by hand was wasting more time than the programs took to run.
Knowledge check
Exam-style questions
Five written questions in the style of the real paper. Write a full answer, then let the marker check it against the mark scheme.
- LSystem software manages or maintains the computer itself
- LApplication software allows the user to carry out a particular task
System software manages and maintains the computer itself, the operating system and utilities being the main examples. Application software is installed so that the user can carry out a particular task, such as writing a document or browsing the web.
- LMemory management, allocating memory to running programs
- LExplains a consequence, such as preventing one program writing into another's memory
- LProcessor management, scheduling which process runs and for how long
- LExplains a consequence, such as several programs appearing to run at the same time
The first function is memory management. The operating system allocates an area of memory to each running program and keeps track of what is in use, which prevents one program from writing into memory belonging to another and crashing it. When physical memory is exhausted it moves less recently used pages to virtual memory on the drive so that programs can continue. The second is processor management. The operating system schedules which process gets the processor and for how long, switching between them fast enough that they appear to the user to be running at the same time, which is what makes multitasking possible on a single core.
- LDefragmentation moves file parts together to reduce read head movement
- LA solid state drive has no moving parts, so access time is the same wherever data is stored
- LThe extra writes use up the drive's limited write endurance and shorten its life
Defragmentation exists to reduce how far the read head of a mechanical hard drive has to travel, by gathering the scattered parts of each file into one place. A solid state drive has no moving parts at all, and every location on it is reached in the same time, so bringing the parts of a file together gains nothing whatsoever. Worse, defragmentation involves rewriting a very large amount of data, and the memory cells in a solid state drive can only be written a finite number of times, so the operation actively shortens the life of the drive in exchange for no benefit.
- LEach hardware device has its own specific set of commands
- LThe driver translates general instructions into the commands that device understands
- LSo software can be written once and work with any device of that type
Every piece of hardware has its own particular set of commands and its own way of being addressed, and those differ between manufacturers and even between models from the same manufacturer. A device driver is software supplied for one specific device that translates the general instructions the operating system issues into the exact commands that device understands. That means an application can simply ask the operating system to print a page without knowing anything about the printer attached, and a new printer can be supported by installing a new driver rather than by rewriting every program.