# A-level Computing/CIE/Computer systems, communications and software/System software/Operating systems

The operating system is the main item of system software and without it no computer will work. All applications software runs within the operating system and does not directly interface with the hardware.

## Purpose of an Operating System

The operating system controls the system's hardware and stores and retrieves information from the system's memory. All hardware operates in a slightly different way and it is the operating system that hides this complexity from the applications software. Without this buffer between the hardware and applications every application would need to be written to work with all possible hardware combinations. Instead the applications are written to work with a particular operating system, which works with the hardware.
The operating system:
* Provides an interface between the computer and the Human user.
* Manages the system's resources, such as memory, processing capacity, etc.
* Controls input and output devices.
* Writes and reads data to and from disk.
* Provides an environment in which applications software can be run.
* Controls user access rights.
* Hides the complexities of the hardware from the user.

## Types of Operating System

Operating systems can be categorised by how they process data: either in real-time or in batches as well by whether they are single-user of multi-user. Whether or not an operating system allows for multi-tasking is also an important attribute of an operating system. For managing networks containing many machines it is also necessary to have another type of operating system; a network operating system.
The big advantage of computers is that they are fast. They are not clever or magical but often appear to be because they can do so many simple things in a very short amount of time. Even a quite basic modern processor can perform several billion operations per second. The slowest part of any computer system is the Human operating it. In reality this means that a computer spends much of its time waiting for instructions from a Human. In the early days of computers when computer systems were more expensive this inefficiency was a big problem. Batch-processing was used as a means to overcome it.
By grouping processing requests together into batches computers can be used more efficiently by removing the slowest part of the system; the user. These days when computers are cheaper it is sometimes more desirable for operating systems to run in real-time.
Batch processing is still used in computer systems where there are large amounts of data to be processed, such as in bank mainframes which process millions of customer records. Real-time processing is more common in systems where responsiveness is important such as when running simulations.
A single-user operating system is one which allows a single user to access it at any one time. Although there may be different users with different access rights only one user can use the system at once. The desktop PCs, laptops, tablets and so on that you will be used to using operate this kind of operating system. By contrast a multi-user operating system allows several users to access it simultaneously. An example of this type of operating system is known as a thin client system, which consists of a single powerful computer and several dumb terminals. The dumb terminals simply provide an interface with the server which is where all processing takes place.