System Software

1.2.1 Operating Systems

An operating system is a set of programs designed to run in the background on a computer
system, giving an environment in which application software can be executed.
Most operating systems comprise a large set of programs, only some of which are stored
in the processor memory all the time. Many of the routines available in the O.S. are stored
on the hard drive so that they can be accessed when required. This not only saves space in
the processor memory but also means that the O.S. can be easily changed to a different
one.
When you are using an applications package you are not communicating with the computer
hardware, you are communicating with the operating system. Without an operating system,
no matter how many programs you have, the computer is useless. The operating system
sits between the hardware and the application program or user.

Programmer


User


Applications
package


1.2.2 Types of Operating System

Batch Processing:
When computing was still a new science, there were not enough machines to satisfy the
demand for processor time from students in universities who wanted great calculations
done, firms who wanted their payroll worked out, and many others. The big problem was
the ‘speed mismatch’ between the user sitting at the keyboard who was very slow, and the
machine which was very fast. There are two simple solutions to this problem, one is to buy
more machines and the other is to make the machines work more effectively by taking
away the slowest part of the system – the human being. Nowadays we might well opt to
buy more machines, but this used not to be an option. This problem gave rise to the
development of batch processing.
A batch processing operating system is one that does not allow for interaction between the
user and the processor during the execution of the work. Lots of programs that need to be
run are collected together (to form a batch) and they are sent to the computer. The batch
operating system then controls their passage through the computer.
Nowadays, batch processing tends to be used where
there are large amounts of data to be processed,
the data is very similar in nature and…
it requires similar processing,
the computer system has identifiable times when it is not being used, and so has available
processor time
the application does not require human intervention.
Typical examples of applications which would be done using batch processing include
production of bank statements from customer files, production of gas (electricity,
telephone) bills from customer records, the compilation of high level language programs
where a number of users want programs compiled.

Real-time:
A real-time O.S. is one which can react quickly enough to affect the next input, or process
to be carried out. Most real-time systems are based on control of some process in the real
world or on information handling. A chemical plant has a reaction vessel where the
temperature is critical to the result of the process. The temperature is monitored by a
computer which accepts input from a sensor and then makes a decision whether to adjust
the heating elements in the vessel. In this example, it would not be sensible for the
computer to be running any O.S. that is not real-time because if there was a delay in the
decision making process, it might mean that the reaction is corrupted in some way. A robot
trolley is controlled by a processor which takes input from a sensor following a black line
on the floor, and makes decisions concerning steering to keep the trolley on the black line.
If the processor was not controlled by a real-time O.S., the trolley would very soon leave
the black line because it would not be steering quickly enough. A catalogue shop processes
orders by the code for a product being input and the system then comparing the code with
information in its files. When it finds the correct code it can report to the user the number
of that item that there are in the store. If there was only one left of a certain item, it would
be necessary to record the fact that a shopper had bought it before the next shopper has
their request dealt with otherwise the second person might be sold the same item. Because
the information on the system must be processed immediately the O.S. needs to be ready
to handle input as soon as it comes in. This means that it cannot be using up some of its
slack time doing other tasks while it is waiting to be asked to do something. This implies
that the computer will not be using its full potential as far as processing is concerned. When
this happens it is said to display a high rate of redundancy. Real-time systems tend to
display a high rate of redundancy.

Single User:
As the term implies, a single user O.S. is specifically one that is used to control a system
which has only one user, and their programs, at any one time. A perfect example of a
single user system is the one that you may have at home. Only one person uses it at a
time.

Multi-user:
Again, as the name implies, this type of O.S. services more than one user simultaneously.
There are two types of multi-user O.S.:
1. A network system comprises a number of computers linked together for the purposes of
communication and sharing of resources. Normally one of the machines is used to control
the rest of the system, this machine is called the server. Networks are important because
they allow hardware and software to be shared and also mean that a single copy of the
information on a system is needed, and so can be kept up to date relatively easily.
2. A time-sharing system has a single (normally powerful) computer which is connected up
to a number of terminals. These terminals are not computers as in the case of the network
system, but have a very limited amount of processing power. Again, such a system allows
communication between users on the system and also allows sharing of hardware and
software across the system.
At the moment it is difficult to tell the difference between the two types of multi-user
system, but we shall return to this in a later chapter.

Multi-tasking:
This is a type of O.S. that allows several applications to be available simultaneously. On a
simple single user system you will probably be used to having a number of things running
at the same time. Perhaps one window shows a spreadsheet while another shows a word
processing application. You may decide to copy the sheet from the spreadsheet software to
the word-processed document. It appears that more than one task is running
simultaneously. They aren’t, they just appear to be. The O.S. that most of us use on our
own computer systems, Windows, is a multi-tasking O.S.

Distributed:
A distributed system is one that allows software and data files to be distributed around a
system. An ordinary network will have a server controlling it, and the access to the hard
drive which is connected to the server. A distributed system might store the word
processing software on one computer’s hard drive, while the files of work are stored
somewhere else, and the spreadsheet software is stored on a third disk drive. This can
speed access to files because there is no single bottle neck which all the information must
pass through.
1.2.3 Types of User Interface

