0% found this document useful (0 votes)
119 views

Chapter 3-Computer Software

The document discusses different types of computer software, including application software and system software. It provides examples of each type and their key characteristics. The main focus is on operating systems, which are defined as software that manages basic computer hardware resources and acts as an interface between users and applications. The key functions of an operating system are described, such as memory allocation, processor management, and controlling input/output devices.

Uploaded by

Jovin Moses
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views

Chapter 3-Computer Software

The document discusses different types of computer software, including application software and system software. It provides examples of each type and their key characteristics. The main focus is on operating systems, which are defined as software that manages basic computer hardware resources and acts as an interface between users and applications. The key functions of an operating system are described, such as memory allocation, processor management, and controlling input/output devices.

Uploaded by

Jovin Moses
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 58

COMPUTER SOFTWARE

Software Concept
Operating System (OS)
Using Operating System
Software can be defined as the program that controls the
operation of a computer. Or
a set of programs that utilizes the hardware and users its
capabilities to perform various tasks or
Is the set of instructions that a computer requires to perform
various task.

PROGRAM
Is a set of instructions stored in the computer to solve
specific problems. Or
is the set of instructions which tell the computer what to
do.
These instructions are usually written by special computer
languages such as c++, COBOL, visual basic, turbo, Pascal.
TYPES OF SOFTWARE

There are two major types of software


Systems software
Application software

Application software / application packages


Are programs designed to do a specific job Or
Are programs that are designed to help the user to accomplish
specific tasks.
Application software may consist of a single program, such as a
Microsoft's notepad for writing and editing simple text. It may
also consist of a collection of programs, often called a software
package, which work together to accomplish a task, such as a
Microsoft package.
Application software
Examples of Application software are following:
Word processing
Spreadsheet
Database
Microsoft PowerPoint (Presentation)
Web browsers
Payroll Software
Student Record Software
Inventory Management Software
Income Tax Software
Railways Reservation Software
Microsoft Office Suite Software
Features of application software are as
follows:
Close to user
Easy to design
More interactive
Slow in speed
Generally written in high-level language
Easy to understand
Easy to manipulate and use
Bigger in size and requires large storage space
Characteristics of application software
They cannot work without system software
They are very cheap compared to system software
They are specific in function
System software
System Software:
are programs designed to make computer function properly.
It can also help the user to apply application software.
System software serves as the interface between hardware
and the end users.
Some examples of system software are
Operating System,
Device drives
utility program,
.
Features of system software are as follows:
Close to system
Fast in speed
Difficult to design
Difficult to understand
Less interactive
Smaller in size
Difficult to manipulate
Generally written in low-level language
System Software further categorized into:
Operating Systems(OS)
Utility Programs
Utility software
is system software designed to help analyze, configure, optimize or
maintain a computer.
Is a type of system software used to support the computer infrastructure,
distinguishing it from application software which is aimed at directly
performing tasks that benefit ordinary users.
This is the software that enable user to manage files
 
FUNCTION OF UTILITY
Display error message
Detect malicious files
Delete all infected files
Protect computer from being harmed
Recovery damage file of the system
Example Utility Software

Anti-virus utilities scan for computer


viruses.
Backup software can make copies of all
information stored on a disk and restore
either the entire disk (e.g. in an event
of disk failure) or selected files (e.g. in an
event of accidental deletion).
Data compression utilities output a
shorter stream or a smaller file when
provided with a stream or file.
Difference between system and
Application Software
System Software Application Software
It is general purpose software It is designed for specific tasks
or purpose such as creating
documents
It start running when the It runs only when a user starts it
computer system is powered and stops when the user stops
ON and continues until it is it
powered OFF
It can run independently as it It cannot on system software
does not depend on application
software.
Relationship between Software and
Hardware
For effectively manipulation of data and
produce useful results; the computer’s
hardware and software must work
together.
Therefore software cannot be used
without hardware. Likewise, without
software, Computer hardware is useless .
Hence ,software and hardware are
interdependent.
 
OPERATING SYSTEMS (OS)

An Operating system is a set of programs that


is used to manage the basic hardware resources
of a computer.

