0% found this document useful (0 votes)
15 views44 pages

Computer Software

Uploaded by

Marcel Oderoh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
15 views44 pages

Computer Software

Uploaded by

Marcel Oderoh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 44

Computer Software

Context
At the end of the chapter the learner shall be able to;
• Explain computer software and the classification of computer
software
• Explain system software and the different software in that category
and their application and importance in computing
• Explain application software and the different software in that
category such as general purpose and special purpose software
• Explain Ready-made software vs tailor made software
Introduction
• Software is simply set of instructions that cause a computer to perform one
or more tasks.
• The set of instructions is often called a program or, if the set is particularly
large and complex, a system.
• Computers cannot do any useful work without instructions from software;
thus, a combination of software and hardware is necessary to do any
computerized work.
• A program must tell the computer each of a set of tasks to perform, in a
framework of logic, such that the computer knows exactly what to do and
when to do it.
• Data are raw facts and ideas that have not been processed while
Information is data that has been processed so as to be useful to the user.
Classification of Computer Software
SYSTEM SOFTWARE
Cont.
• Systems software: Also called Operating Systems (OS) are programs with
associated documentation that controls the way the computer operates or
provide facilities that extend the general capabilities of the system.
• System Software: - Which controls all processing activities and makes sure
that the resources and the power of the computer are used in most
efficient manner.
• The System software can be categorized into
1. Operating System
2. Language Processors (Assemblers, Compilers, Interpreters)
3. Utilities Programs
4. Device Drivers
5. Basic Input Output system (BIOS)
1) Operating System and Control Programs
• Operating systems and control programs: a complex program and most
important program that runs on a computer and which controls the
operation of a computer.
• It performs basic tasks, such as recognizing input from the keyboard,
sending output to the display screen, keeping track of files and directories
on the disk, and controlling peripheral devices such as disk drives and
printers.
• In general, the operating system supervises and directs all the software components
and the hardware components.
• Sophisticated operating system could handle multi-processors, many users and tasks
simultaneously.
• Examples of computers operating systems are UNIX,
Microsoft windows 95/98, Windows NT, Windows 2000, Windows XP, Windows Vista
and Linux.
Functions of OS
• The major functions of O.S are
• 1. Process Management: The CPU executes a large number of programs.
While its main concern is the execution of user programs, the CPU
is also needed for other system activities.
• These activities are called processes. A process is a program in execution.
• The operating system is responsible for the following activities in
connection with processes managed.
• The creation and deletion of both user and system processes
• The suspension and resumption of processes.
• The provision of mechanisms for process synchronization
• The provision of mechanisms for deadlock handling.
Functions of OS
• Memory Management: Memory is central to the operation of a
modern computer system.
• Memory is a large array of words or bytes, each with its own address.
Interaction is achieved through a sequence of reads or writes of
specific memory address.
• The CPU fetches from and stores in memory. In order for a program to
be executed it must be mapped to absolute addresses and loaded in
to memory.
• In order to improve both the utilization of CPU and the speed of the
computer’s response to its users, several processes must be kept in
memory.
Functions of OS Cont.
• The operating system is responsible for the following activities in
connection with memory management.
• Keep track of which parts of memory are currently being used and by whom.
• Decide which processes are to be loaded into memory when memory space
becomes available.
• Allocate and de-allocate memory space as needed.
• Secondary Storage Management
Functions of OS
• Secondary Storage Management: The main purpose of a computer system
is to execute programs.
• These programs, together with the data they access, must be in main
memory during execution.
• Since the main memory is too small to permanently accommodate all data
and program, the computer system must provide secondary storage to
backup main memory.
• Most modern computer systems use disks as the primary on-line storage of
information, of both programs and data.
• The operating system is responsible for the following activities in
connection with disk management
• Free space management
• Storage allocation
• Disk scheduling.
Functions of OS
• Input Output System – Input/output management: One of the
purposes of an operating system is to hide the peculiarities of specific
hardware devices from the user.
• For example, in UNIX, the peculiarities of Input/output devices are hidden
from the bulk of the operating system itself by the INPUT/OUTPUT system.
• The Input/output system consists of:
• A buffer caching system
• A general device driver code
• Drivers for specific hardware devices. Only the device driver knows the
peculiarities of a specific device.
Functions of OS
• File Management: A file is a collection of related information defined
by its creator. File management is one of the most visible services of
an operating system.
• Computers can store information in several different physical forms;
magnetic tape, disk, and drum are the most common forms.
• Each of these devices has it own characteristics and physical
organization. For convenient use of the computer system, the
operating system provides a uniform logical view of information
storage.
• The operating system abstracts from the physical properties of its
storage devices to define a logical storage unit, the file. Files are
mapped, by the operating system, onto physical devices.
Functions of OS
• The operating system is responsible for the following activities in
connection with file management:
a) The creation and deletion of files
b) The creation and deletion of directory
c) The support of primitives for manipulating files and directories
d) The mapping of files onto disk storage.
e) Backup of files on stable (nonvolatile) storage.
Functions of OS