A computer is used by a person who needs to communicate with the machine in order to
instruct it as to their wishes. The person also receives responses from the computer. The
means of communication between the user and the machine is known as the user interface
and consists of both hardware and software. There are different types of interface, which
are useful in different situations and for different types of user.

Form based
If the majority of the input to a system is of a standard type, in other words the computer
knows what sort of input to expect, then a typical interface will produce a form on the
screen to be filled in. This sort of interface would be used where an operator is inputting
information while asking a customer questions over the telephone. The interface
prompts the operator to ask all the questions
makes the operator input the information in the correct order
ensures that the information is input in the correct format by having specific areas to input
the data
makes the checking of the information easier.

The characteristics of a form based interface are that
it has specified areas for the data. For example, boxes for input of coded material like the
date or the sex of the customer, and areas to be filled in with textual information
it has a cursor which moves to the next box to be filled in, sometimes the box is
highlighted to make it clear to the operator where the data is to be inserted
some of the boxes are more important than others and the cursor will not move on until
some data has been supplied
it checks that what has been input is sensible for that box before moving on to the next.

Menu based
Menu based interfaces are used in situations where the operator tends not to know what
the options are that are available. Examples of this would be information systems for
tourists or users of a particular service. A list of choices is made available followed by a
further set of choices based on the first choice, and so on until the result is obtained.
Imagine a system at a train station in a popular holiday location. The first screen may ask
for the general area of interest (accommodation, trips, shopping, entertainment..), once
the choice of accommodation has been made the next screen may offer hotels, guest
houses, bed and breakfast, self catering. The next screen may offer different price bands,
and finally a list of all the available properties that match the previous choices.
Input is often done using a touch screen because of the location of such systems and
because the people who use them are often in no way computer literate, meaning that
simple systems are essential.

Graphical
Graphical interfaces are called GUI (graphical user interface) or WIMP (windows, icons,
menus, pointer). The terms describe what the user sees on the screen. There are many
different types, but the user would expect to be able to view different applications or files
on the screen, this is done by putting each into its own boarded area known as a window.
The user will expect to be able to select options by use of menus of choices and by using
small pictures which represent the different options available. Choices are selected by the
user by using some sort of pointing device to indicate choice, typically this would be a
mouse.

Natural language
Sometimes referred to as a conversational interface, the computer will ask questions which
elicit a response which gives the user the impression that they are talking to the computer.
The trick is that the system restricts itself to questions to which the only sensible answers
are the ones that it knows. If the user leaves the expected responses, a message is
produced which makes clear that a further attempt is required.

Command line
Or command based interface is one where the user types a series of commands at the
keyboard which tell the computer what their intentions are. The user needs to know what
the possible commands are, and also needs to understand the way files are stored on the
system. The characteristics of a command based interface are
the user needs to know what commands are available
the user needs to understand the commands
the user needs to understand the way that material is stored in the computer system
Because of the above points there are two very important characteristics about a
command based interface. First, the system is very much more open than in the other
types of interface. Other interfaces restrict the options that the user has available to them.
This can be particularly important for the system manager because different users can only
be allowed to have access to specific parts of the system. The second characteristic is that
command based interfaces can only be used by computer literate people because you not
only have to understand the commands and their uses but you also need to understand
something about how the computer operates, particular how information is stored.

There are many other points to be made about interfaces, especially the fact that the
second part of the interface consists of the hardware necessary to put the software
interface into operation. These points will be made when the appropriate stage is reached
in this course.

1.2.4 Utility Software

A piece of utility software is a program which can be considered part of the operating
system and which is designed to carry out a common task. As far as this course is
concerned, at this stage, a student will be expected to select and describe a few examples
of typical utility software. There is a warning here that, while many routines can be
described as utility programs, there are a number that fall into a grey area between being
part of the system and being part of application packages. For the benefit of the course it is
sensible to always use standard pieces of software about which there can be no argument.
Data transfer programs. These are utilities that are written to control the movement of
data from one piece of hardware to another. An example would be sending data from the
processor to the printer for printing out.
Hardware drivers. Any piece of hardware needs to be controlled and set up for
communication with the processor. The drivers are the programs that set the rules for
these communications, for example the printer driver will contain details of all the font
options available.
File handling. Sets of data on a computer system are known as files, and a set of programs
is necessary in order to handle the storage and use of these files. First there are programs
to store and retrieve the files in the first place. Then there are programs which allow files
to be altered, or even deleted completely. Sometimes the contents of two files need to be
combined, this is known as a merge. Finally, the contents of a file may need to be put into
some sort of order, sorting. Candidates should not consider these to be different utilities as
a file handling utility will normally do all these tasks. Consequently, a question which asked
for two examples of utility software would not be answerable by describing two file
handling routines.
A back-up utility. All files on a computer system need to be protected from being damaged.
This is a simple routine which copies the contents of files to some other location so that if
the original is damaged there is a replacement copy available.
Anti-virus software. Computers can contract a virus, which is a small program which can
reproduce itself and ultimately take over spaces in memory thereby rubbing out other data
and programs. A piece of anti-virus software is a utility program which is continually
looking out for the characteristics of a virus and which deletes any that it finds.
Example Questions.