This is the main program that controls the


execution of user applications, and enables the
user to access the hardware & software resources
of the computer.
A program that acts as an intermediary between
a user of a computer and computer hardware.
Is a program that manages all other programs
in a computer

A set of complex programs that work together


to control execution of user program called
application.

When the computer is switched on, the OS


programs run & check to ensure that all parts of
the computer are functioning properly.
OS it allows hardware and software to work
together
As in this diagram, the OS is a layer of software on top of the
bare hardware, and is used to manage all parts of computer
hardware & also act as an interface between the user & the
computer

User
(Runs Application programs)

Application software
(Send users requests to the OS)

Operating system
(Receives & controls execution of Application programs)

Hardware
(Receives & executes OS commands)
Reasons why an Operating system is needed in a computer
(why operating systems were developed).

Modern computer systems are so complex & fast such that


they need internal control.
To ensure that the full system software facilities are readily
available.
Due to the complexity of systems, jobs need to be controlled
in what they are allowed to do for security.
To increase the throughput, i.e., to increase the amount of
data that can be processed through the system in a given
period of time.
Improve communication between the user & the computer.
To make complex tasks very simple for the user to carry out.
 
It helps the computer to correct any problem that might
occur.
When an error occurs that can cause the computer to stop
functioning, a diagnostic message is displayed. The
meaning of the message is then checked in the computer
operations manual.
Reduces job setup time.
When one job is running, other programs can be read onto
the job queue. The Input/ Output devices can also be
made ready without delay.
Most computers allow many programs to be run & also
many users to use the system at the same time.
Devices/ resources under the control of an Operating System.

A computer is composed of a set of software-controlled


resources that enable movement, storage and processing of
data & information.
As a resource manager, the OS manages the following basic
resources/ devices: -
Processor.
Main memory (RAM).
Secondary storage devices.
Input/ Output devices and their Ports.
Communication devices and their Ports.
Files.
FUNCTIONS OF AN OPERATING SYSTEM.
The OS creates a working environment in which the user can
run programs. The general functions of the operating system
are:
 Processor management.
 Memory allocation & loading of programs.
 Input/ Output devices & ports management.
 Management of secondary storage devices.
 Management of communication devices & ports.
 File management.
 Job scheduling.
 Job sequencing.
 Resource control and allocation.
 Error reporting & correction routines.
 Interrupt handling.
 Interfaces the user to the system’s hardware. Logging & accounting.
Processor management.
The processor is a scarce resource. It executes tasks called
processes.
A Multi-tasking computer system can run several
applications simultaneously. At times, several tasks may
require processing, hence creating competition. However,
the CPU can only execute one program at any one time.
Therefore, access to the CPU must be carefully controlled
& monitored. The OS must decide, which program will
be allowed into the system, and for how long.
To do this, the OS arranges the tasks according to priority
and has the ability to stop a particular task to allow the
processor to service another task.
Memory allocation & loading of programs.
Programs must be loaded into memory before they can be executed,
and moved out of memory when they are no longer required.
Therefore, before processing starts, the OS ensures that the programs
are transferred into the available memory location in the Main memory
from the backing store, e.g. a disk.
At any one given time, a number of tasks may require the memory so
that they can be accessed & processed by the computer. The computer
memory is a scarce resource, and therefore, the OS must determine
which task will remain in memory waiting for execution and which one
will be sent back to secondary storage to wait.
The OS keeps track of what parts of memory are in use and by which
program, and what parts are free.
The OS also handles the data files used by the programs that are being
executed by the CPU.
In addition, the OS ensures that storage space is provided for data
generated by programs & during data transfer operations such as, disk
copying or printing.
Input/ Output devices & ports management.
Every computer has many Input & Output (I/O) devices. The OS
controls the input from & output to the various devices. It also tries
to monitor the state of each I/O device and signals any faults
detected.
During the course of their execution, programs will request the use
of an Input or Output device. In a multi-user system, conflicts are
likely to occur when one program requests a device that is being
used by another program. Therefore, the OS will control allocation
of I/O devices and attempt to resolve any conflicts that arise.
Because most input/output devices are slower than the processor,
the OS has to control the flow of data from the time of input to the
time the user receives it as information. It ensures that the right
data reaches the processor at the right time.
The OS also defines the various input/output ports found on the
computer, e.g., printer port.
 
