COMPUTER SOFTWARE
Computer software refers to the electronic instructions and procedures that
command and control the operation of a computer. Software tells the computer
what to do.
Illustration of computer software
TYPES OF SOFTWARE
There are mainly two types of software.
System Software
Application software
SYSTEM SOFTWARE
System software refers to a category of software that enables the computer to
work and as well control devices connected to it.
Or It refers the software that performs tasks related to the operation and
performance of the computer system.
1|Page
System software is a set of programs designed to manage operations of the
computer and avail computer resources to the user.
Functions of system software
Booting the computer
Making sure that all hardware elements are working properly
Performing operations such as retrieving, loading, executing and storing
application programs
Storing and retrieving files
Performing a variety of system utility functions.
CATEGORIES OF SYSTEM SOFTWARE
There are three categories of system software.
• Operating system
• Utility programs
• Programming
1. OPERATING SYSTEM SOFTWARE
Operating system is a type of system software that performs daily activities of a
computer. These are programs that manage the computer resources.
Types of operating system
Stand-alone operating system
Network operating system
Embedded operating system
Examples of Operating System Software
Windows operating system
Linux , Unix, Ubuntu Operating System
Macintosh(MAC)
Chrome operating system
2|Page
Novell operating system
Android for mobile phones
Functions of an Operating System (Os)
It helps in processor management e.g. multitasking and time sharing.
Control the use of peripheral devices.
It provides an environment that enables installation of application software
Controls the booting process of a computer
Monitors system performance.
Helps in administering security
It helps in file management.
It helps in connecting devices to work with computer(configuring of
devices)
Responsible for scheduling computer tasks/jobs
Helps to establish network connections.
Forms of Operating System User Interfaces
There are two forms of Operating user interfaces.
Command-Line User Interface:
Graphical User interface
i. Command-Line User Interface:
With a command line interface, a user types keyboard or press special keys on the
keyboard to enter data and instructions. The set of commands a user uses to
interact with the computer is called command language. Examples are DOS,
UNIX, Linux.
You are provided with a virtually empty screen with a blinking cursor where
commands are keyed and the computer executes them by pressing the enter key.
Advantages of Command User Interface:
Commands are executed faster.
Consumes limited Random Access Memory
Cannot easily affected by viruses
3|Page
Ideal for programming and programmers
Commands can be grouped together.
Disadvantages of Command User Interfaces
Commands are not easily memorized
Requires a lot of knowledge to master the commands
Commands have to be typed correctly
No graphics on the screen.
A mouse cannot be used
ii. Graphical User Interface (GUI)
Graphical user interface allows the user to use menus and visual images such as
icons, buttons and other graphical objects to issue commands.
Advantages of Graphical User Interface (GUI)
It is user friendly because it is easy to learn and work with
There is no need to type and memorize any command language.
The interface is similar for any application.
You are provided with a coloured screen with icons each representing a
program.
A mouse may be used.
Disadvantages of Graphical User Interface (GUI)
Require much more memory and as well as the processor
Require much more desk space to hold the files
Difficult to automate for expert users
Easily affected by viruses
Not good for programmers.
2. UTILITY SOFTWARE
This is parts of system software which are designed to configure, analyze, optimize
and maintain a computer in its operation.
4|Page
Functions of the Utility Programs
It detects and protects a computer against computer viruses
It reduces screen burnout (ghosting) by playing a screen saver
It increases desk space by compressing data files
It checks disk errors and sometimes fixes them
It stores the system functionality (i.e. system store)
It enables computers to sort files in order.
It enables a user to merge files
It defragments hard disks
It enables a user to encrypt files.
Common Utilities used
Antivirus utility: used to search, find and remove viruses from the computer
System archives: These output a stream or a single file when provided with a
directory/set of files.
Disk checkers: these scan an operating hard drive for logical (file system) and
physical errors
Backup utility: makes a copy of all information stored on the hard disk onto
another storage medium e.g external hard disk, dvds, etc.
Cryptographic utilities: used to encrypt and decrypt streams of files.
Data compression utilities: output a smaller file when provided with a file.
Disk compressors: these compress/reduce the size of the file thus increasing the
capacity of the disk.
Disk defragmenters: These detect computer files whose content is scattered in
several locations on the hard disk and move fragments to one location to increase
efficiency.
Screen savers: these prevent phosphor burn-in on CRT and plasma monitors by
filling it with moving images, patterns when the computer is not in use .
Sorting utilities: these help to organize data in a given order.
5|Page
Memory testers: these check for memory failures.
Disk partition editors: these divide a drive into multiple logical drives, each with
its own file system which can be mounted by the operating system to be treated as
an individual drive.
File synchronization utilities: these maintain consistency between two sources.
They enable redundancy or making copies of data.
System profilers: provide detailed information about the software installed and
hardware attached to the computer.
Network utilities: these analyze a computer’s network connectivity, configure
network settings, check data transfer or log events.
DEVICE DRIVERS
This is a small program that tells the operating system how to communicate with
the device. Each device on a computer (e.g. a mouse) has its own specialized set
of commands and thus requires its own specific driver. The operating system loads
each device’s driver when the computer boots up.
To communicate with the hardware devices, the operating system relies on device
drivers.
• A device driver is a program that accepts instructions and then converts them into
commands that the device understands.
• Each device on a computer, such as the keyboard, mouse, monitor, printer, card
reader/writer, and scanner, has its own device driver.
3. PROGRAMMING LANGUAGES
These refer to the languages used to write a computer instruction, program
software. A person who writes a program is called a programmer.
Functions of Software Programmer
He writes a computer program
He maintains a computer program
6|Page
He upgrades a computer
TYPES OF PROGRAMMING LANGUAGES
Programming languages are of two types
Low level programming language
High level programming language
i. Low level languages
This is a computer program written in machine code language, the language
understood by a computer. It is also referred to as binary language because it
consists of only two digits. The digits of 0s and 1s
Types of low-level languages
Machine code language (First generation)
Assembly language (Second generation)
Assembly (low-level) languages
This is a language which consist of mnemonic symbols (English like words) used
to represent the binary digits of zeros and ones of machine language. Assembler
languages are used to develop system software.
However computers can only understand machine language, thus assembler
languages must be translated into machine language for execution.
Advantages of Low level languages/Machine code
Machine code program are executed faster.
They don't require either a compiler or interpreters except assembly
They are suitable to developing operating systems.
Disadvantages of Low level languages
They are difficult to learn and understand.
The instructions are expressed in binary form ( 0 and 1s)
The programs are machine dependent hence difficult to be used by other
machines of different family.
7|Page
ii. High level programming languages
This is a computer program written in official language (known to man) but should
be converted to machine code for a computer to understand.
High level languages consist of statements or sequences text including words,
numbers and punctuation, much like written natural languages.
Advantages of High level Languages
They are machine independent and can be used by other computers.
They are user friendly and problem oriented.
They are easier to learn, write, correct and revise than assembler and
machine languages.
They can be used for development of application software.
Disadvantages of High level Languages
They require to be translated to machine code
They are not executed faster.
Examples of high level languages
COBOL Ruby
PASCAL C++
Python C#(C-sharp)
PERL
Java Script FORTRAN
Java PHP
C
LANGUAGE PROCESSORS/TRANSLATORS
Language processors: These have to translate high level languages to machine
code languages which the processor can understand. They are software designed to
translate from high level language to low-level language.
8|Page
Examples of language processors
A compiler: a compiler is a program which translates a whole source program
from high level language to low level language which can easily be understood by
the computer.
An interpreter: This is a program that translates the source program line by line
while the program is running from high level language to low level language.
The assembler: This translates assembler instructions from assembly language to
machine code language or the binary code.
The linkers: These combine compiled programs and determine where the program
will be located in the memory.
Language editors
These are applications/software used to write computer language/codes. Some also
compile.
Examples of language editors
Notepad
Trouble c
Borland
Sublime Text
Dev C, C++
CodeBlocks
Notepad ++
Common terms used in programming
Source code is a program instruction written as text file by the programmer that
must be translated by a compiler or interpreter or assembler into an object code
before execution.
Source code cannot be understood by the computer until it has been translated into
machine code.
9|Page
Execution is the process by which a computer system performs the instructions of
a computer program.
Object code is a program code in machine language that is ready for execution by
the computer.
Bug is a logical problem in the program source code that stops the program to give
wrong results/ from running
Debugging is the process of detecting, checking and identifying problems and
errors in the source code.
10 | P a g e