Operating Systems & Utility Software
Behind every app you open and every file you save sits a layer of software you rarely see, called system software. Its job is to control the computer itself and make it usable, so that the programs you actually care about — games, browsers, word processors — have a stable place to run.
The most important piece of system software is the operating system, often shortened to OS. Windows, macOS, Linux, Android and iOS are all operating systems. The OS acts as a bridge between the hardware, the applications and the person using the machine, hiding the complicated details so that everything just works.
The five main jobs of an operating system
The first job is to provide a user interface. On most home computers this is a graphical interface, with windows, icons, menus and a pointer you control with a mouse or touchpad. It gives the user a simple, visual way to run programs and manage files without typing commands. Some systems also offer a command line, where instructions are typed in as text.
The second job is memory management and multitasking. The OS decides how the computer’s memory is shared out, allocating an area of memory to each program that is running and moving data into and out of memory as it is needed. This careful sharing is what allows multitasking, so you can listen to music while writing an essay and keep a browser open at the same time.
The third job is peripheral management. Data has to be transferred between the processor and the many devices attached to a computer, such as printers, keyboards and storage drives, and this flow has to be managed so nothing is lost or muddled. The OS does this using a device driver for each piece of hardware, a small program that translates the OS’s instructions into signals the device understands.
The fourth job is user management. The OS lets a computer have several separate accounts, each with its own settings and files. It controls access rights, deciding what each user is allowed to see and change, which keeps one person’s work private and stops ordinary users from altering important system settings.
The fifth job is file management. The OS organises how data is stored, letting you name files, group them into folders, move and copy them, and save or delete them. It keeps track of where every file is physically stored on the drive so it can be found again instantly.
An operating system carries out five key jobs: providing a user interface, managing memory and multitasking, managing peripherals through drivers, managing users and their access rights, and managing files.
A single processor can really only do one thing at a time, so multitasking is a clever illusion. The operating system gives each running program a tiny slice of processor time in turn, switching between them so quickly that they all appear to run together. To make this work it must allocate each program its own area of memory and transfer data between memory and the processor as each program takes its turn. If a program is not being used at that instant, its data can be moved aside to free memory for the others.
Utility software
Alongside the operating system, computers usually come with utility software. These are small tools that carry out housekeeping tasks — the background jobs that keep a system healthy and secure but that the operating system does not always handle on its own. Three important examples are encryption software, defragmentation and data compression.
Encryption software protects data using encryption. It scrambles the contents of a file into an unreadable form using a key, so that if the file is stolen or intercepted, a thief cannot make sense of it. Only someone with the correct key can turn the data back into its original form. This is vital for confidential information such as passwords, bank details and personal records.
Defragmentation tackles a problem that builds up on hard disk drives over time. As files are saved, deleted and resaved, a single file can end up split into pieces scattered across the drive. Defragmentation software reorganises the drive so the pieces of each file are stored next to each other again. This means the read/write head has less distance to travel, so files load faster.
Data compression software reduces the size of files by encoding them so they use fewer bits. Smaller files take up less storage space and can be sent across a network more quickly, which is why compression is used for photos, music and email attachments. It performs a task the operating system does not do by default, which is exactly why it counts as utility software.
Utility software performs housekeeping tasks the operating system may not. Encryption software scrambles data to keep it secure, defragmentation reorganises scattered files to speed up a drive, and compression shrinks files to save space and transfer time.
On a hard disk drive, data is read by a moving head that travels across spinning platters. When a file is fragmented, its pieces are scattered in different places, so the head has to jump around to collect them all, and each jump takes time. The more fragmented the drive, the more the head has to move, and the slower files load. Defragmentation gathers each file’s pieces back together so the head can read them in one smooth sweep. Solid state drives have no moving parts, so they do not benefit from defragmentation in the same way.
It helps to keep system software and application software separate in your mind. Application software is the programs you use to get a job done, like a spreadsheet or a photo editor. System software — the operating system and utility programs — works quietly in the background to run the machine and keep it in good order so those applications can do their work.