posted Nov 1, 2014, 3:20 AM by Maurice Nyamoti
updated Nov 8, 2014, 11:55 AM
- 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.
- 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:
EXAMPLES OF SYSTEM
- It refers to a series of special
- The Microprogram is held in the
Control Unit (CU), and is used to interpret the external Instruction set of a
- 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.
- 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.
- 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
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
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: -
- 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.
data from one medium to another.
- For example, from
tape to disk & vice versa, or from a floppy disk to hard disk.
- 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
- 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
Therefore, a computer system that
uses disks would have a utility program for initializing or formatting these
(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.
Diagnostic Tools/ Programs.
Core/ Dump utility.
Database management system (DBMS) – a utility
program that manages data contents.
- This is a utility program that
enables/ allows users to create files in which they can store any textual
information they desire using the computer.
Once the files are created, the
Text editor provides facilities which allow the user modify (make changes to)
the files; such as adding, deleting, or changing information in the file.
Data can be copied from one file
to another. When a file is no longer
needed, it can be deleted from the system.
The operations of the Text editor
are controlled by an interactive OS that provides a ‘dialogue’ between the user
and the Operating system.
The Text editors are used to
create, e.g. program statements through the Keyboard connected to the
computer. Editing can then be carried
out using the Edit keys on the Keyboard or by using a sequence of commands.
There are 3 major classes of Text
text editors – deals with 1 character at a time.
editors – deals with a whole line at a time.
editors - deals with a whole screen full of text at a time.
Note. The Text Editor is
probably the most often used utility program of an OS.
- The Sort utility is used to arrange the records within a file according
to some predetermined sequence. The
arrangement can either be in Ascending or Descending order of the alphabets or
For example, a user may wish to
sort data into some desired sequence, such as; sort a student file into
ascending order by name or into descending order by average grade or sort a
mailing list by postal code, etc.
- Merging is the process by
which the records in two or more sorted files are brought together into one
larger file in such a way that, the resulting file is also sorted.
- The Merge utility is used to influence the combining of the contents of
2 or more input files to produce one output file.
- It is usually advisable to
maintain duplicate copies of the operational files so that in case something
goes wrong with the original files, then their contents can be recreated from
the duplicate/ backup copy or copies.
The duplication process, i.e.
copying the contents of one file to another is done through the influence of
the Copy utility. The copying can be from one media to a
different media or from one media to another media of the same make, e.g. from
diskette to hard disk or from a diskette to another diskette.
The term Dumping is used to describe the copying of the contents of the main
memory. The Dump utility is therefore,
used to transfer (copy) the contents of the computer’s internal memory into a
storage media, e.g. the disk or through the Printer (to get a Hard copy
output). The result of dumping is that
the main memory ‘image’ is reflected by the stored or the printed contents.
- Programs written in high-level
languages have to be translated into binary code (Machine language), before the computer can run these programs.
A Translator is a utility
program written & supplied by the computer manufacturers, used to convert
Codes (the program statements written in any of the computer
programming languages) to Object Codes (their computer
Each language needs its own
translator. Most OS provide users with Compilers or Interpreters for the common high-level languages. In addition, an Assembler is usually available for those wishing to write programs
in the Assembly language of the
Note. These translators are
not part of the OS, but they are designed to be used under the operating system
& are accessible to it.
- Computer programs are usually
developed in Modules or Subroutines (i.e. program segments
meant to carry out the specific relevant tasks).
During the program translation
into their machine code, these modules are translated separately into their
object code equivalents.
The Linker is a utility software that accepts the separately translated
program modules as its input and logically combines them into one logical
module, known as the Load Module
that has got all the required bits & pieces for the translated program to
be obeyed by the computer hardware.
- The Loader is a utility program that transfers the load module (i.e.
the linker output) into the computer memory, ready for it to be executed by the
- The transfer process is from the
backing store, e.g. magnetic disk into the computer’s main memory. This is because some systems generate object
codes for the program, but instead of being obeyed straight away, they store
them into the media.
Diagnostic Tools (Programs).
- Diagnostic tools/programs usually come with the translators and are
used to detect & correct system faults –both hardware and software.
They provide facilities which help
users to debug (remove errors from)
their programs more easily.
E.g., Dr.Watson is a diagnostic
tool from Microsoft that takes a snapshot/ photograph of your system whenever a
system fault occurs. It intercepts
software faults, identifies the software that faulted, and offers a detailed
description of the cause & how to repair the fault.
Other diagnostic tools for
detecting hardware faults are, Norton
Utilities, PC Tools, QAPlus, etc.
- A computer usually ‘works’ by
executing a series of instructions called the Program. A Computer Program
is simply a sequence of numeric codes (‘0’s & ‘1’s). Each of these codes can be converted directly
by the hardware into simple instructions.
The set of instructions that the
computer can recognize is referred to as the Instruction Set.
A Computer program can be written
in a variety of programming languages.
A Programming language is a language used in writing a computer
program. The languages must be
understood by the computer for it to execute.
The languages are broadly
classified into 5 categories: -
programming language (also referred to as Assembly language).
(iii). High-level programming languages.
(iv). 4th Generation languages
Generation languages (5 GL’s).
Machine language (1ST Generation
- This is the
language that is readily understood by the computer.
uses machine codes (binary digits) that consist of 0’s & 1’s.
Low-level languages/ Assembly language (2ND
- Assembly language is very close
to the vocabulary of the machine language.
It uses many English-like
acronyms (Mnemonic codes or
labels). Words like ADD, SUM could be
used in programs, and a program called an Assembler translates these words
into Machine language.
It was developed (in early 1950’s)
to speed up programming.
The Assembly language
instructions are Symbolic representations of the machine code (computer
Comments can be incorporated into
the program statements to make them easier to be understood by the human
High-level languages (3RD Generation
- These are languages developed to
solve the problems encountered in low-level programming languages.
The grammar of High-level languages
is very close to the human being’s natural languages vocabulary, hence easy for
the human beings to understand and use.
They allow a problem solution to be
specified in a human & problem- oriented manner.
The programs are able to run in any
family of computers provided the relevant translator is installed.
Programs written in high-level
languages are shorter than their low-level equivalents, since one statement
translates into several machine code instructions.
* COBOL (COmmon Business Oriented Language).
* FORTRAN (FORmula TRANslation).
* BASIC (Beginners All-purpose Symbolic Instruction Code).
* C++ (Object C).
* LISP (LISt Processing).
* RPG (Report Program Generator).
* SNOBOL (String Oriented Symbolic Language).
//Register as a member to attempt questions. click here to learn more on membership