Management of secondary storage devices.
The OS manages the storage & retrieval of data on secondary
storage devices. It also utilizes the free space on hard disks to
enhance the performance of the computer by temporarily
holding tasks on it that were in RAM ready for processing but
have to wait for sometime.

Management of communication devices & ports.


Communication refers to how the various devices and
programs in & out of the computer system send & receive
messages from one another and from the processor.
The OS controls the communication process between the
various tasks & the computer.
To achieve external communication, an external device is
usually connected to a communication port using cables or
wireless communication media.
File management.
The OS is concerned with the logical organization of the
information (the File System) and provides a means
through which files can be sorted, retrieved & shared.
It also provides a means of protecting data files &
programs against unauthorized access and corruption.

Job sequencing.
The OS keeps a list of jobs/tasks currently being run and
monitors them as they move in & out of the processor. It
also arranges them in a particular order to make it easy for
the processor to execute them and to know how & when to
fetch instructions & data for each task.
Job scheduling.
The OS arranges & loads programs in order to provide a continuous
sequence of processing & also provide the appropriate responses to events.
The processor can handle only one task at a time. Therefore, in a situation
where more than one application program is occupying the main storage,
the OS has to determine which task will be processed first and ensures
that the one that is currently being processed is closely monitored to avoid
wasting time in the processor.
The jobs are allocated priorities so as to ensure that there is continuous
processing until all the jobs within the memory are executed. This
ensures that the CPU does not remain idle at any given instance.
Some of the jobs scheduling functions include:
Controlling the loading & running of programs.
Communicating directly with users and/or the operator.
Dealing with user commands to organize files and run programs.
NB: A Job is a group of tasks taken as a unit of work for a computer, e.g.,
one or more computer programs, files, & instructions, to the operating
system.
Resource control and allocation.
The OS controls the selection & operation of hardware
devices used for input, output and storage.
The OS determines which task uses a particular resource
and at what time. To do this, it gives each resource a
unique identification number called an Interrupt number
so that, when two tasks request to use a resource at the
same time, the one with higher priority interrupt is granted
control.
This prevents an undesirable situation called deadlock
that occurs when a particular task holds a needed resource
& refuses to release it for use by other tasks.
Error reporting & correction routines.
The OS has many ways of reporting to the user of any
errors that occur during program execution. It does this
by monitoring the status of the computer system &
performing error checks on both hardware and software.
When the user makes an error, the OS through the Kernel
determines the cause of the error, and prints diagnostic
messages on the screen suggesting appropriate routines of
how the error can be corrected.
In case of a fatal error that cannot be corrected, the
program will be suspended permanently. E.g., the user
program will prematurely terminate when it encounters an
illegal operation, such as, dividing a no. by 0 or if it
attempts to read a data file that had not been opened
Interrupt handling.
An Interrupt is a break from the normal sequential
processing of instructions in a program.
Each hardware device communicates to the processor
using a special number called the Interrupt Request
number (IRQ). Therefore, when an interrupt occurs,
control is passed to the Kernel, which determines the
cause of the interrupt. The processor stops executing the
current program to wait for the corrective response of the
user. Control is returned to the program that was
interrupted once corrective action has been taken.
Some causes of Interrupt.
An Interrupt caused by Power failure.
The Kernel saves vital information using the dying power supply so
that it can be restarted when power is returned.
 
Arithmetic or logic errors.
When the ALU detects that an error has occurred, (e.g., the output
may be requested to a non-existent device) it generates a signal that
causes an interrupt. Control is transferred to the Kernel, which
indicates the appropriate error correction routines.
 
Hardware malfunction, e.g. parity errors.
The I/O control for each device & its associated hardware normally
takes care of parity checking. If a parity error is detected, the Kernel is
notified by an interrupt.
Device driver - software that the OS uses to control a specific piece of
hardware.
Interfaces the user to the system’s hardware.
The OS provides quick means of communication between the
computer user & its programs.
The user requests the services of the OS by use of commands & the
OS communicates the messages regarding the processing to the user
through, either the screen or printer. Thus, a form of ‘conversation’
is established between the OS & the computer user.
 
