Titlebar
Home FAQ and Resources 2.1.1 Fundamentals

2.1.2 Hardware

2.1.3 Software 2.1.4 Data 2.1.5 Databases 2.1.6 Comms & networks 2.1.7 Programming


 

2.1.3 Software


a) Operating system functions

b) Common utility programs

c) Types of software

 





2.1.3 a) The common functions of an operating system

Introduction
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.

Functions

To understand what operating systems are responsible for, we need to break down the jobs that they do.

User interfaces
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:

  1. Form-based interfaces.
  2. Menu-based interfaces.
  3. Graphical User Interfaces (or GUIs).
  4. Command line interfaces.
  5. Natural language interfaces.
We can summarise the five types of interface using a diagram.

Interfaces

Forms
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.
  • There are field names, names next to a place where information must be entered. The places where information should be entered in by the operator are known as 'response fields'.
  • Other types of response fields include radio buttons and drop-down selectors.
  • The cursor 'tabs' automatically from one response field to the next. This guides the user logically through the form, ensuring that all the information needed is gathered.
  • As data is entered, it is 'validated'. Validation attempts to ensure that only sensible data is entered into the system and data that is not sensible is rejected. Validation helps ensure that data entered into any system maintains its 'consistency'. This means that any data stored is only of the format expected in a particular field. Data can be validated using a range of methods.
  • Input can be changed/cancelled if necessary.
  • Data is finally entered into the system only when an 'OK' button, ENTER or something similar is pressed.
  • There is some kind of HELP facility.
  • Some options are not displayed on the main screen, to avoid cluttering up the form. Access to less commonly needed facilities is via a selection button that links to a separate screen.
Form-based interfaces are very suitable for any application that involves entering predictable pieces of information into the computer. Examples include
  • Someone taking telephone orders for a product such as a CD.
  • Someone recording responses to questions in a telephone questionnaire.
  • Someone entering in details of people who want to apply for a credit card.
  • Someone applying to join a club or open a free email account on the Internet.
  • Someone who is buying something online.
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.

b
An example of a form-based interface.

Menus
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.

c
A menu-based information system.

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.

Graphical User Interfaces (GUI)
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:
  • A 'window' for each open application. Many windows can be open at the same time but only one window can be active at any one time. There may be some way of indicating which one is active (perhaps by making the bar at the top of the active window bright blue).
  • Menus and icons. Available functions can be selected in one of two ways, either by using pop-up menus or drop-down menus, or by clicking on 'icons'. An icon is simply a small picture that represents a specific function - clicking on it selects that function.
  • A pointing device, to make selections. It is typically a mouse or a graphics tablet and pen. The use of a keyboard to navigate through the application is minimised because it is a relatively time-consuming way of working.
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.

Command line interface
d

An example of a command used in a command line interface.

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.

Natural language
This kind of interface requires the user to enter responses to questions asked by the computer. The questions are displayed on the VDU and the answers are entered via the keyboard. This kind of interface is called a 'natural language' interface because the computer and the user appear to be holding a conversation. For example, imagine the user has initiated a 'save file' request. The 'conversation' might go like this:

USER: Save file
COMP: What is the file name?
USER: chapter1.txt
COMP: What folder?
USER: UserGuide COMP: File already exists. Overwrite?
USER: Yes
COMP: Done.

This kind of interface can be found on data entry terminals and other types of 'dumb terminals' connected to a network where non-expert users are guided by the computer through the complex tasks they need to perform.

Memory management
When you open a piece of software (or a file), the operating system goes to the hard drive, finds it and then copies it into RAM. The CPU can then access it. The operating system has to find somewhere in RAM that isn't being used by anything else when it copies it from the hard drive. If it just put the program into RAM anywhere it liked, it might overwrite existing valuable files or another program and even cause the computer to crash.

To prevent this, the operating system manages the memory. It keeps track of what software applications and files are open and where it has put them in RAM. It also keeps track of where there are free areas, areas which it can use. When you want to open a new application, it finds a suitable free area and copies it to that area. It then updates its own records to show that that area of RAM is now taken.

Peripheral management
An operating system is also responsible for managing the peripherals. A peripheral is anything that can be connected to the CPU, although you would normally connect a peripheral by plugging it in to a port, and then the port is connected inside the computer's box to the CPU. Common peripherals include mice, monitors, web cams, scanners, cameras, graphics tablets, printers and so on.

When you plug a peripheral into a computer, the computer will first of all check to see if it has the right kind of software to run that peripheral. These are known as 'drivers' because they drive the peripheral and make it work. If the operating system can detect the peripheral and the driver to run it, it will give you a message that it is ready to be used. If it can't set it up correctly, then the operating system will give you an error message and perhaps some advice about solving the problem.

Once the device is working, you can make settings in the peripheral's dedicated software or via the operating system. For example, you could change the resolution of the monitor or the speed that your mouse recognises clicks.

Multi-tasking
CPUs can only work on one instruction from one program at a time, but they can do this very quickly - billions of instructions a second. If it wants to work on 5 programs at (apparently) the same time, for example, run a chat room, have some music playing in the background whilst using a word processor program as well as running the anti-virus software and Internet connection software, how does it do it?

Actually, the answer is very simple. It spends a short time (billionths of a second) on the first program. It then stops, saves where it is up to and then gets the settings for the second program and works on that for a few billionths of a second. Then it saves where it is up to, gets the settings for the next program and so on. It gives each application a little bit of CPU time before moving on to the next application and then goes back to the first application and repeats, but it does this so quickly that we think that applications are running at the same time. This is known as 'multi-tasking'.

The operating system is responsible for organising multi-tasking. It is the operating system that decides the order that different software applications will be worked on by the CPU, which one the processor work on now and when to stop that job and give it the next one.

Security
Operating systems are responsible for the security of a computer system. This covers a number of areas.

Security

  • Software updates. Operating systems are responsible for making sure that any software updates are downloaded and installed. People are constantly finding problems and flaws with software and sometimes criminals will exploit these. As problems are discovered, solutions are written and these can be downloaded and set up by the operating system.
  • Firewalls. Operating systems often have a basic firewall that can be used to stop people getting unauthorised access to a computer in a network, although you can also buy commercial firewalls that have more features.
  • Account management. Often, more than one person has access to a single computer and on a network, there could be thousands of people who have access to a network's data. An operating system is responsible for setting up accounts for each person who might need legitimate access to a computer or network with a login and password and to prevent unauthorised access by people who have no right to use the facilities.

Q1. State the main jobs an operating system performs.
Q2. What is meant by the term ‘user interface’?
Q3. State five different types of user interface.
Q4. Who might use a menu interface and why?
Q5. Who might use a Command Line Interface and why?
Q6. Define ‘peripheral’ and give some examples to illustrate your understanding.
Q7. What is meant by ‘multi-tasking’?
Q8. What security issues might an operating system take care of?

 

 



 

 

 

 
 

 

V1.0 Copyright theteacher.info Ltd 2011