System Software
The Operating System (OS)
The computer hardware is unusable without an operating system.
When we purchase a PC it is the one item of software we expect to
be provided along with the hardware.
The OS is the software which makes the hardware
usable. This is obvious but we need to appreciate what the computer
system has to perform behind the screens.
Consider the following example:
You load the word processing software and at the end of the
session save the document.
You simply have to key in a document name and click
the save button. Consider what the operating system is doing behind
the screens.
The OS must:
• check that the document name is valid.
• check that there is sufficient free disc space.
• If so, decide which sectors on the disc it will use for
storage of the file.
• mark these sectors as used.
• remove these sectors from the list of 'free space' on the
secondary storage.
• make a new entry in the file directory for the device.
This suggests that the purpose of any operating
system is to:
• hide the complexity of the computer hardware away from the
user.
• provide a user-friendly interface between the user and the
computer hardware.
The discussions so far are points which would apply to any
computer system. We shall now study computer systems which operate
in a specific way.
Batch processing OS
Before the advent of the microcomputer the majority of computer
usage was batch processing. A program would be loaded together with
the data which the program would process and the printed output
produced.
Key features
Characteristics of any batch processing system are given
here.
• All aspects of the processing occur as a 'batch'
> The data is collected and entered as a batch
> The data is all processed at the same time (i.e. as a
batch)
> The output is also produced as a single 'batch' of
documents.
• This may result in an acceptable time delay between the data
entry stage and final production of the output
• The 'job' once started will run to completion without any
interaction from the user.
Applications which require a real-time OS therefore are process
control type applications.
Key features
Characteristics of real-time processing are:
• there is a continuous cycle of input-processing-output called
a feedback loop
• the inputs may not be sequential in nature
• the nature of the output(s) will affect the next input
• events (and so inputs) may occur in parallel and a
intermittent intervals.
Transaction processing
Some computer applications require the processing and outputs to
take place quickly but on a time scale of seconds (rather that
fractions of a second as with our greenhouse application).
Consider purchasing concert tickets from a
ticketing agency. Once a reservation is made for tickets, the
reservation data must be brought up-to-date immediately as each new
reservation transaction is completed. If not, the likely outcome
will be a 'double booking: Modern websites will often 'reserve' the
selection made by the user for around two minutes, to give the user
sufficient time to make payment for the tickets selected.
Single-user - Multi-user OS
A stand-alone microcomputer system will require a single-user
operating system. This is clouded by the ability to create
different user profiles for use on the same computer, but when the
computer system is in use it is always a single-user system.
Multi-user means the computer system can be
concurrently used by several users.
Network OS
Each computer on the network will have its resident operating
system software. Communication across the network is provided for
with another layer of software called the network operating
system.
Tasks for the network OS include:
• control of access to the network (user IDs and passwords)
• management of all available resources (for example, a
printer)
• management of all users' data files.
Multiprogramming
When using a stand-alone computer we almost take for granted
that we can have several programs concurrently loaded. Strictly we
should use the term 'process'. For example, there may be two copies
of the word processor program loaded and the OS will treat each of
these as a separate process. However, remember that there is only
one processor and so - although there are several programs loaded
into the main memory - the processor is only ever actually
processing one of the processes at any one time.
Multiprogramming is the ability to have more than
one program concurrently loaded in main memory.
• For the Windows operating system we can see the loaded
programs sitting on the task bar.
• Running the 'Task Manager' utility will display the list of
processes loaded.
Note
Some of the OS classification descriptions are not mutually
exclusive.
A multi-user operating system is likely to be
provided for by on a network; the operating system therefore
provides both network and multi-user usage.
User interfaces
We have already stated that it is a key role of the operating
system to provide the user of the computer system with an interface
through which the computer hardware is made usable.
Forms based interface
Many applications are web-based and require the completion of a
form for data capture. The screen shows the entry of the data for
ordering a pair of spectacles on-line. The form will contain the
usual 'widget' controls for data entry including:
• text boxes
• radio buttons
• check boxes
• drop-down lists.
Graphical User Interface (GUI)
A GUI uses:
• windows (This means a 'program window' and not the Windows
operating system)
• icons
• menus
• pointing device (for example, a mouse).
Hence a graphical user interface is called a 'WIMP' interface.
The Windows Explorer program uses multi-level menus. The desktop
and taskbar has icons to represent various programs.
A more recent trend is to organise the menu
selections using ribbons and tabs.
Command-line interface
The user is presented with a command line prompt. The user must
learn and then use the commands. The traditional command-line
interface on the PC was the early MS-DOS operating system from
Microsoft.
One such command is 'dir' which displays a list of
all the folders and files in the current folder/directory. Command
line interfaces have the advantage that once the commands have been
learnt an expert user can quickly use the computer system.
Natural language interface
Natural language processing is the ability to communicate with
the computer system using natural language. This is one step on
from simply carrying out a keyword search.
Consider a search for the text 'Which district in
Singapore has the largest population outside Ang Mo Kio'. A keyword
search would only focus on the keywords 'population' and 'Ang Mo
Kio'. A natural language search, attempts to use natural language
to understand the nature of the question and then return matches
which answer the question.
If the natural language search is successful,
results should have a higher relevance than results from a keyword
search using a search engine. The website Ask.com would claim to
use natural language processing for the analysis of search engine
text.
Menu-driven Interface
The majority of windows-based applications software is
menu-driven. That is the user is presented - in various possible
forms - with a number of menu choices. Making a selection may
result in a second or more set of choices being presented.
Note
There's an interesting paradox here in that natural language,
the system that is easiest for humans to learn and use, is the
hardest for a computer system to master and implement!
Utility software
What was classified as a utility some 15 years ago would have
been clear. The issue now is that, as operating systems now provide
more and more features, tasks we would have previously labelled a
'utility' may well now be packaged as part of the OS.
Disc formatter program
Formatting a disc requires the setting up of the block markers
on each track. The screenshot shows the format of a pen-drive with
Windows 7 and the screen shows the size of the blocks which the FAT
filing system will use. The size of all blocks written to the disc
is 16 kilobytes.
A disc must be formatted before it can be used.
Disc defragmenter
As the disc becomes more and more used for the saving of files,
the blocks used for a file become scattered over various tracks and
sectors. The result is that files may take longer to load, as all
the required blocks need to be retrieved and this will require
several movements of the read/write head of the disk drive.
Defragmenter software rearranges the blocks that
are used for each file so that the blocks are contiguous. This will
result in fewer movements of the read/write head and hence faster
retrieval of the file.
Disc cleanup
Following heavy use, some of the blocks on the surface of the
disc may become damaged. These blocks must be marked as unusable so
that the file management module of the OS will not attempt to use
them.
Virus checker
All computers should have one! The virus checker program will
make reference to a database of known viruses and then report if a
virus file is found on the computer. The virus checking software
will then 'quarantine' the suspicious file, ready for its removal.
The database of known viruses must be continually kept up-to-date.
A virus is just one type of malware which can cause harm to the
computer system.
Hardware driver
New hardware when developed will be designed so that it can be
used with a variety of operating systems. What makes this possible
is a program called a device driver. A driver program is designed
to allow successful communication between the operating system and
the hardware device.
File management
The operating system will come with commands/programs to manage
the files on the computer system.
File management includes:
• organising files into folders/ directories
• deleting files
• moving/ copying files.
File compression
Some files by their very their nature, for example, video and
graphics files, are large. Reducing the size of any file is clearly
desirable as:
• it takes up less storage space on the secondary storage
device
• the file size may be critical if the file is to be attached to
an email and then sent over the Internet.
The overhead with file compression is that we need software to
perform the task and then software to 'extract' a compressed
file.
Archiving utility
This may be a utility in its own right or a feature which is
part of an application such as an email client program. An email
client program (such as Microsoft's Outlook) has a facility to
archive old and unwanted emails. When the files are archived file
compression will take place.