1. Define what is meant by the term operating system. (2)
A. -A (suite of) programs…
-which run the basic functions of the computer…
-giving an environment in which to run application software.
A question which begins with the word define, leaves very little room for manoeuvre
because it is asking for a standard answer. This is not an opportunity to show your prowess
by making up an answer that is original- there aren’t any. Note, also, the fact that three
answers have been given. Always try to give one more answer than seems to be required
by the question.
If you look at a mark scheme for an examination paper, the mark points are listed as a
set of bullet points so there is no reason why you should not do the same. This style of
answer helps you to write down your thoughts easily without getting confused by the
language. The purpose of this examination is not to test your ability with English, rather to
test your knowledge of computing.

2. Give two reasons why an operating system is likely to be stored on backing storage
rather than in the memory of the computer. (2)
A. - A full operating system requires a large amount of storage space that is better utilised
in the computer memory for applications
- Storage of the operating system on backing storage allows for easy upgrading or
changing from one system to a different one.
Note that the temptation to call the operating system the O.S. has been resisted in the
answer. In general, do not use abbreviations in your answers. There are exceptions, where
the abbreviation is the accepted form, but your own versions may be ambiguous or, even,
not understood by the examiner. If you do need to use an abbreviation, because the term
is to be used a number of times, give the term in full with the abbreviation that you want to
use in brackets after it. For example, the first time that you use the term operating system
write “…operating system (OS)…” you can then use OS as often as you like in the rest of
your answer.

3. Distinguish between a multi-tasking and a multi-access operating system. (2)
A. - A multi-tasking operating system is one where the user of the machine is given the
impression that they can carry out more than one task at a time.
- A multi-access operating system is one where it is possible for more than one user to
access the system apparently at the same time.
Note that there are a large number of points that could have been made about both these
operating systems, but most of them would not answer the question. It is important when
answering a question starting with ‘distinguish’ to choose facts that show a comparison.

4. State what is meant by a distributed system, and give an advantage of this type of
multi-access system over a simple network of machines.(2)
A. - A distributed system is one which uses many storage locations on different machines
to store software and files.
- Access to files can be speeded up because more than one file command can be carried
out at a time.
When an advantage is asked for it is normal to state in the question, either explicitly or
implicitly, with what the comparison should be made. Be careful to give an advantage using
this comparison and not a more generalised one.

5. A computer operator takes phone calls from the public who ring up asking whether a
particular item in a catalogue is available. The operator needs to type in a series of
responses to questions put to the caller, so that the computer can check the file and
determine whether there are any of that item available. Design a screen interface that
would be suitable for the operator to use. (4)
A. - Form type interface
- Catalogue number
- Space for the description of goods which will be filled in by the computer itself
- Spaces for computer to produce availability and price
- Laid out with spaces for input.
What is just as important here are the things that would not be on the screen. The
question makes it quite clear that there is no ordering going on, so spaces for name and
address, or method of payment, are not only going to score no marks, but will probably be
penalised because they demonstrate that the candidate has not understood the question.
In this type of question it is important to demonstrate that you have taken the situation into
account.

6. The technician responsible for maintaining the system in question 5, uses a command
line interface.
a) Explain what is meant by a command line interface. (2)
b) Give two advantages and one disadvantage to the technician of using a command line
interface rather than a menu based interface. (3)
A. a)-Series of commands typed at a screen prompt…
-which give specific instructions to the computer.
b)Advantages:
-Entire system is available to the technician
-Access to the particular part of the system required is gained more quickly than using
other types of interface.
Disadvantage:
-The technician needs to know the commands that are available
-The technician needs to understand the way the system is designed so that it can be
navigated efficiently.
Note. The language used in this answer is not the sort of language that a candidate will
use in an examination. Don’t worry about this. Answers like “so that you can get around
the system” are perfectly acceptable.

7. Explain the need for a driver for a printer. (2)
A. -The printer will need to be able to communicate with the computer. The driver tells
them how to communicate…
-it contains the rules for communication.

8. Give three different utility programs which would be part of an operating system, and
state what each would be used for. (6)
A. -Data transfer…
-to control the transfer of data between pieces of hardware.
-File deletion…
-to delete a file which is no longer required to be stored.
-File retrieval…
-to retrieve a file from storage into the memory of the computer.
-Back-up program…
-to automatically make back-up copies of files in case of damage to the original.
Note that four were given in the answer, although only three were requested. In this case
it was fortunate that an extra answer was given because the second and third examples
are basically the same thing, they are file handling routines. The question specifically
stated ‘different’. Note that this answer would have been awarded full marks on the basis
that there were three full answers, but if an extra answer of anti-virus software had been
added to the end then the examiner would be thinking that the candidate could not decide,
and should be penalised.