You are on page 1of 33

COMPUTER SOFTWARE

Software refers to the programs written using a programming


language, which are required to operate the computer.
It is the logical entity, which enables the physical hardware to
function properly.
Software refers to the set of computer programs, procedures
that describe the programs and how they are to be used. i.e.
it is a collection of programs, which increase the capabilities
of the hardware. Software guides the computer at every step
where to start and stop during a particular job.
The process of software development is called programming.

Prepared by PETER WAIRIGU


Software can be categorized basically in two
categories.
These are:
 System Software
Application Software

Prepared by PETER WAIRIGU


Prepared by PETER WAIRIGU
SYSTEM SOFTWARE
This is a collection of programs written to service other
programs. They control the computer hardware and
application programs.
Software that is required to control the working of
hardware and aid in effective execution of a general user’s
applications.
They interface the application software to the computer
hardware in order to allow a computer user to perform
specific tasks.

Prepared by PETER WAIRIGU


Examples of system software include:
 operating system
Translators
Utilities and service programs
Database management programs
Etc

Prepared by PETER WAIRIGU


PROGRAMMING LANGUAGE
A language used to write a set of instructions which
directs the computer on how to performs.

There are two major types of programming languages.


Low Level Languages and
High Level Languages.

Prepared by PETER WAIRIGU


Low Level languages
Low level languages are machine oriented and require
extensive knowledge of computer hardware and its
configuration.

Prepared by PETER WAIRIGU


High Level Languages
Higher level languages are simple languages that use
English and mathematical symbols like +, -, %, / etc. for its
program construction. High level language have to be
converted to machine language for the computer to
understand.
Higher level languages are problem-oriented languages
because the instructions are suitable for solving a
particular problem.
For example COBOL (Common Business Oriented
Language) , FORTRAN (Formula Translation) and BASIC
(Beginners All-purpose Symbolic Instruction Code)
Prepared by PETER WAIRIGU
Translators
These are software that convert the source
code/programs to their object code/program
equivalent.
Types of translators
Assemblers
Compilers
interpreters

Prepared by PETER WAIRIGU


Assemblers:
A program that translates assembly language programs into their
object code/program equivalent
Compilers
A program that translates a high level language program into
machine code equivalent. The high level language program is
first compiled into machine language, then execution takes place
later
Interpreters
A program that translates a high level language program into
machine code equivalent. They translates and executes each
source statement in logical sequence as the program executes. It
looks at the program on a line to line basis. With the interpreter,
the high level language program is executed without compiling
the program into machine language first.
Prepared by PETER WAIRIGU
APPLICATION SOFTWARE
Application Software is a set of programs to carry out
operations for a specific application.
Software that is required for general and special purpose
applications like database management; word processing,
accounting etc. are called Application Software.
Application software is developed using system software by
Application Programmers.

Prepared by PETER WAIRIGU


Application software can be further classified into
following two types:

 General Purpose Application Software


 Special Purpose Application Software

Prepared by PETER WAIRIGU


General Purpose Software: software designed to serve the
needs of many users. Also referred to as proprietary
software. They are available off the shelf.
Examples: Database Management Packages, Word
Processors, Spreadsheets etc.

Special Purpose Application Software: software designed to


serve the specific needs of a client. Their development is
commissioned by a specific client.
Examples: Accounting, Inventory, Production Management
etc.

Prepared by PETER WAIRIGU


General purpose application software/
proprietary software
Word processors-Ms word, Word perfect
Spreadsheets-Ms Excel, Lotus
Data Management systems-Ms Access, My SQL,
Oracle 9i
Graphics-Ms Power point, Paint brush
Desktop publishing-PageMaker, Corel Draw
Electronic mail

Prepared by PETER WAIRIGU


Advantages of proprietary S/W
They are highly reliable owing to the rigorous testing
undertaken before release into the market.

They are relatively cheap. For instance software suites end


up being cheaper than purchasing separate packages

They are highly user interfaced e.g. most packages have


similar menu driven commands, graphical user interface
icons, tool and status bars, which give them the same look,
and makes them easier to learn
Prepared by PETER WAIRIGU
4. They result in savings in form of time and
resources that would be required for
program development.

5. They are portable and most of them are


interoperable with other systems.

6.File importation is possible over different


packages
Prepared by PETER WAIRIGU
Disadvantages of proprietary S/W
Integration Difficulties
The effects of upgrades
Lack of available source code
Supplier Problems

Prepared by PETER WAIRIGU


OPERATING SOFTWARE
An operating system can be defined as the set of instructions or
programs, which make the computer work.
It is a program that enables the computer hardware to
communicate and operate with the computer software.
It controls the computer and its peripherals and makes the
computer ready to use by a process called booting.
When the computer is switched on, the instructions stored in
ROM are automatically executed. These instructions help the
computer to load the operating system from external storage
device (disk) to internal storage (RAM). This process of loading
of operating system from disk to RAM is called booting.
Prepared by PETER WAIRIGU
Functions of Operating System
Process Management.
A process is a program in execution. During execution, a
process need certain resources such as CPU time, memory
space, files, and I/O devices. At a particular instance of time,
a computer system normally consists of a collection of
processes.
The process management module of an operating system
takes care of the creation and deletion of processes,
scheduling of various system resources to the different
processes requesting them, and providing mechanism for
synchronization among processes.
Prepared by PETER WAIRIGU
Functions of Operating System
Memory Management.
To execute a program, it must be loaded, together with the
data it accesses, in the main memory . To improve CPU
utilization and to provide better response time to its user, a
compute system normally keeps several programs in main
memory.
The memory management module of an operating system
takes care of the allocation of memory space to the various
programs and where relevant to each user. If there is
insufficient memory, the OS can create a memory zone on
the hard drive, known as virtual memory.