• Protection System – Data Security and Integrity: The various processes in


an operating system must be protected from each other’s activities.
• For that purpose, various mechanisms which can be used to ensure that
the files, memory segment, CPU and other resources can be operated on
only by those processes that have gained proper authorization from the
operating system.
• Protection refers to a mechanism for controlling the access of programs,
processes, or users to the resources defined by a computer controls to be
imposed, together with some means of enforcement.
• An unprotected resource cannot defend against use (or misuse) by an
unauthorized or incompetent user.
Functions of OS
• Command Interpreter System: One of the most important
components of an operating system is its command interpreter.
• The command interpreter is the primary interface between the user
and the rest of the system.
• Many commands are given to the operating system by control
statements. When a new job is started in a batch system or when a
user logs-in to a time-shared system, a program which reads and
interprets control statements is automatically executed.
Functions of OS
• Others include;
• Handling job transactions
• Co-ordinating and managing peripheral devices
• Input-Output Management
• Maintains account of processor time for billing purposes.
• Maintains Internal clock; Provides data and time services etc.
• Scheduling of various tasks
• Establishing and enforcing priorities for different jobs
Types of Operating Systems
• Operating systems are basically capable to do all functions but The
way of processing or approach of the systems may vary from one
Operating systems to another.
• The Operating systems can be classified as Single user and Multiuser
(number of users working on it at a given point of time) and
Multitasking operating systems,
• Single user Operating systems - MSDOS
• Multi-user Operating System - UNIX, Linux etc
• Multitasking Operating System - Windows
Classification of OS
• Basing on the features of the operating systems and the interface
provided they can be classified as
• User friendly Operating system :- These Operating systems provide a
pleasant and easy to work environment they are usually graphical
based, where the various options are represented as icons, menus
etc. Windows operating systems are some of the user friendly
Operating systems.
Cont.
• Programming friendly Operating systems:- The programmer is
anyone who has fair knowledge about programming concepts and he
is expected to know the computer in a detailed manner.
• The programmer much concerned about various utilities, functionalities,
flexibility and powerful environment.
• UNIX, XENIX, LINUX etc. are some of the character-based interfaces which are
very powerful and programming friendly.
• Computer User interface There are two types of interface that can be
provided by the operating system.
• Command-based interface
• Graphical user interface
a. Command based Interface
• In a command-based interface the user
enters commands through an interactive
terminal. The commands are entered on a
prompt for example the Ms Dos prompt
looks like this.
• Once the commands are entered on the
prompt a command line interpreter (CLI)
identifies and executes the commands.
• A command-based interface is quick to
operate and very flexible, but the user
needs to learn all the commands and type
them in correctly.
• Examples operating systems that use
command-based interface are Ms DOS and
UNIX.
b. Graphical User Interface
• A graphical user interface (GUI) allows
the user to interact with the system
using Windows, Icons, Menus, and
Pointers to control the operating
system.
• Icons represent programs, groups of
programs, folders, devices and files.
• Instead of typing a command or file
name, selection is achieved by moving
a pointer with a mouse and clicking a
mouse button.
• Windows is a Graphical user interface-
based operating system
Advantages of GUI
• GUIs are easier for the novice user because they are more intuitive
• The graphical symbols represent familiar objects such as a garbage
bin
• Only valid options are available to avoid confusing the user
• No need to memorize commands
• Help is available online showing the only relevant options
Disadvantages of GUI
• GUI require more memory
• They require faster processors and better graphics display
• For experienced users they appear slow to operate because they
require more operations for simple tasks.
Language Processors (Assemblers, Compilers,
Interpreters)
• Translators used to translate programs developed using standard
programming languages into machine language that is understood by the
computer. There are three basic types of translators they are
• Compilers: - A compiler is a software that will convert the high-level
instructions into equivalent Machine level instructions using batch
processing.
• Interpreters: - A Interpreter is a software that will convert the high-level
instructions into equivalent Machine level instructions one instruction at a
time.
• Assembler: - Assembler is a software that will convert the assembly into
equivalent Machine level instructions.
Utilities Programs
• They are systems programs that provides useful service to the users
of the computer by providing facilities for performing common tasks
of a routine nature.
• Common types includes
• Sort: used for sorting data
• Editor: also called text editors are used at a terminal and provide facilities for
the creation or amendment of programs
• File copying: also called media conversion are used to copy data from one
medium to another.
• Dump: used to copy the content of the main memory to an external storage
device.
Cont.
• Tracing and Debugging: used in conjunction with the debugging and testing of
application programs.
• Tracing involves producing diagnostic information after obeying specified instructions so that
the cycle of operation can traced and errors located.
• Debugging is the term given to the process of locating and eliminating errors (bugs) from a
program.
• ·Libraries- commonly used parts or portions of a program which can be called or
included in the programmer’s code without having to recode that portion.
• Compression utilities make files smaller for storage (or sending over the Internet)
and then return them to normal size.
• Firewalls prevent outsiders from accessing your computer over a network such as
the Internet.
Cont.
• Data recovery utilities attempt to restore data and files that have
been damaged or accidentally deleted.
• Disk defragmenters reorganize the data stored on disks so that it is
more efficiently arranged.
• Device Drivers: These are special programs which are used to
enhance the capability of operating systems, so that it can support
many input/output devices like mouse, joysticks, printers etc.
• Communication programs- refer to programs that make it possible to
transmit data.
Basic Input Output system (BIOS)
• The BIOS, or basic input/output systems is a type of software that is
encoded within the computer's read-only memory (ROM) chip
located on the motherboard.
• This is to make sure that the BIOS is never altered and to make sure
that it will always be available for the central processing unit to use
when the computer is first turned on.
Functions of the BIOS
• The most important job of the BIOS is to give the microprocessor its first
instructions and to load the operating system when the computer is turned
on. It then performs a POST, or Power-On Self-Test.
• This is an inspection to check that everything in the computer is working and
functioning properly.
• In addition, there is more than one BIOS in your computer. The main
system BIOS is the most popular.
• The system BIOS activates all of the other BIOS chips. If everything is found
to be working properly during the POST, the BIOS will then try to boot the
computer from the hard drive.
• This is the process of launching the Operating system so that you can use
many different computer programs, like playing games or surfing the
Internet!
When you turn your computer on:
• The first thing you see is your BIOS working
• The BIOS checks the CMOS for the settings that you have specified for
your operating system (such as background, font, etc.). CMOS is an
acronym for Complementary Metal Oxide Semiconductor.
• It is a RAM chip that stores basic information about your computer system
and your configurations.
• The BIOS will check this to find out the type of hard drive and floppy
disks in the computer, how much memory there is, etc.
• The BIOS loads interrupt handlers, which are software that act like
translators, and the device drives, which are software identifying
hardware components like a keyboard, mouse, hard disk and floppy
disk.
Cont.
• It will check the ports to make sure these devices are intact.
• The BIOS performs the POST to make sure that everything is working
properly.
• It then displays system settings.
APPLICATION SOFTWARE
Introduction

