Systems Software
Systems software enables the computer hardware to operate as a computer
system. As such it is a part of the computer system and is usually supplied
with the hardware at the time of purchase.
Systems software consists of the operating system which is responsible
for controlling and managing the hardware while processing is taking place and
utility programs that allow the user to perform tasks related to the running of
the system.
Operating Systems
The operating systems is responsible for the running of the computer
system. The tasks performed by the operating system program include:
- Handling input, output and storage operations.
- Managing the allocation and use of processor time, memory,
peripherals and backing storage.
- Loading and running applications programs.
- Handling and reporting error situations.
- Communicating with the operator when this is not being done by the
application software.
- Maintaining a log of resource usage for audit or billing
purposes.
Handling Input, Output and Storage
Application programs will call the operating system when they need to
perform input, output or storage operations so the operating system or at least
a part of it must be resident in the computer's memory at all times.
Input, output and storage operations require the use of peripheral
devices such as printers, disk drives, keyboards, mice etc. These each have
their own characteristics in terms of capacities and speeds of access. The
operating system needs to be able to control these peripherals and allocate
them as resources available to the system. Storage devices require facilities
for the management of the files they contain such as creation, updating and
deletion of files.
Each device usually has an associated device driver which enables the
operating systems to interact with it. These present the operating system with
a mechanism were by it can communicate with peripherals that were not part of
the original computer system.
Managing the allocation and use of processor time, memory, peripherals
and backing storage
One of the major tasks of the operating system is to manage how much
time is spent on dealing with peripherals and on running the programs in
memory. One of the problems that has to be dealt with is how much processor
time is used by the operating systems itself. Typically this is about 30% of
processor time available.
If a number of programs are being run at the same time then it is up to
the operating system to decide which peripherals are available to which
programs and which is currently in use. Clearly it would cause problems if one
program used a printer at the same time as another.
Loading and running applications programs
Applications programs are run under the control of the operating system
and so it must be capable of allocating resources (memory, processor time,
peripherals) to a program as it is loaded. The first process is to allocate a
portion of memory for the application package to use then it can be allocated
some processing time to actually run. If the program is terminated by the user
than the resources allocated to it can be freed up for another application to
use.
Handling and reporting error situations
At some point errors will occur. These may include software bugs which
cause the program to function incorrectly, they may be as a result of a
peripheral hardware failure. In either case the operating system should detect
the error situation and allow it to be dealt with without crashing the whole
system.
Communicating with the operator when this is not being done by the
application software
There are occasions when an application package will attempt to use a
peripheral or part of the system that could cause other programs to have
problems. One example could be if a word processor
When the computer is first switched on a bootstrap loader program stored
in a small amount of ROM will locate and load the operating system from the
hard disk. As the operating system loads it will check the status of the
hardware, reporting any errors to the operator. Once this has been done the
system is ready to load and run whatever application the operator chooses.
Alongside the operating system is a set of programs called utilities.
These are designed to help the operator perform routine tasks such as
formatting a disk and deleting, renaming or finding files. These utility
programs, unlike the operating system, will not be permanently resident in
central memory but will be loaded in as required.
Applications software is the software that performs the task that the
user requires of the computer system. Examples of applications software include
word processors, payroll programs and database systems.
An application program may be classed as generic or specific. A generic
application is a general-purpose program that the user adapts for his or her
own purpose. Spreadsheets and DTP packages are generic. The user uses the
package for a particular purpose. Another user might use the same package for a
totally different purpose. Although a generic package is obviously suited to
solving a particular type of problem, it can be used to solve a wide range of
problems of that type.
Integrated packages provide a suite of generic functions such as
spreadsheet, database, word processor, communications and graphics. These
packages are cheaper than buying the individual items but there is usually some
reduction in functionality and you may be paying for features that you do not
use.
A specific software package is designed to solve one particular problem.
Examples of specific software include an accounting program for a small
business and games software. These programs are designed to solve one specific
problem. They cannot be set up to handle a wider range of problems.
Applications software may be 'off the shelf', tailored or bespoke.
Software bought off the shelf is cheaper than the alternatives, it is available
immediately and is generally less likely to contain major bugs. If there is a
wide user base for the particular package then there may well be user support
groups established. Generic software is almost always in this form.
In some cases a package might be adapted for a particular use. This may
include the setting up of a generic package in a certain way - e.g. creating
templates and macros to set up a word processing package so that it exactly
matches a company's requirements or it may involve adapting an item of specific
software to the needs of a client. In either case existing software has been
tailored to the clients specification. This is cheaper and faster than the
final option of bespoke software.
Bespoke software is applications software written specially for a
client. It will take some time to develop and it will be expensive but it will
satisfy the client's needs exactly. This may be the only alternative if
pre-written packages are not available to solve the problem. It may be possible
for the client to sell the solution on to others with the same or similar
problems to solve.
|