INDERBIR KAUR SANDHU
FACULTY
PG.DEPARTMENT OF COMPUTER SCIENCES
GSSDGS KHALSA COLLEGE, PATIALA
HARDWARE & SOFTWARE
 A computer is collection of hardware and
software.
 Hardware refers to the physical devices of a
computer system. The input, storage, processing,
control and output devices are hardware.
 A Software is collection of programs and
procedures whose objectives is to enhance the
capabilities of hardware machine.
TYPES OF SOFTWARE
Application
Software
Utility
Software
System
Software
Application Software
 Application software is the software
that is designed to satisfy a particular
need of a particular environment.
 The programs included in a application
package are called application programs
and the person who prepare application
programs is known as application
programmer.
Application Software
 Application software are developed
to serve a specific purpose only.
 For example: Microsoft word is
used for documentation purpose
only cannot use it for any other
purpose.
Utility Software
 Utility software is the set of
programs provided to ensure the
proper functioning of the
computer.
 Examples of utility software is
Antivirus program.
System Software
 System software is a set of one or more
programs, designed to control the
operation of a computer system.
 These program do not solve specific
problems. They are general programs
written to help humans in the use of
computer system.
 The programs included in a system
software are called system programs the
person who prepares system software is
known as system programmer.
SYSTEM
SOFTWARE
Language
Processors/
Translator
Macro
Processor
Linker
Text
Editor
Loader Debugger
Operating
System
ASSEMBLER
INTERPRETER
COMPILER
LANGUAGE TRANSLATOR
•Language translator are used to convert
the instructions written in one type of
language into another type.
(Assembly to Machine/High level to
Machine)
ASSEMBLER
 An assembler is a system software that converts
assembly language program into machine
language.
 Assembly language program is known as source
program and machine language program is
known as object program.
ASSEMBLER
Assembly Language
Program
(Source Program)
ASSEMBLER
Machine
Language
Program
(Object Program)
Input Output
COMPILER
 A compiler is another language translator that
converts high level language into machine
language.
 The main advantages of compiler is that
translates the whole program at once.
 The program written in high level language is
called source program and the program written in
machine language is known as object program.
COMPILER
High Level
Language
(Source
Program)
COMPILER
Machine Language
Program
(Object Program)
Input
Output
INTERPRETER
 Interpreter is also a language translator used
for converting high level language into
machine code.
 Interpreter translate the program line by line
, while the program is running.
and this is the main difference between
compiler and interpreter.
INTERPRETER
High Level
Language
(Source Program)
Machine Level
Language
(Object Program)
INTERPRETER
Input
Output
MACRO PROCESSOR
 Macro processor is a system software that
replaces the macro instructions with the
corresponding groups of source language
statement that a macro represents.
 Macro instruction is a single line abbreviation for
a group of statements.
 The use of macro processor arises when a source
program contains a set of statement repeatedly.
MACRO PROCESSOR
Source
program
Program
with
macro
definition
and calls
Machine
Language
program
MACRO
PROCESSOR
ASSEMBLER
PROGRAM
WITHOUT
MACRO
Target program
LINKER
 Linker is a system software that combines or links
various object modules in order to create the
executable form of the program.
 The two main functions of linker are:
1. To resolve external references
2. To perform relocations.
 Linker also produce error messages if some
external reference could not be resolved.
LINKER
Object
Module 1
Object
Module 2
Object
Module n
Linker
Executable
Module
Error
Message
LOADER
 A loader is a system software that places the
program into memory and prepares them for
execution.
 Thus loading is a process of bringing an
executable file produced by the linker from
secondary storage to the primary storage in such
a way that it can be executed by the operating
system.
LOADER
The main functions of loader are:
1. Allocation
2. Relocation
3. Linking
4. Loading
LOADER
Program 1
Program 2
Program 3
LOADER
Program 1
Program 2
Program 3
TEXT EDITOR
 A text editor is a software that allow the user to
input, delete, update and store information such
as data, programs and letters.
 An interactive editor allows a user to create and
revise a target document.
 Editors are mostly used by the program
developer.
DEBUGGER
 Debugger is a software tools that provides a
controlled execution environment. In this
environment the program is run , so that it can be
interrupted or suspended at some desirable
point. Thus debugger is a piece of software that
allow a user to run program interactively,
stopping and starting it and examining the
content of memory and the call stack.
DEBUGGER
Functions of Debugger:
1. The ability to control the execution of a
program.
2. The ability to inspect and assign values to
variables.
OPERATING SYSTEM
 An operating system is a program that acts as an
interface between the user of a computer and the
computer hardware. The purpose of operating
system is to provide an environment in which a
user can execute programs in a efficient manner.
 Operating system is a first program that gets
loaded into the memory through a process called
booting.
Thank you

Types of system software