Systems Software
What the operating system is really doing while you use a computer, all five of its management jobs, and every utility program on the specification.
What system software is
Software divides into two categories.
- System software runs the computer itself: the operating system and utility programs.
- Application software lets the user do a task: a browser, a word processor, a game.
Does the user run this to get a job done, or does the computer need it to function? Word processor is application. Disk defragmenter is system.
- 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
The operating system manages the hardware and software of a computer and provides an environment in which applications can run. Without it, nothing else works.
It has five main jobs on this specification.
1. User interface
The operating system provides the way the user interacts with the machine.
- Graphical user interface (GUI). Windows, icons, menus and a pointer. Easy for beginners, and it requires more processing power and memory.
- Command line interface (CLI). The user types text commands. Uses very few resources and is far more powerful for experienced users, and it has a steep learning curve because commands must be memorised.
2. Memory management and multitasking
The operating system decides which programs and data are held in RAM and where.
- It allocates memory to each program and keeps them separate, so one program cannot overwrite another's data and crash it.
- It frees memory when a program closes.
- It manages virtual memory when RAM is full.
Multitasking is the appearance of several programs running at once. The operating system gives each process a small slice of CPU time and switches between them very rapidly, so quickly that the user perceives them as simultaneous.
3. Peripheral management and drivers
The operating system controls communication with input and output devices.
A device driver is software that translates operating system instructions into commands a specific piece of hardware understands. Each type of device needs its own driver, which is why plugging in a new printer often installs software.
4. User management
The operating system manages accounts.
- Creating and deleting user accounts
- Authenticating users with usernames and passwords
- Setting access rights, so each user reaches only what their role allows
- Keeping each user's files and settings separate
5. File management
The operating system organises files on secondary storage.
- Naming, saving, opening, moving, copying, renaming and deleting files
- Maintaining the folder structure
- Recording where each file is physically stored
- Managing access permissions on files
"State three tasks of an operating system." Learn the five headings and you can always name three with confidence: user interface, memory management, peripheral management, user management, file management.
- 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 tasks that keep a computer running well. It is system software, but it is separate from the operating system itself.
Encryption software
Scrambles data using a key so it is unreadable without that key. Used for full disk encryption, protecting files and securing communication. If a laptop is stolen, encrypted data is useless to the thief.
Defragmentation
Over time, files on a magnetic hard disk become fragmented: parts of the same file end up scattered across the disk because they were saved into whatever gaps were available.
The read write head then has to move to several different places to read one file, which is slow.
Defragmentation rearranges the data so that the parts of each file are stored together in contiguous blocks, and gathers the free space into one area. This reduces head movement and speeds up access.
SSDs have no moving parts, so there is no head movement to save and no speed benefit. Worse, defragmentation writes data unnecessarily, and flash memory has a finite number of write cycles, so it shortens the drive's life. This point earns marks in comparison questions.
Data compression
Reduces file sizes so that more can be stored and files transfer more quickly. Covered in detail in the compression topic.
Backup
Creates copies of data so it can be restored after loss, corruption, hardware failure, ransomware or accidental deletion.
- Full backup. Copies every file. Slow to create and uses a lot of storage, but restoring is quick and simple because everything is in one place.
- Incremental backup. Copies only the files that have changed since the last backup of any type. Very fast to create and uses little storage, but restoring is slower because the last full backup and every incremental backup since must be applied in order.
A typical strategy is a full backup weekly with incremental backups daily, which balances the speed of creating backups against the time it takes to restore.
- 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
- System software
- Software that runs and maintains the computer itself, such as the operating system and utilities.
- Operating system
- System software that manages hardware and software and provides an environment for applications to run.
- GUI
- Graphical user interface. Interaction through windows, icons, menus and a pointer.
- CLI
- Command line interface. Interaction by typing text commands.
- Multitasking
- Rapidly switching the CPU between processes so several programs appear to run at once.
- Device driver
- Software that translates operating system instructions into commands a specific hardware device understands.
- Utility software
- Software that performs maintenance tasks such as backup, compression, encryption and defragmentation.
- Fragmentation
- When parts of the same file are stored in separate locations on a disk, slowing access.
- Defragmentation
- Reorganising data on a magnetic disk so files are stored in contiguous blocks.
- Full backup
- A copy of every file, slow to create but quick to restore.
- Incremental backup
- A copy of only the files changed since the last backup, quick to create but slower to restore.
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
The examiner is looking for the reason behind the task, not just the task.
Memory management is not "it manages memory". It allocates memory to each program, keeps programs separate so one cannot overwrite another and cause a crash, and frees memory when programs close.
Multitasking is not "running several programs at once". The CPU switches between processes extremely rapidly, giving each a slice of time, so they appear to run simultaneously.
Defragmentation questions almost always include an SSD trap. Know that defragmenting an SSD gives no benefit and actively wastes write cycles.
Backup comparison is a favourite. The trade off is always the same shape: incremental is fast to create and slow to restore, full is slow to create and fast to restore.
- Name all five operating system management jobs from memory
- Explain multitasking in terms of time slicing, not just simultaneity
- Explain fragmentation and defragmentation with reference to head movement
- Compare full and incremental backup on both creation time and restore time
Mistakes that cost marks here
- Listing 'runs programs' as an operating system task without saying it manages memory and CPU time to do so.
- Saying a GUI is 'better' than a CLI. A CLI uses fewer resources and is more powerful for expert users.
- Recommending defragmentation for an SSD. It provides no benefit and consumes write cycles.
- Saying incremental backups are 'better' outright. They are faster to create but slower to restore.
- Confusing utility software with application software. A word processor is an application, a backup tool is a utility.
When a computer looks like it is running twenty programs at once, it usually is not. A single core switches between them thousands of times per second, giving each a tiny slice of time. The illusion is so convincing that we had to invent a word for it, multitasking.
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.
- LManages memory or provides multitasking
- LManages peripherals and device drivers
- LManages files, users or provides the user interface
An operating system manages memory, allocating it to programs and freeing it when they close as well as handling multitasking. It manages peripherals, using device drivers to communicate with input and output hardware. It also manages files and folders on secondary storage, and provides the user interface through which the user interacts with the computer.
- LEach program or process is given a small slice of CPU time
- LThe operating system switches rapidly between processes
- LThe switching is so fast that the programs appear to run simultaneously
The operating system allocates each running process a very small slice of processor time, and then switches the CPU rapidly from one process to the next according to a scheduling algorithm. Because each switch happens in a fraction of a second, far faster than a person can perceive, every program appears to be making continuous progress, giving the impression that they are all running at the same time even on a single core processor.
- LOver time files become fragmented and stored in separate parts of the disk
- LThe read write head must move to several locations to read one file
- LDefragmentation rearranges the data so file parts are stored together
- LLess head movement is required so files are accessed more quickly
As files are created, edited and deleted, gaps appear on the disk and new data is written wherever space is available, so parts of the same file end up stored in several separate locations, which is known as fragmentation. Because a magnetic hard disk reads data using a physical head on a moving arm, opening a fragmented file requires the head to move to each of those locations in turn, and this mechanical movement is by far the slowest part of the operation. Defragmentation software reorganises the contents of the disk so that all the parts of each file are placed together in contiguous blocks and the free space is gathered into one area. The head then only needs to move a short distance to read a whole file, so access times fall and the drive performs noticeably better.
- LA full backup copies every file
- LAn incremental backup copies only files changed since the last backup
- LFull backups take longer to create and use more storage
- LIncremental backups are faster to create but slower to restore because multiple backups must be applied
A full backup makes a complete copy of every file in the selected data, whereas an incremental backup copies only those files that have been created or changed since the previous backup of any kind. This produces opposite strengths. A full backup takes considerably longer to create and requires much more storage space, because the same unchanged files are copied every time, but restoring is fast and simple because everything needed is contained in a single backup set. An incremental backup is very quick to create and uses very little storage, but restoring is slower and more complex, because the most recent full backup must be restored first and then every incremental backup since must be applied in the correct order, and if any one of them is missing or corrupted the restore may fail.
- LLaptops carried outside the office are at higher risk of loss or theft
- LEncryption scrambles the data using a key so it cannot be read without that key
- LIf the device is stolen, confidential company or customer data remains protected
Laptops that leave the office are at a much higher risk of being lost or stolen, whether left on a train, taken from a hotel room or snatched in a public place. Encryption software protects against this by scrambling all the data on the drive using a key, so that the contents are meaningless to anyone who does not have that key, even if they remove the drive and connect it to another computer. This means that if a laptop is stolen the company loses the hardware but not the confidential business information or the personal data of its customers, which also helps the company meet its legal obligations under data protection law and avoid the penalties and reputational damage that follow a data breach.