3
INTRODUCTION TO COMPUTER SOFTWARE
Chapter Outline
3.1 Introduction
3.2 Computer Software
3.3 Categories of Software
3.1 INTRODUCTION
A computer system consists of hardware, the electronic devices that are capable of computing and
manipulating information, and software (set of instructions) that carries out predefined tasks to
complete a given job. As we know, a computer cannot think or perform on its own. It performs
operations like addition, subtraction, multiplication, and division only when the user instructs it to do
so. The user issues instructions and the CPU acts in accordance with the instructions. The sets of
instructions, which control the sequence of operations, are known as programs, and collectively
programs are called software. It is an intangible commodity, that is, the part of a computer system that
users cannot touch.
We can equate hardware and software with human body and human intelligence, respectively. All
human physical actions such as walking and eating are based on the thoughts and feelings, which is
raised by the brain. If the brain does not raise thoughts and feelings, we do not perform any physical
activity. Similarly, the actions and functioning of every hardware equipment are driven by software.
The combination of physical equipment (hardware) and logical instructions (software) gives modern
computing systems their power and versatility.
3.2 COMPUTER SOFTWARE
Software is a generic term for organised collection of computer data and instructions. It is responsible
for controlling, integrating, and managing the hardware components of a computer as well as
to accomplish the specific tasks. In other words, software tells the computer what to do and how to do
it. For example, software instructs the hardware what to display on the user's screen, what kinds of
input to take from the user, and what kinds of output to generate. Thus, software communicates with
the hardware by organising the control sequences and the hardware carries out the instructions
defined by the software.
As discussed earlier, a computer needs to be instructed to perform any task. These instructions are
given in the form of computer programs, which are written in computer programming languages. A
program controls the activity of the processor. The moment the hardware (processor, memory, etc.)
acts as per the instructions of a program, the program is said to be in running or executing state.
A set of programs, which are specifically written to provide the user a precise functionality like solving
a specific problem is termed as a software package. For example, word processing software package
provides functionality to the computer so that it can be used to create text documents like letters and
mailing lists. Similarly, an image processing software package assists a user in drawing and
manipulating graphics.
3.2.1 RELATIONSHIP BETWEEN SOFTWARE AND HARDWARE
Software refers to the computer programs that are loaded into a computer system, and hardware
refers to all the visible devices, which are assembled together to build a computer system. Both
software and hardware go hand in hand; you cannot have one without the other. Even though
hardware is the physical part of a computer, it is nothing unless it has software to control it. In a way,
hardware is like a car without a driver; one needs both to make something happen. Software is a set
of instructions that tells the hardware what to do and how to perform the requested actions. Thus,
hardware and software share a special relationship. If hardware is the “heart” of a computer system,
software is its “soul”. Both are complimentary to each other.
An analogy can be taken of a video game system, which comprises of a console, games' cassettes,
joystick, and display screen as the hardware. The games in the cassettes can be considered as the
software. To play a particular game, the cassette of that game has to be loaded on the console and
then the game can be played. Similarly, to get a particular job done by a computer, the relevant
software is loaded in the storage device, which makes a computer perform the desired functions.
Therefore, it is evident that the software is vital. Another inference from this analogy is that different
software can be used on the same hardware to perform different jobs, just as different games can be
played on the same console by using different cassettes.
Figure 3.1 Hardware and Software
3.3 CATEGORIES OF SOFTWARE
Software can be categorised as system software and application software. System software is a generic
term for referring to any computer program whose purpose is to help the user to run the computer
system, whereas application software employs the capabilities of a computer directly to a task that
the user wishes to perform. As an analogy, we can equate an electric bulb to an application and the
electric power generation plant with system. The power plant merely generates electricity. It is not
really of any use until harnessed to an application like the electric bulb, which performs a service that
the user desires.
Figure 3.2 Software Categories
3.3.1 SYSTEM SOFTWARE
System software consists of several programs, which are directly responsible for controlling,
integrating, and managing the individual hardware components of a computer system. You must have
noticed that a new computer system is always accompanied by some software, either stored in a
floppy or CD, which is supplied by the manufacturer. This software manages and supports the
computer system and its information processing activities.
System software is more transparent and less noticed by the users, they usually interact with the
hardware or the applications. This software provides a programming environment in which
programmers can create applications to accommodate their needs. This environment provides
functions that are not available at the hardware level and performs the tasks related to the execution
of an application program. Hence, system software acts as an interface between the hardware of the
computer and the software applications.
In simple terms, system software makes the computer functional. They provide basic functionality like
file management, visual display, and keyboard input, and are used by application software to
accomplish these functions. Some examples of system software are operating systems, device
drivers, language translators, and system utilities.
Figure 3.3 System Software as an Interface
Operating System: Operating system is the first layer of software loaded into computer
memory when it starts up. As the first software layer, all other software that gets loaded after
it depends on it for various common core services. These common core services include disk
access, memory management, task scheduling, and user interfacing. In addition, the operating
system ensures that different programs executing at the same time do not interfere with each
other. It provides a software platform on top of which other programs can run. In simple
words, the operating system organises and controls the hardware. Examples of operating
systems are Windows XP, UNIX, and Linux. The basic functions of an operating system are:
Figure 3.4 Operating System
Process Management: It handles the creation, deletion, suspension, resumption, and
synchronisation of processes.
Memory Management: It handles allocation and de-allocation of memory space as required by
various programs.
File Management: It is responsible for creation and deletion of files and directories. It also
organises, stores, retrieves, names, and protects all the files.
Device Management: It manages all the devices of the computer system such as printers and
modems. If any device fails, it detects the device failure and notifies the same to the user.
Security Management: It protects system resources and information against destruction and
unauthorised use.
User Interface: It provides the interface between the user and the hardware.
Device Drivers: Device drivers are system programs, which are responsible for proper
functioning of devices. Every device, whether it is a printer, monitor, mouse or keyboard, has a
driver program associated with it for its proper functioning. Whenever a new device is added
to the computer system, a new device driver must be installed before the device is used. In
modern operating systems, most hardware drivers such as the keyboard driver, come with the
operating system. A device driver acts like a translator between the device and program
(typically, an operating system) that uses the device. For example, when a user prints a
document, the processor issues a set of generic commands to the printer driver, and the driver
translates those commands into the specialised instructions that the printer understands.
Note that each device has its own set of specialised commands that only its driver
understands. A device driver is not an independent program; it assists and is assisted by the
operating system for the proper functioning of the device.
Figure 3.5 Device Drivers
Language Translators: Computers only understand a language consisting of 0s and 1s
called machine language. To ease the burden of programming entirely in 0s and 1s, special
programming languages called high-level programming languages were developed that
resemble natural languages like English. Therefore, a tool was required which could translate a
program written in a programming language to machine language. Along with every
programming language developed, a language translator was also developed, which accepts
the programs written in a programming language and executes them by transforming them
into a form suitable for execution. To be precise, they convert programming statements into
the 0s and 1s that the computer is able to process.
Figure 3.6 Translating Source Code into Executable Code
Depending on the programming language used, language translators are divided into three major
categories: compiler, interpreter, and assembler. All these are listed in Table 2.1.
Table 3.1 Various Types of Language Translators
Language
Description
Translators
Compiler The programs written in any high-level programming language (C or Pascal) are
converted into machine language using a compiler. As a system program, the
compiler translates source code (user written program) into object code (binary
form).
Interpreter An interpreter analyses and executes the source code in line-by-line manner,
without looking at the entire program. In other words, an interpreter translates
a statement in a program and executes the statement immediately, before
translating the next source language statement. The advantage of interpreters is
that they can execute a program spontaneously. Compilers require some time
before an executable program is formed because it looks at the whole source
code. However, programs produced by compilers run much faster than the same
programs executed by an interpreter.
Assembler Compared to all the types of programming languages, assembly language is
closest to the machine code. Assembly language is fundamentally a symbolic
representation of machine code. The assembly language program must be
translated into machine code by a separate program called an assembler. The
assembler program recognises the character strings that make up the symbolic
names of the various machine operations, and substitutes the required machine
code for each instruction. In short, an assembler converts the assembly codes
Language
Description
Translators
into machine codes, making the assembly program ready for execution.
Typical software generally comprises millions of lines of programming statements or code. The code is
divided into logical groups and stored in different independent modules so that the debugging and
maintenance of the code becomes easier. Before execution, different object codes resulting from the
independent modules have to be linked together to create an executable program. A linker is a system
program that links together several objects modules and libraries to form a single, coherent, program
(executable program). The part of the operating system that brings an executable file residing on disk
into memory and executes it is known as loader. Being responsible for tasks like loading, linking, and
relocation, loader performs the function of a linked program and then immediately schedules the
executable for execution without creating an executable file as an output.
System Utility: System utility programs perform day-to-day tasks related to the maintenance of
the computer system. They are used to support, enhance, and secure existing programs and
data in the computer system. They are generally small programs, having specific tasks to
perform. Some utility programs are usually provided along with the operating system, some
are free while some need to be purchased from the third party commercial vendors. Most
common functions of system utilities include:
File Management: These utilities make it easier to manage data files. Many programs
are written to help users to find the files, create and organise directories, copy, move,
and remove files. For example, the Windows Explorer in Microsoft Windows operating
system does all the said activities in user-friendly interface.
Backup: It may happen that sometime data files are corrupted, or accidentally deleted.
In such a case, data backups become very useful. A backup system utility is essential
for those organisations, which want to keep their data intact.
Data Recovery: It is the process of retrieving deleted or inaccessible data from failed
electronic storage media such as computer hard disk drives, removable media, optical
devices, and tape cartridges. The data might become inaccessible due to a software
problem, computer virus, mechanical or electrical malfunction or a deliberate human
act. Using these tools, experienced technicians can successfully recover 80 to even 100
percent of lost data.
Virus Protection: Anti-virus programs are essential system utilities for a computer
system functioning in a network. They provide the security to the system from viruses
that can damage the computer system. Viruses are small programs written with
malicious intent, which copy themselves to the hard disk from Internet or other
infected systems. Viruses keep on spreading to other computers through the network
or exchange of infected storage devices such as floppies and CDs. Once installed on the
system, anti-virus software scans the hard disk for any kind of virus and, if found,
remove them. In addition, they monitor the clean (virus free) computer for any activity
of viruses. Examples of some of the anti-virus programs are Norton anti-virus and
McAfee anti-virus that protect the system from viruses.
Disk Management: Disk management programs include various system software
like disk defragmenter, data compressor, and disk formatting tools. De-fragmentation
implies putting fragments of files in a sequential order onto the disk which reduces the
time to access the file. It recognises the data stored on the disk so that it can be
arranged more effectively. Data compression programs squeeze out the slack space
generated by the formatting schemes. Formatting tools format the hard drive in tracks
and sectors for orderly storing of data in the drive.
Firewall: Firewall forms a barrier between networked computers within an
organisation and those outside the organisation. It is commonly used to protect
information such as e-mail and data files within a physical building or organisation.
Essentially, a firewall is designed to protect a computer from unauthorised access,
especially via network.
Disk Cleanup: To keep a computer running smoothly, regular maintenance is vital.
Therefore, one should use the disk cleanup utility, which easily determines which files
on hard drive are no longer needed, and delete those files. In addition to freeing up
potentially significant hard disk space; using disk cleanup on a regular basis can
significantly improve system performance.
3.3.2 APPLICATION SOFTWARE
The most often seen software by a user is the application software. It is used to accomplish specific
tasks rather than just managing a computer system. For a user, the computer system has no specific
use without application software. Application software may consist of a single program, such as
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
database management software. Application software may also include a larger collection of related
but independent programs and packages (a software suite), which have a common user interface or
shared data format, such as Microsoft Office suite.
Application software is dependent on system software. A system software (like operating system) acts
as an interface between the user and the computer hardware, while application software performs
specific tasks. Applications are software that perform tasks for the user besides helping the computer
operate, which is the task of system software. Application software are controlled by system
software, which manages hardware devices and performs background tasks for them. The distinction
between the two is important. Without system software, the computer will not run, and without
application software, the computer, no matter how powerful, will not be helpful in meeting user
requirements. Think of it this way—applications apply the computer's thinking power to business
tasks such as tracking the general ledger or billing your customers. Figure 3.7 illustrates that
application layer executes on the system software layer, which lies on the hardware layer.
Figure 3.7 Relationship between Application and System Software
Application software ranges from games, calculators, and word processors (document creating
programs), to programs that “paint” images on screen (image editors). Applications represent real
world tasks. They can be easily divided by looking at exactly what function they serve. Some of the
most commonly used application software are discussed below.
Word Processors: A word processor is software used to compose, format, edit, and print
electronic documents. Word processing is one of the earliest applications for office
productivity and the personal computer. It involves not only typing, but also checking the
spelling and grammar of the text and arranging it correctly on a page. A variety of different
typefaces is available for a variety of effects. It is possible to include pictures, graphs, charts,
and many other things within the text of the document. It also allows for changes in margins,
fonts, and colours. Nowadays, virtually all personal computers are equipped with a word
processing program, which has the same function as a typewriter for writing letters, reports or
other documents, and printing. Examples of some well-known word processors are Microsoft
Word and WordPerfect.
Figure 3.8 Word Processor
Spreadsheets: One of the first commercial uses of computers was in processing payroll and
other financial records. So the programs were designed to generate reports in the standard
“spreadsheet” format used by bookkeepers and accountants. A spreadsheet application is a
rectangular grid, which allows text, numbers, and complex functions to be entered into a
matrix of thousands of individual cells. The spreadsheet provides sheets containing cells each
of which may contain text and/or numbers. Cells may also contain equations that calculate
results from data placed in other cells or series of cells. A simple example might be a column
of numbers to talled in a single cell containing an equation relating to that column. Microsoft
Excel and Lotus 1-2-3 are examples of spreadsheet applications.
Figure 3.9 Spreadsheet Application
Image Editors: Image editor programs are designed specifically for capturing, creating, editing,
and manipulating images. These graphics programs provide a variety of special features for
creating and altering images. In addition to offering a host of filters and image transformation
algorithms, some image editors also enable the user to create and superimpose layers. Most
graphic programs have the ability to import and export one or more graphic file formats. These
computer programs enable the user to adjust an image to improve its appearance. With image
editing software, one can darken or lighten an image, rotate it, adjust its contrast, crop out
extraneous detail, and much more. Examples of these programs are Adobe Photoshop, Adobe
Illustrator, and CorelDRAW.
Figure 3.10 Image Editing Software
Database Management Systems: Database management software is a collection of computer
programs that allow storage, modification, and extraction of information from a database in
an efficient manner. It supports the structuring of the database in a standard format and
provides tools for data input, verification, storage, retrieval, query, and manipulation. When
such software is used, information systems can be changed much more easily as the
organisation's information requirements change. New categories of data can be added to the
database without disrupting the existing system. It also controls the security and integrity of
the database from unauthorised access. FoxPro and Oracle are database management
systems.
Figure 3.11 DBMS Application
Presentation Applications: A presentation is a means of assessment, which requires
presentation providers to present their work orally in the presence of an audience. It
combines both visual and verbal elements. Presentation software allows the user to create
presentations by producing slides or handouts for presentation of projects. Essentially, such
computer programs allow users to create a variety of visually appealing electronic slides for
presentations. Microsoft PowerPoint is one of the most famous presentation applications.
Figure 3.12 Presentation Software
Desktop Publishing Software: The term desktop publishing is usually used to describe the
creation of printed documents using a desktop computer. It is a technique of using a personal
computer to design images and pages, and assemble type and graphics, then using a laser
printer or image-setter to output the assembled pages onto paper, film, or printing plate.
These software are used for creating magazines, books, newsletters, and so on. Such software
assist in creating sophisticated documents including complicated page designs, detailed
illustrations, and camera-ready typefaces. Quark Express and Adobe PageMaker are desktop
publishing software.
Figure 3.13 Desktop Publishing Software
LET US SUMMARISE
1. A computer system consists of hardware, the electronic devices that are capable of computing
and manipulating information, and software (set of instructions) that carries out predefined
tasks to complete a given job.
2. Instructions are given in the form of computer programs, which are written in computer
programming languages.
3. A set of programs, which are specifically written to provide the user a precise functionality like
solving a specific problem is termed as a software package.
4. Software refers to the computer programs that are loaded into a computer system, and
hardware refers to all the visible devices, which are assembled together to build a computer
system.
5. Software can be categorised as system software and application software.
6. System software consists of several programs, which are directly responsible for controlling,
integrating, and managing the individual hardware components of a computer system. Some
examples of system software are operating systems, device drivers, language translators, and
system utilities.
7. Application software is used to accomplish specific tasks rather than just managing a computer
system. For a user, the computer system has no specific use without application software.
Some of the most commonly used application software are word processors, spreadsheets,
image editors, database management systems, presentation applications, and desktop
publishing software.
8. A system software (like operating system) acts as an interface between the user and the
computer hardware, while application software performs specific tasks.
EXERCISES
Fill in the Blanks
1. Software can be categorie as __________ and __________.
2. A __________ acts like a translator between the device and programs that use the device.
3. __________ translate a program written in a programming language to machine language.
4. __________ refers to all the visible devices.
5. A new computer system is always accompanied by some software either stored in a
__________ or __________.
6. Windows XP, UNIX, and Linux are examples of __________.
7. The most often seen software by a user is the __________.
8. Anti-virus programs provide security to the system from __________.
9. The part of operating system that brings an executable file residing on disk into memory and
executes it is known as __________.
10. __________ and __________ are database management systems.
Multiple Choice Questions
1. Which of the following is system software?
1. (a) Microsoft Word
2. (b) Adobe Photoshop
3. (c) Microsoft PowerPoint
4. (d) Windows XP
2. __________ analyses and executes each line of source code in line-by-line manner, without
looking at the entire program.
1. (a) Compiler
2. (b) Operating System
3. (c) Interpreter
4. (d) Device Drivers
3. The assembly language program must be translated into machine code by a separate program
called __________.
1. (a) Assembler
2. (b) Interpreter
3. (c) Loader
4. (d) Compiler
4. Which of the following is application software?
1. (a) Image Editor
2. (b) Database Management System
3. (c) Spreadsheets
4. (d) All the above
5. Which of the following is not system software?
1. (a) Operating System
2. (b) Language Translator
3. (c) Adobe Photoshop
4. (d) System Utility
6. Which of the following is not a function of system utility?
1. (a) Process Management
2. (b) Backup
3. (c) Disk Cleanup
4. (d) None of the above
7. Choose the odd one out.
1. (a) Device Driver
2. (b) Language Translator
3. (c) Spreadsheets
4. (d) System Utility
8. Which of the following performs file management?
1. (a) Assembler
2. (b) Operating System
3. (c) System Utility
4. (d) Both (b) and (c)
9. Which of the following consists of several programs, which are directly responsible for
controlling, integrating, and managing individual hardware components?
1. (a) Application Software
2. (b) System Software
3. (c) Database Management System
4. (d) All the above
10. Which of the following is developed by Microsoft?
1. (a) Oracle
2. (b) WordPerfect
3. (c) CorelDRAW
4. (d) PageMaker
State True or False
1. Operating system is application software.
2. A device driver allows another program to interact with a hardware device.
3. Data recovery is the process of retrieving deleted or inaccessible data from failed electronic
storage media.
4. WordPerfect is a well known image editor.
5. Computer needs to be instructed to perform every task.
6. Software is a set of instructions that tells the hardware what to do but not how to do the
requested action.
7. System software is more transparent and less noticed by users.
8. Application software are dependent on system software.
9. A program in assembly language is easily recognisable by hardware without translation
because assembly language is too close to machine language which computer understands.
10. Anti-virus is designed to protect a computer from unauthorised access via network.
Descriptive Questions
1. What do you understand by the term software?
2. Discuss the relationship between software and hardware.
3. Describe the two categories of software?
4. Write short notes on the following.
1. (a) Interpreter
2. (b) Device driver
3. (c) System utility
4. (d) Loader
5. (e) Spreadsheet
5. Define application software. Also, name some most commonly-used application software.
6. Discuss the significance of system utility. Also, list their common functions.
7. Discuss the basic functions of operating system.
ANSWERS
Fill in the Blanks
1. System software, application software
2. Device driver
3. Language translators
4. Hardware
5. Floppy, CD
6. Operating system
7. Application software
8. Viruses
9. Loader
10. FoxPro, Oracle
Multiple Choice Questions
1. (d)
2. (c)
3. (a)
4. (d)
5. (c)
6. (a)
7. (c)
8. (d)
9. (b)
10. (b)
State True or False
1. False
2. True
3. True
4. False
5. True
6. False
7. True
8. True
9. False
10. False