# A-level Computing 2009/AQA/Processing and Programming Techniques/Operating Systems
## Operating System Classification

There are several types of operating systems.

### Interactive

In an interactive operating system, the user interacts directly with the operating system to supply commands and data as the application program executes and the user receives the results of processing immediately. The user is in direct two way communication with the computer.

### Real time

A real time operating system will give guaranteed feedback within a predefined set period of time, therefore taking away the unpredictability of the operation being carried out. This allows for the system to be mathematically modelled to allow the time needed for operations to be carried out to be determined, even under the predicted maximum stress levels. It allows deadlines to be set on operations being carried so as to provide a "best of" result within the time period able to be given for an operation.
Example: If a real time operating system was used to control a planes rudders (via a RT application) it would need to set deadlines on the calculations used to calculate rudder movements. Without these deadlines a calculations results may be returned to late and cause to plane to crash.
One very important factor to remember about real time operating systems and applications is that "the right answer late is wrong". After all what is the point in having the correct answer to a planes rudder calculation if it comes too late and the plane has already crashed because the rudder angle was not changed earlier.

### Multi-programming system

Multi programming is the apparent simultaneous execution of two or more programs. In a desktop computer, for example, several programs all seem to be running at the same time. What is really happening is that the processor is switching between each program, giving each one a small slice of processor time. This happens fast enough to create the illusion of several programs running at once.

### Multi-user system

A multi user operating system allows two or more users to communicate with the computer at the same time. Each user has a terminal with a display unit and an input device, like a keyboard, which is connected to the computer system. The processor switches between each user's programs very quickly, and each user is unaware of anybody else using the computer from another terminal.

### Command Line Interface

A command line interface or CLI is a tool for interacting with computers, often using a text terminal. Commands are entered as lines of text (that is, sequences of typed characters) from a keyboard, and output is also received as text. CLIs originated when teletype machines were connected to computers in the 1950s. In terms of immediate interaction and feedback, they represented an advance over the use of punch cards.
* Can be quicker to perform tasks if you know the instructions to write
* Is light on computer resources in comparison to a GUI
* Not intuitive, can be hard for beginner users to get to grips with
* May take more time to perform complex tasks that could be executed with a few clicks in a GUI

### Graphical user interface

A graphical user interface (GUI) allows the user to interact with their operating systems via the use of windows, menus and a pointer. A typical GUI allows the user to click icons on screen and follow through hierarchical structures rather than having to type command lines.
* Can be quicker to perform complex tasks if you don't know the syntax
* Intuitive, easy for a beginner to get to grips wit
* Requires a lot of processing power to display the GUI, leaving less for the tasks at hand
* Some tasks may be quicker to perform on a CLI