lecture-03
lecture-03
LESSON 3:
SOFTWARE
Objective outdated and new software are coming in the market. So, we
The objective of this lesson is to give you insight in to: must get aware of the latest developments in the software
• To make student understand software industry.
• To understand ttypes of software In this chapter, we will be discussing all the important software
concepts and providing you the latest knowledge of all the
• To evaluate the need of operating systems.
software available in the market. Though we are also providing
• To know about types of operating systems and operating you the current information about the latest version of a
system techniques software, we are sure that it will be out-dated soon.
• Evaluate the importance of translators and system utilities. Software can be categorized basically in two categories. These are:
Introduction • System Software
If you are working on computer, you need hardware and • Application Software
software both for its proper function-
ing. By software we mean computer
instructions or data. Anything that can SOFTWARE
be stored electronically is software.
The storage devices and display
devices are hardware.
Software and hardware are used’ as
System Software Application Software
both nouns and adjectives. For
example, you can say the problem lies
in the software,” which means that
there is a problem with the program Operating File Management Word Image
System Tool Processor Processor
or data, not with the computer itself.
You can also say: “It’s a hardware
Translators Utilities / Tools Spreadsheet Database
problem” and hence software can’t be
run on it.
The distinction between software and Communication Games
hardware is sometimes confusing Software
because they are so integrally linked.
Clearly, when you purchase a program,
you are buying software. But to buy the software, you need to
buy the floppy or CD-ROM (hardware) on which the software System Software
is recorded. Software that is required to control the working of hardware
and aid in effective execution of a general user’s applications are
Note: -“Other than software and hardware there is something
called System Software. This software performs a variety of
called firmware. Firmware is a software (programs or data) that
functions like file editing, storage management, resource
has been permanently written read only memory (ROM).
accounting, 1/0 management, database management, etc. Some
Firmware is a combination of software and hardware. ROMs
of the examples of system software are DOS (Disk Operating
and PROM that have data or programs recorded on them are
System), Windows, Drivers etc. This software are developed by
“firmware”.
System Programmers.
Software Types of System Software
A computer is a hardware and it is useless unless it is provided
System software can be further categorized into following three
with the necessary software. Therefore, all computer users must
types:
be aware of the basic software concepts besides hardware. “A
software is a program or set of instructions, which is required • System Management Software (Operating Systems, DBMS,
to use the computer”. Many types of software are available for Operating Environments)
various applications. The software development field is so • System Development Software (Language Translators,
advanced that day-by-day existing software are becoming Application Generators, CASE Tools)
• System Software Utilities
An operating system performs, basically three types of func- To develop a large application, lots of effort, money and time
tions: are required for designing the systems and writing the program
Essential Functions: Storage management and processor code. The overall goal of computerizing an application is to
management are two essential functions of an operating make it more efficient than manual system with optimum
system. Storage management is concerned with allocation and utilization of time, money and effort spent on its develop-
reclamation of storage when a program is initiated and ment. In order to save the valuable time spend by systems
terminated. Process management is concerned with scheduling designers and programmers in designing the complete system
of programs in a time-sharing system. and writing codes, certain programs are required, which are called
software tools.
Monitoring Functions: These functions are concerned with
collection of resource utilization and system performance The selection of software tools has become an important aspect
information. of software development. Software tools assist the program-
mers/ analyst in the design, coding, editing, compiling, linking
Service Functions : These functions of operating system
and debugging programs. They allow them to focus on the
enhance facilities provided to users.
challenging aspects of a system. We are discussing below the
Translators important categories of software tools that are normally used.
Translators are the programs / utilities which are basically used
System Software Utilities
by programmers to convert high or middle level language to
System software utilities support the operation of the com-
lower language. We need this conversion because computer
puter. They provide many features including file management
understands instructions only in the form of low level lan-
capabilities, data compression, diagnostic routines, virus
guage.
detection and removal, text editing, performance monitoring
Translators come in three variants. These are: and spooling. There are many types of utilities for carrying
• Assemblers different tasks. We must be aware that utilities are not operat-
• Interpreter ing systems, but certain utilities are in-built in operating
systems.
• Compilers
File Management Utilities
Assemblers
These utilities provide file management capabilities like copying,
Assemblers translate the assembly language code (source
comparing, searching, listing and sorting the files. Although
program) into machine language code (object program). After
these features are offered by many operating systems, utility
assembling, a linker program is used to convert the object
programs provide better user-friendly environment along with
program into an executable program. The Microsoft assembler
some additional features. Norton Utilities (NU) and PC
program (MASM) and Borland Turbo assembler program
TOOLS are the most commonly used file management utilities.
(TASM) are two popular assemblers. Assemblers are used
mainly in development of system software. Data Compression Utilities
These utilities compress or decompress files that are stored on
Interpreters
floppy and hard disks. As compressed files take up very less
Instructions of a high-level language are coded in many
space in disks, data compression utilities are widely used during
statements. At the time of their execution, they are converted
copying of data from hard disk to floppy disks. WinZip,
statement by statement into machine code, by using system
PKZIP/ PKUNZIP programs are commonly used examples
software, called Interpreters. For example, programs written in
of data compression utilities.
BASIC language are executed by using BASICA or GWBASIC
interpreters. Diagnostic Utilities
There are certain disadvantages of interpreters. As instructions These utilities can detect bugs (errors in hardware/ software) in
are translated and executed simultaneously using interpreters, computers. For instance, a popular utility program called
they are very slow for executing large programs. Hence, Norton Disk Doctor (NDD) can easily detect the problems of
interpreters are not suitable for most of applications develop- floppies and hard disks. QAPIus and Disk Manager (DM) are
ment. other examples of utilities that can detect and remove many
bugs in storage devices, software and other components of
Compilers computers.
As contrast to interpreters, compilers provide faster execution
speed. Compilers do not translate and execute the instructions Virus Detection and Removal Utilities
at the same time. They translate the entire program (source These utilities are used to detect and eradicate the different types
code) into machine code (object code). Using linker, the object of viruses. What is a Virus?
code is converted into executable code. Compilers are widely Virus is unauthorized software that is used to invade and
used in translating codes of high-level languages (e.g. COBOL, disrupt the normal working of computer. Like biological
FORTRAN, PASCAL, Turbo/ Quick BASIC, Turbo/ Microsoft viruses, computer virus spreads from one computer to another
C, Java etc.)As compared to interpreters or assemblers, compil- generally through floppy disks. There are many problems
ers are preferred in development of application software. caused by viruses like damage of data, loss of user interface,