Logging & accounting.
The OS keeps records (internal logs) on how the computer’s
resources, e.g., CPU time, memory usage, & the peripherals are
being used. It also keeps a complete record of all that happens
during processing (usually in the form of a printed log).
 
The OS protects hardware, software & data from improper use. They
ensure that application programs use the hardware in an efficient way.
 
Examples of operating systems:
DOS (Disk Operating System).
Windows operating system.
Mac OS (Macintosh).
UNIX.
Linux.
Android
 
Characteristics of an operating system.
An OS should have the following characteristics:
Reliable.
The OS should be at least as reliable as the hardware on
which it runs. If a software or hardware error occurs, the
system should be able to detect the error and either try to
correct the problem or try to minimize the damage to the
users of the system from the error.
Protected.
A user doesn’t want other users to interfere with him.
Therefore, the system should protect users from being
affected both by errors of other users and by malicious
attempts at tampering.
Efficient.
The OS is usually a complex program that uses a large part of the
hardware resources for its own functions. The resources
consumed by the OS are not available for users.
Therefore, the system itself should be very efficient, & should
manage user’s resources to minimize their idle time.
Convenient.(accessible with minimum difficulty)
Systems should be designed keeping users in mind.
Therefore, an OS should be flexible & convenient to use. In
addition, in order to allow the sharing of resources, the OS must
be in complete control of the allocation of the computer resources.
Predictable.
User demands on the system are generally unpredictable. At the
same time, users prefer to get service that does not vary widely
over extended periods of time. An estimate as to when the user
will get his input should be given.
Revision Questions
Name two major reasons why it became necessary to use
an Operating system.
(a). Identify FOUR resources that the Operating system
should manage.
(b). what function should the Operating system perform to
manage each of the resources Above?
List and explain any five general functions of an operating
system.
What is meant by the term Job in computer studies?
Name four examples of operating systems.
 
CLASSIFICATION OF OPERATING SYSTEMS.
The OS determine the type of processing that a
computer system is able to perform, since it controls the
allocation & use of the computer resources.
Operating systems can be classified according to:
Number of tasks that the system can perform
concurrently.
 Single-tasking (program) operating system.
 Multi-tasking operating system.
Number of users the system can support at the same time.
 Single-user operating systems.
 Multi-user operating systems.

 Human Computer interface (i.e., how the user & the


computer interact).
 Command line.
 Menu driven interface.
 Graphical user interface (GUI).

 
Classification according to tasks handled
concurrently
Single-tasking OS.
Single-tasking OS allows only one user-program in the
main memory to be processed at a particular time.
This means that, the user can only run one interactive
program at a time. The user must then exit from the
program before loading & running another program. 
Example of a single user OS;
MS-DOS.
Classification according to tasks handled
concurrently
Multi-tasking (Multiprogramming) OS. 
A Multi-tasking OS allows a single CPU to execute/process more
than one program, all of which are in memory, at the same time.  
Each program is allocated a time-slice. In this case, the programs
take turns at short intervals of processing time. The CPU switches
its attention between programs as it receives requests for
processing, executing statements from one program, and then
from another.
 
The programs to be run are loaded into the memory and the CPU
begins execution of the first one. When the request is satisfied,
the second program is brought into memory and execution starts
on the second program, and so on.
 
Classification according to number of users
Single-user OS. 
A single-user OS is designed to be used by only one person. It allow only
one user/person to operate the machine at a time in an interactive,
conversational mode, and runs only one user program at a time, e.g. MS-
DOS.

Multi-user (or multi access) OS. 


A multi-user OS allows more than one user ( many people) to interactively
use/access the computer at the same time. 
Examples;
UNIX,
Novell Netware,
Ms-Windows 2000,
Ms-Windows NT,
Linux, etc
Classification according to human
computer interface (HCI)
The term Human Computer Interface (HCI) refers to the
method of interaction between the computer & the user, and
determines how easily the user can operate the computer.
The HCI enables communication to & from between the user
and the computer.

