COMPUTER SOFTWARE.
Software refers to the various programs & data used in a computer system that enable it perform
a number of specific functions.
Software instructs the computer on what to do and how to do it.
All programs (software) are written using programming languages.
Programmers usually write programs in Source Language (a language that is like broken
English). The Source language is then converted into Machine language; the language that the
computer can understand.
Machine language is usually in form of bits (series of 0’s & 1’s).
SOFTWARE FLEXIBILITY.
The Software used on a given computer is said to be flexible, i.e. it is relatively easy to change.
For example, in a home computer used for playing games, instead of buying a new machine each
time a new game is needed, you only need to ‘load’ a new program into the machine. Again, it is
relatively easy to change between games at will.
CLASSIFICATION OF COMPUTER SOFTWARE.
Computer software can be broadly classified/ divided into 2 categories: -
(1).System Software (programs).
(2).Application software (programs).
Note. Programming languages can also be considered part of software, because they form the
basis of grammar on which the program’s development is based.
The following figure illustrates the computer software family tree.
Exercise (a).
1. (i). What is computer software?
(ii). What are the characteristics of software?
2. What is meant by “Software flexibility”?
3. What is used to write programs?
4. (a). What name is given to the language in which programs are written?
(b). Give the name of the language that is understood by the computer.
Exercise (b).
1. (a). Define software.
(b). Draw a software family tree.
2. State the THREE types of software.
- 135 -
, Computer Software
SYSTEMS SOFTWARE.
This is a set of programs, which is developed & installed in a computer system for the purpose of
developing other programs, and to enhance the functional capabilities of the computer system.
System programs control the operation of the various hardware parts & make them available to
the user. They also enable users make efficient use of the computing facilities in order to solve
their problems.
System programs manage the computer resources such as Printers, Memory, disks, etc, automate
its operations & make easier the writing, testing and debugging of users’ programs.
They also control the various application programs that we use to achieve a particular kind of
work.
Notes.
System software are developed & installed by the manufacturer of the computer hardware.
This is because to write them, a programmer needs in-depth knowledge of the hardware
details of the specific computer.
Some of the system software are supposed to put initial ‘life’ into the computer hardware and
are therefore, held permanently in the ROM.
Program routines that are permanently maintained in the computer’s memory are called
Resident software/ routines.
System programs dictate how the programs relate to the hardware, and are therefore said to be
Hardware-oriented.
System programs consist of Operating Systems, Language translators (Assemblers, Compilers),
System utilities, and Device drivers.
System software is further sub-classified as:
(a). Operating system.
(b). System utilities.
EXAMPLES OF SYSTEM PROGRAMS.
(a). FIRMWARE (or Microprogram).
It refers to a series of special program instructions.
The Microprogram is held in the Control Unit (CU), and is used to interpret the external
Instruction set of a computer.
The Instruction set is the list of instructions available to the programmer that can be used to
give direct orders to the computer.
Firmware is fixed into the ROM, and cannot be changed.
Firmware is usually a combination of hardware and software. It deals with very low-level
machine operations, such as moving data, making comparison, etc, and thus acts as an
essential substitute for additional hardware.
(b). OPERATING SYSTEMS.
An Operating System is a set of programs designed to ensure the smooth running of the
computer system.
They are developed to manage all parts of the basic computer hardware & provide a more
hospitable interface to users and their programs.
It controls the way the way the software uses the hardware. This control ensures that the
computer system operates in a systematic, reliable & efficient manner as intended by the
user.
OS are supplied by the computer manufacturer. They are designed to reduce the amount of
time that the computer is idle, and also the amount of programming required to use a
computer.
- 136 -
, Computer Software
(c). UTILITY SOFTWARE (Service programs).
Modern OS does a lot more than manage the hardware efficiently. It normally provides the
user with facilities that make the job of developing programs or doing something useful on
the computer much easier.
A Utility program is a program, which performs a generally useful task.
Utility programs are used by end-users to perform many of the routine functions &
operations such as, sorting, merging, program debugging, manage computer files, diagnose
and repair computer problems that occur, etc. They are normally supplied the
manufacturers to enable the computer to run more smoothly & efficiently.
Most OS have many of the Utility programs needed to assist with the upkeep of the
computer. For example, DOS 6.x includes utilities for managing memory, protecting a
system of viruses, backing up files, restoring accidentally deleted files, etc.
Some of the common Utility programs are those concerned with: -
Searching.
They help to search for a file from one or more specified records. For example, in a
Sales record, the Search facility assists in finding the salesperson with the highest sales.
Moving data from one medium to another.
For example, from tape to disk & vice versa, or from a floppy disk to hard disk.
Spell-checking of words.
After a document is typed, the words in the document are checked against those in a
‘custom dictionary’ in secondary storage. If any word used is not found in the
dictionary, a warning is given indicating a possible spelling error.
Formatting programs.
Before a floppy disk can be used, it must be ‘initialized’ or formatted. This means that,
the system must put certain information on the disk, which helps with the storing and
retrieving user’s programs & data at a later time.
Therefore, a computer system that uses disks would have a utility program for
initializing or formatting these disks.
Debugging (removing program errors).
The programming process usually includes debugging (removing errors from) a
program. Statements of the program are studied to determine the cause of an error.
Again, useful information can be obtained by studying the contents of memory at the
time the program failed.
Examples of the common Service programs.
(i). Text Editors.
(ii). Language Translators.
(iii). Diagnostic Tools/ Programs.
(iv). Sort utility.
(v). Merge utility.
(vi). Copy utility.
(vii). Core/ Dump utility.
(viii). Linker.
(ix). Loader.
(x). Library Program.
(xi). Database management system (DBMS) – a utility program that manages data contents.
- 137 -