• Application programs are written to solve specific problems (or to handle


the needs) of the end-user in particular areas.
• They interface between the user & system programs to allow the user to
perform specific tasks. Application software helps to solve the problems of
the computer user, and are therefore said to be user-oriented.
• They are designed specifically to carry out particular tasks. For example,
they can be used to type & create professional documents such as letters,
solve mathematical equations, draw pictures.
• Application programs can be written by the user, programmers employed
by the user, or by a Software house (a company specializing in writing
software).
• Application software falls into 2 main categories/groups: General-purpose
packages (Application packages) and Special-purpose applications (User
programs).
1) General Purpose Packages (Application
packages)
• They are usually pre-written programs made for non-specialists, in the
home or business, and may be used for a wide variety of purposes.
• They are off-shelf programs that are developed & supplied by
manufacturers, Bureaux & software houses at a price.
• They provide a general set of facilities that are used in dealing with similar
types of tasks, which arise in a wide variety of different application
problems.
• The range, quality and variety of the packages are continuously changing.
• Examples of Application packages are: -
• Word processors
• Spreadsheets.
• Databases
• Graphic packages, etc.
Advantages of Application packages as
compared to other forms of applications
• Packages are extensively/thoroughly tested & debugged (has all errors
corrected), i.e. if it is a popular package, it is usually tried & approved by a
large no. of people.
• The testing is done by a pool of professional programmers and analysts.
• Are usually provided with extensive documentation to help the user.
• Relatively quick results are obtained.
• The packages are generally portable. In addition, there is usually a
maintenance agreement between the supplier & the buyer.
• Application packages can be rented, especially by users who might require
to use them only periodically, hence cutting on costs, e.g. maintenance
Disadvantages (drawbacks) of Application
packages.
• The package is produced to meet general needs (a wide variety of
user’s needs) & therefore, may not be ideal for a particular customer/
company.
• The purchaser has no direct control over the package, because he/she
is not involved in developing it.
• Packages cannot be modified.
• The user may not be free to correct any routines/ functions of the
package, because there is always a maintenance guarantee & the
application of the developer’s copyright act.
Cont.
• A package may include extra facilities, which are not required by an
individual user or company.
• Sometimes, the package will allow only a clumsy solution to the task
at hand.
• In the case of Spreadsheet or Database, the user must still develop
the application, which requires a thorough knowledge of the
capabilities of the package, which are usually quite extensive.
• The user must still provide documentation for the particular application that
he/she has created.
• It is quite easy to forget the commands to use the package, especially
if it is not used frequently.
2) Special-purpose applications (User
developed/ in-house programs)
• They are written to meet the specific needs of an organization. They are
usually customized (modified/ tailored) programs written by the user or a
Software house under contract, to perform a specific job.
• They are developed by users to solve only the specific processing tasks in
one organization, and may not suit the needs of other organizations, hence
the name In-house or Tailor-made programs.
• They are designed for a particular identifiable group of users such as Estate
agents, farmers, Hoteliers, etc.
• They are usually aimed at providing all the facilities required for particular
class of application problem such as Payroll / Stock control.
• Since the programs are occupation- specific; they sell fewer & tend to be more
expensive.
Cont.
Advantages of Special-purpose applications.
• The user gets a well tried & tested program, which he/she is able to use
with confidence.
• The user is able to quickly implement the results obtained from the use of
the package.
Disadvantages
• Purchaser has direct control over the package, as he is involved in its
production.
• Are very expensive.
FACTORS TO CONSIDER WHEN BUYING AN
APPLICATION PACKAGE.
• Cost of the package in relation to the expected benefits against the cost of
developing in-house programs.
• Compatibility: - (fitting) of the package with/within the existing computer
resources, e.g., hardware, software, etc.
• Whether there is maintenance support from the suppliers.
• Whether there is accompanying documentation (the descriptions), which helps in
using, maintaining & installing the package.
• The portability of the package, i.e. whether the package can be used on different
families of computers.
• A good package is that which is easy to learn & use. This helps to determine the
duration of training that might be involved & the subsequent cost of training.
• Before buying a particular package, its current users should be interviewed to
find out whether the package is successful and famous in the market.
DIFFERENCE BETWEEN SYSTEM SOFTWARE
AND APPLICATION SOFTWARE
• System software is used for operating computer hardware while
Application software is used by user to perform specific task.
Application software are installed according to user’s requirements.
• In general, the user does not interact with system software because it
works in the background. While in application software, the user
interacts with the software.
• System software can run independently. It provides platform for
running application software while the Application software can’t run
independently. They can’t run without the presence of system
software.
Review Questions?
• What is system software
• What is application software?
• Explain the two categories of application software
• Discuss types of booting in a computer
• Highlight four utility programs in a computer
• An operating system is responsible for providing basic security to the
computer, explain two types of computer viruses.
• Outline tasks performed by the operating system under memory
management
The End

Q&A

You might also like