User-friendliness.
HCI is expected to be “user-friendly”, i.e., it should be one
that the end-user finds helpful, and easy to learn & use.
It should be relatively easy for the user to try to start using the
Features/characteristicsofauser-friendlyHCI.

system.
The system should be self-contained, so that the user is not forced
into accessing manuals.
The amount of effort & the information required for the user to get
the system complete required tasks should be minimal.
The system should be robust & reliable, i.e., the user should be
protected from unexpected system actions, including system
failures. 
The system should be able to adjust to different levels of expertise
between users & also as users grow in competence.
The user should be made to feel in control of what is going on.
The system should behave in a logical & consistent manner,
enabling the user to reason about what is going on and apply what
has been learned.
Types of User interfaces.
There are different types of Human Computer Interfaces: -
Command driven interface.
Menu driven interface.
Graphical User Interface (GUI).

Command driven interface.


This is an interaction between the user & the computer
that requires the use of commands
The user types a command at the prompt found on a
command line. The computer then reads instructions
from the command line and executes them
Example;
To copy a file called Fruits.Dat from Hard disk C to Floppy disk A using MS-DOS;
type
C:\ >COPY Fruits.Dat A:\ (press the Enter key for the command to be executed).
Commands enable the user to quickly instruct the computer what to do.
Command-driven software is more flexible, but it is more difficult to learn. The user
must know what commands are available,

To make commands more user-friendly, the following points need to be observed: -


The command words used should be descriptive VERBS that clearly convey the
intended action, e.g., PRINT, COPY, RENAME, DELETE, etc.
Unique abbreviations should be provided for more experienced users, e.g., PRI,
COP, REN, DEL, CHKDSK, etc.
Multiple items on a single command line should ALWAYS be separated by blank
spaces.
E.g., PRINT can be used in the following ways: -
(i)PRINT Report1 – prints the named document on the default printer.
(ii)PRINT Report1 Report2 Report3 – prints the three documents on the
default printer.
Examples of Command line interfaces 
MS-DOS,
Early versions of PC-DOS, OS/2, and UNIX.

Disadvantages of using command driven interfaces


They are more difficult to learn.
The user must know the command to type.
It is less user-friendly.
It is not easy to use, i.e., one is required to master the
command format/syntax.
 
Menu driven interface.
This type of interface provides the user with a list of
program commands displayed on the screen to choose
from & a simple means of selecting between them.
To activate a choice in the menu, one can use the Enter
key, or move the cursor until it is positioned at the desired
choice & then press the activation key so that the system
can start acting upon the information given.

This interface is suitable for beginners and infrequent


users who may have difficulties in remembering
commands.
There are 2 types of menus: -
Pull-down menus – are special types of menu used
mostly in Windows.
Pop-up menus & Pop-down menus. These menus are
made to appear above or below an item on the screen in
order to elicit/obtain a choice from a user.

Later versions of DOS have a menu driven interface called


the DOS Shell or DOS Editor.
Advantages of Menu driven interfaces
Menus provide many options to select from.
The user is presented with a choice and therefore, does
not need to master any commands.
They are easier to use.
Graphical User Interface (GUI).
This is an interaction between the user & computer that
involves issuing of commands to the computer by activating
certain small graphic images displayed on the screen called
Icons.
To issue a command, the icons can be selected using a pointing
device like a Mouse.
GUI is mostly found on Workstations or PCs fitted with graphic
adapters able to support high-resolution graphics.

Examples of GUI based OS;  


Presentation manager of OS/2,
Ms-Windows,
Linux,
Apple Macintosh.
Features of a graphical user interface.
Programs are represented graphically by use of Icons.
Commands are selected and issued using pointing devices,
e.g., Mouse, trackball.
There is use of pull-down menus.
Programs open by displaying windows.

Advantages of using GUI based OS


