Hardware and Software
Two Halves of Every Computer
Pick up your phone. The glass, the metal, the chips inside — everything with weight — is hardware. Now think about what makes it your phone: the apps, the games, the operating system. None of that weighs anything. That is software.
- Hardware — the physical components of a computer system. You can touch it (or could, if you opened the case).
- Software — programs: organised sets of instructions that tell hardware what to do. You can only touch the storage it lives on, never the software itself.
A famous way to remember the relationship: hardware is the parts you can kick; software is the parts you can only swear at. More usefully — hardware without software is an expensive paperweight, and software without hardware is just an idea. Computing needs both.
A Tour of Hardware
Hardware splits naturally into groups you have partly met before:
- Processing — the CPU, which executes instructions
- Memory and storage — RAM for now, SSDs and hard drives for keeps
- Input devices — keyboard, mouse, touchscreen, microphone, camera, sensors
- Output devices — screen, speakers, printer, motors and lights
- Connectivity — network hardware that links machines into networks
Everything here obeys instructions blindly. The intelligence comes from the other half.
A Tour of Software
Software also splits into two big families:
Application software (apps) does things for you: browsers, games, word processors, photo editors, music players. When you "use a computer", you are almost always using an application.
System software does things for the computer — above all, the operating system (OS): Windows, macOS, Linux, Android, iOS. The OS is the manager of the whole machine. It:
- Runs programs — loading them from storage into memory and sharing CPU time among them
- Manages memory — deciding which program gets which part of RAM
- Manages files — folders, names, saving, and deleting
- Talks to devices — one printer button works the same from any app, because the OS handles the printer
- Controls access — logins, passwords, and permissions
The Layer Cake
The parts stack into layers, and the stack is abstraction made visible:
you
↓ taps, clicks, keys
application (the game, the browser)
↓ "save this file", "draw this"
operating system
↓ device instructions
hardware (CPU, RAM, storage, screen)
Each layer only needs to understand the layer directly beneath it. A game asks the OS to save the file and never worries about which brand of SSD the machine has. You tap an icon and never worry about memory management. Every layer hides messy detail from the one above — which is exactly why a child can use a device containing billions of logic gates.
This also explains updates: when your phone "installs a system update", none of the hardware changes. Software is just data — instructions stored on the storage drive — so it can be replaced, fixed, and improved over the air. Hardware problems need a screwdriver; software problems need a debugger.
When Software Meets Hardware
Software makes demands on hardware. A game's box might say: requires 8 GB RAM, 50 GB storage, and a modern graphics card. Those system requirements are the software declaring the minimum physical machine it needs. Run heavyweight software on lightweight hardware and you get stutter, loading pauses, and crashes — not because anything is broken, but because the desk is too small for the job.
Try It Yourself
Sort these into hardware, application software, or system software: touchscreen, weather app, iOS, webcam, video editor, Windows, SSD, calculator app, printer. Then the harder question: when a video call stutters, list three possible causes — at least one hardware, one software, and one network.
Worked Example — Diagnosing "My Laptop Won't Print"
Hardware/software thinking turns vague frustration into a systematic diagnosis. When printing fails, work down through the layers instead of guessing randomly:
- Hardware layer — Is the printer switched on? Plugged in or paired over Wi-Fi? Does it have paper and ink? (A dead hardware layer means nothing above it can possibly work.)
- Driver/OS layer — Does the operating system actually recognise the printer as connected? Is the correct driver installed — the software translator between the OS and this specific printer model?
- Application layer — Is the app trying to print sending a sensible request — right printer selected, right paper size?
Notice the order: it goes from the bottom of the layer cake upward, because a failure low down (printer unplugged) makes every layer above it fail too, while a failure high up (wrong printer selected in the app) can happen even when everything below is perfectly fine. Professional IT troubleshooting almost always works this way — checking the hardware first, then the system software connecting to it, then the specific application — because it quickly narrows down which layer actually contains the fault, rather than guessing at random.
Why "Have You Tried Turning It Off and On Again?" Works
That famous piece of tech support advice is not a joke — it is a real application of the layer model. Restarting reloads the operating system fresh into RAM, clearing out any corrupted temporary state that had built up in the system-software layer, without touching the hardware or your saved files at all. It fixes an enormous number of real problems for exactly this reason: many faults are not "broken hardware" or "corrupted software", but a software layer stuck in a bad temporary state that a clean reload simply erases.
Key Words
- Hardware — the physical components of a computer system
- Software — programs: instructions that tell hardware what to do
- Application software — programs that perform tasks for the user
- System software — programs that manage the computer itself
- Operating system (OS) — the system software managing hardware, files, and running programs