Prepared by PETER WAIRIGU


Functions of Operating System
File Management.
All computer systems are used for storage, retrieval and
sharing of information. A computer normally stores such
information in units called files. Processes can read
information from files and can create new files for storing
newly generated information.
Information stored in files is made persistent by storing
them on a secondary storage media such as a magnetic
disk. Files provide a natural and easy means of information
sharing.
The file management module of an operating system takes
care of file-related activities such as organization, storing,
retrieval, naming, sharing and protection of files.

Prepared by PETER WAIRIGU


Functions of Operating System
Device Management.
A computer system normally consists of several I/O
devices such as terminal, printer, disk, and tape.
The device management module of an operating
system takes care of controlling all the computer’s I/O
devices. It keeps track of I/O request from process,
issues commands to the I/O devices, and ensures
correct data transmission to/from the I/O devices.
It also provide an interface between the devices and
the rest of the system that is simple and easy to use.
Prepared by PETER WAIRIGU
Functions of Operating System
Security.
Computer systems often store large amount of information,
some of which is highly sensitive and valuable to their
users. Users can trust the system and rely on it only if the
various resources and information of a computer system are
protected against destruction and unauthorized access.
The security module of an operating system ensures this.
This module also ensures that when several disjoint
processes are being executed simultaneously, one process
does not interfere with the others, or with the operating
system itself.

Prepared by PETER WAIRIGU


Functions of Operating System
Command Interpretation.
A user communicates with the operating system, to use the
various systems resources, via a set of command provided by
the operating system.
The operating system also provides a simple language, known
as command language (CL) or job control language (JCL), which
a user can put several commands together from the command
set to describe the resource requirements of the job.
With this mode of interaction with system, the user is usually
not too concerned with the hardware details of the system, or
with how the operating system will direct the hardware to
handle certain request.

Prepared by PETER WAIRIGU


Structure of the OS
Kernel
The kernel of an operating system is its central
controlling part that implements the most primitive of
the system’s functions. It represents the basic
functions such as management of memory, processes,
I/O devices.
It is the only part of an operating system that a user
cannot replace or modify.

Prepared by PETER WAIRIGU


Structure of OS
The shell
The shell allows communication with the operating
system via control language, letting users control the
peripherals without knowing the characteristics of the
hardware used.

The File System


The file system allows files to be recorded in a tree
structure.

Prepared by PETER WAIRIGU


Categories of operating systems
OS can be categorized into to two broad categories:

1. Single-user operating systems:


These are used mainly for computers having only one
terminal (stand-alone PCs).
Examples:
MS DOS (Microsoft Disk Operating System)
PC DOS (Personal Computer Disk Operating System)
Both systems are almost identical and are simply called
DOS.
OS/2 and Windows NT are other popular single-user
multi-tasking operating systems for microcomputers.
Prepared by PETER WAIRIGU
2. Multi-user operating systems:
Multiuser operating systems are used on networks of
computers and allow many different users to access the
same data and application programs on the same
network. It also allows users to communicate with each
other.
Examples:
UNIX,
NETWARE,
MVS,
OS/400,
 VMS and Linux.
Prepared by PETER WAIRIGU
Modern computer operating systems may also be
classified into three other groups, which are
distinguished by the nature of interaction that takes
place between the computer user and his or her
program during its processing.
The three groups are
batch processing OS
time-shared OS
real time OS

Prepared by PETER WAIRIGU


Batch processing operating system
In a batch processing operating system environment
users submit jobs to a central place where these jobs
are collected into a batch, and subsequently placed on
an input queue at the computer where they will be
run. In this case, the user has no interaction with the
job during its processing, and the computer’s response
time is the turnaround time-the time from submission
of the job until execution is complete, and the results
are ready for return to the person who submitted the
job

Prepared by PETER WAIRIGU


Time-shared OS
In this environment a computer provides computing
services to several or many users concurrently on-line.
The various users are sharing the central processor, the
memory, and other resources of the computer system
in a manner facilitated, controlled, and monitored by
the operating system.
The user, in this environment, has nearly full
interaction with the program during its execution, and
the computer’s response time may be expected to be
no more than a few second.

Prepared by PETER WAIRIGU


Real time OS
Real Time Operating Systems are designed to service
those applications where response time is of the
essence in order to prevent error, misrepresentation or
even disaster.
Examples of real time operating systems are those,
which handle airlines reservations, machine tool
control, and monitoring of a nuclear power station.
The systems, in this case, are designed to be
interrupted by external signal that require the
immediate attention of the computer system.

Prepared by PETER WAIRIGU


END

Prepared by PETER WAIRIGU

You might also like