They are user friendly.
Easy to learn & use.
RevisionQuestions

 
What criteria are used to classify types of operating systems?
(a) Differentiate between multi-user and multitasking
operating systems.
(b) State any computer software that can be classified as a
Multi-user operating system.
Name three types of user interfaces employed by different
commercial Operating systems.
(a) Differentiate between command-line interface and
graphical user interface operating systems based on the way
commands are entered.
(b) State two main advantages of GUI interfaces.
 
Factors to consider when choosing an
operating system.

The following factors should be considered when choosing an


operating system for a computer; 
Hardware configuration of the computer, e.g., RAM memory
size, hard disk capacity, type of processor, etc. 
Basic design of the computer, - i.e., is it an IBM or IBM
compatible, or an Apple computer?
Hardware compatibility.
User needs (requirements), i.e., the applications intended for
the computer.
User friendliness or Human computer interface, i.e., is it
Command line based, Menu-driven or a Graphical user
interface?
Factors to consider when choosing an
operating system
Availability in the market, e.g. Microsoft Windows based
OS are very common.
Portability.
Cost – how expensive the OS is.
Reliability, i.e., can it run without crashing or hanging
(stop responding to commands).
The method of communication with the computer, e.g.
the number of peripherals.
The method of operating the computer
 
WINDOWS OPERATING SYSTEMS.
Windows operating system was developed as a Graphical
User Interface (GUI) for PCs running on MS-DOS. 
It provides a friendly interface that allows the users to
enter commands by pointing and clicking at objects that
appear on the screen using a pointing device, e.g., a Mouse
or a trackball. These graphical capabilities make a
program easier to use.
Microsoft Windows takes its name from the on-screen
“Window” that it uses to display information.
A Window is a rectangular portion/ area of the screen
that Windows sets aside for a specific task.
A Window is a rectangular area on a display screen in
which text and graphical images may be displayed.
Examples of Windows operating systems:
Microsoft Windows 95, 98, 2000
Professional, 2003, NT, Millennium (Me), XP,
and Vista.
Linux,
UNIX,
MacOS.
OS/2.
Common features of windows operating systems
They all have similar user-interfaces. For example; WIMP
Windows.
Pointing device – a device such as a mouse or trackball, that enables the user
to select objects on the display screen.
Pointer – a symbol (arrow) that appears on the display screen, and can be
used to select objects & commands.
Icons – small graphical pictures that represent commands, files, or
applications. By moving the pointer to the icon and pressing a mouse button,
one can execute a command or convert the icon into a window.
Buttons – items used to initiate a process in an application.
Menus – they provide choices that let the user execute commands by selecting
them.
Desktop – this is the area on the display screen where icons are grouped.
Most Windows operating systems have Plug and play (PnP) features. They
automatically accept a new hardware once it is connected to the computer.
 
Common features of Windows operating systems:-

It is user-friendly. Windows is menu driven, hence easy to


operate, because the options used in particular applications are
usually displayed on the screen in form of Icons.
All Windows operating system support multiple users & have
the ability to Multi-task, i.e., they allow one to run more than
one program at the same time, each in its own window.
It is easy to exchange information between Windows
applications, i.e., it is easy to transfer or copy information from
one program to another.
All Windows applications share a common set of commands.
For example, Open, Save, Print, etc & therefore, you don’t need
to learn a different set of commands for each application.
Ability to handle long file names, e.g., Windows 95 and later
versions accept file names of up to 255 characters including
spaces.
Advantages of Windows Operating Systems.
It is easy to open programs, find documents, and switch between
programs.
Windows provide facilities such as the Windows Explorer, which enable
one to browse through & manage you files, folders, and drives easily.
Windows can support long file names, making it easier to find and
organize files.
Windows has improved Video, CD & sound capabilities, and can fully
support MS-DOS-based games.
Windows makes it easier to install new hardware devices onto the
system. It is able to recognize and sets up a certain Plug-and-Play
hardware whose card has been inserted in the computer automatically. 
Windows allows true Multitasking, i.e. it allows the user to run more
than one (several) program at the same time, each in its own window.
 Windows is user-friendly, i.e., it is menu driven, hence easy to operate,
because the options used in particular programs are usually displayed
on the screen in form icons.

You might also like