An operating system is responsible for managing the whole computer system. It has many different functions, which are all important for the overall operation of the computer. They include providing a user interface, management of the memory, peripheral management, multi-tasking and security.
To understand what operating systems are responsible for, we need to break down the jobs that they do:
Communication between a user and a computer is two-way. We know that one of the jobs of the operating system is to provide a 'user interface', so that a human can communicate with the hardware that makes up a computer. When you buy a piece of software, it too will have a user interface, so that you can access and use the software. A user will give data and instructions to a computer and a computer will give information back to a user. The way that a computer and a user communicate is known as the 'interface'. There are alternative terms to describe this. Another common term is the 'Human-Computer Interface' (HCI).
Although we have just explained why you need a user interface, you should be able to describe them to really understand what they are all about. We will describe the different types of interface you might come across and identify their characteristics.
There are five different types of interface that you should be aware of. These are:
We can summarise the five types of interface using a diagram.
The first kind of software interface we will look at is the form-based interface. Just for a moment consider a paper-based form that you are asked to fill in, perhaps for the membership of a club or an application for a driving licence. What you have to write down is highly directed. There are instructions to help you, boxes where you write or select information from some choices and boxes where you simply tick one of a selection. A form-based software interface on a computer is similar to a paper-based 'interface'. The input into the computer is predictable. If you used a range of form-based interfaces, you would start to see a number of common characteristics:
Form-based interfaces are very suitable for any application that involves entering predictable pieces of information into the computer. Examples include:
All of these activities might be done with the aid of a form-based interface. This is because the same, predictable information will be asked for by the operator or by the web-based organisation over and over again for each order or questionnaire or application. Here is an example of a form-based interface.
An example of a form-based interface.
Menu-based systems are ideal for situations where the user's IT skills cannot be guaranteed or in situations which require selections to be made from a very wide range of options or in situations which require very fast selection. The user of a system that uses a menu-based interface will be presented with a limited number of options on the screen. Once a selection has been made, the user is presented with a sub-menu. This gives them further options. They make another selection and may be presented with a further sub-menu. This continues until the user is able to select exactly what they want from the choices finally displayed on the screen. Here is an example of a menu-based screen that might be found at a tourist office.
A tourist, who may not have any IT skills, could be presented with a screen with 9 buttons on it, perhaps including theatres, cinemas, pubs and trains, for example. They would touch the touch screen in the area of one of the buttons to make a selection. If they selected 'Cinemas', for example, they would then be presented with a sub-menu. This might look like another menu-based screen with six buttons on it, for example, one for each cinema in the area. If they then selected one of those, they would be presented with the films that are currently showing and the times they are on. This type of user interface is about as simple as you can get. You do not need any computer skills to access the wealth of information on a system like this.
Consider a factory where workers are working in a noisy, dirty environment. Workers may not want to be fiddling around with keyboards, typing in commands. They could have a menu-based interface instead. This would quickly allow them to find the option they wanted and to select it, simply by touching a touch screen.
Consider a stockbroker. Their job may involve sitting at a computer screen and watching how many different share prices are changing. Shares may be grouped and they can select a particular group or an individual share quickly by selecting a type of share from a menu. They might then select a subset of that type from a sub-menu and so on, until they get the group of shares or the individual share they want to monitor. It is far quicker to find what they want using menus and sub-menus than it is typing in commands.
Interfaces that are graphical in nature are known either as Graphical User Interfaces (GUI) or WIMP interfaces (Windows, Icons, Menus and Pointer). Typically, you would expect these types of interfaces to be available in multi-tasking environments (where you open and use more than one piece of software at a time) or in applications software that involve a considerable degree of complexity. You will all have used a GUI hundreds of times, when you used Windows, or Word, or a Star Office application, or Paint in primary school, or Explorer or Netscape to surf the web and so on. Each of these applications has its own 'window' that it opens up into, and you can open up more than one application (and therefore more than one window) at a time. Only one application is 'active' at any one time. In Windows, you know which one is active because the active window has a bright blue bar at the top of the window, as opposed to a dimmed blue bar. There are also icons you can click on for fast access to the tools in the application. There are drop down menus that ensure you don't have hundreds of options constantly on display, taking up room on the screen. The pointer is usually a mouse. A mouse ensures that you can make selections quickly rather than having to use a keyboard, which is slower and prone to mistakes.
To summarise, you would typically expect to find the following in a GUI or WIMP user interface:
Companies who make different applications usually try to keep a common 'feel' to the interface in each application. This helps users who are familiar with one application to quickly pick up a new application designed by the same company. You probably have had some experience of this yourselves. You know how to save a file in a new application because it is done in the same way as in another application you used by the same manufacturer.
A command line interface requires a user to type in commands from a list of allowable commands. Suppose you want to back-up a file called donkey.doc to a folder (directory) called animals on your floppy disk. In a GUI, you would open your file manager, click on the file you want to save and drag it to the folder called animals on the floppy disk. Anyone can do that! If you wanted to do the equivalent in DOS, for example, which has a command line interface, you would have to know how to construct the command to copy a file from one place to another. You would have to type: C:\> copy donkey.doc a:\animals
This type of interface can take a long time to learn and is not intuitive. For inexperienced users it can be a frustrating type of interface whilst for experienced users it can be very powerful. This is because command line interfaces provide commands that can get a user very close to the workings of the components of a computer system. There are commands that can manipulate the hardware and software in a computer system in a way that simply cannot be done using a GUI. Indeed, there are tasks where you have to use a command line interface to carry them out. UNIX and DOS are good examples of operating systems that use this kind of interface.
Typical users of command line interfaces are technicians and network managers. They need to perform many set-up tasks and system tasks. These tasks can only be done using this type of interface.