# A-level Computing/WJEC (Eduqas)/Component 2/The operating system

The operating system is a key component of the modern day computer. The purpose of the operating system is to remove the complexity of communicating with hardware devices from the developer of software, for example when writing file saving routines. The operating system is responsible for managing system resources such as processor time, allocation of Random Access Memory (RAM) and secondary storage devices such as a Solid State Drive (SSD).

## Types of Operating System

There are a variety of operating systems types specialised for different applications you need to be aware of. You may be asked to describe which type of operating system would be most applicable to a certain situation or compare different types to each-other.

### Single-user operating system

A single-user operating system has only a single user active at any given time. Single-user operating systems can support more than a single user, with each user usually having their own 'home' directory to store their files. The operating system manages permissions controlling which user can access which directories. Most desktop operating systems are single-user, such as Windows.

### Multi-user operating system

A multi-user operating system allows many users to access the resources of the system simultaneously. Users access a multi-user operating system remotely, usually over a network from another device such as a terminal, mobile device or desktop computer. When accessing the system from these devices, it's important to note that the processing occurs on the remote system and not the device which you are using. The multi-user operating system will use time-sharing to distribute its resources between the users.

### Multi-programming operating system

A multi-programming operating system is one which keeps multiple tasks in the memory simultaneously such that if a task is waiting on an I/O operation another task can be worked on by the CPU. This way, the time that the CPU spends idling is reduced and the efficiency of the system is increased. To the user, each task appears to be processed at the same time.

### Multi-tasking operating system

A multi-tasking operating system is one which can process more than one program at the same time. CPU time is shared between processors by the operating system's scheduler program. Whilst a computer can appear to the user to be running a game and playing music at the same time, a single processor can only process one thing at any given time.

### Real-time operating system

A real-time operating system is one which must react quickly to inputs. Since computers are so fast, a delay of only a few milliseconds between input, processing and output can appear to the user to be instant. A real-time operating system has been specifically designed to minimise processing overheads to achieve this fast speed. Real-time control operating systems are usually used in embedded applications and suited to situations where speed is the most important factor, such as the auto-pilot system for an aircraft. Real-time transaction systems are those which are designed to react quickly to input, but will only save changes if the entire operation has been successful. For example, it would be unacceptable for an ATM to withdraw money from an account then fail to give the user their banknotes.