Software
Concepts
As you know, the hardware devices need user instructions to
function. A set of instructions that achieve a single outcome are called
program or procedure. Many programs functioning together to do a task make
a software.
For example, a word-processing software enables the user to
create, edit and save documents. A web browser enables the user to view and
share web pages and multimedia files. There are two categories of software −
- System
Software
- Application
Software
- Utility
Software
Let us discuss them in detail.
System Software
Software required to run the hardware parts of the computer and
other application software are called system software. System software
acts as interface between hardware and user applications. An
interface is needed because hardware devices or machines and humans speak in
different languages.
Machines understand only binary language i.e. 0 (absence of
electric signal) and 1 (presence of electric signal) while humans speak in
English, French, German, Tamil, Hindi and many other languages. English is the
pre-dominant language of interacting with computers. Software is required to
convert all human instructions into machine understandable instructions. And
this is exactly what system software does.
Based on its function, system software is of four types −
- Operating
System
- Language
Processor
- Device Drivers
Operating System
System software that is responsible for functioning of all
hardware parts and their interoperability to carry out tasks successfully is
called operating system (OS). OS is the first software to be loaded into
computer memory when the computer is switched on and this is called booting.
OS manages a computer’s basic functions like storing data in memory, retrieving
files from storage devices, scheduling tasks based on priority, etc.
Language Processor
As discussed earlier, an important function of system software
is to convert all user instructions into machine understandable language. When
we talk of human machine interactions, languages are of three types −
· Machine-level
language − This language is nothing but a string of 0s and 1s that the
machines can understand. It is completely machine dependent.
· Assembly-level
language − This language introduces a layer of abstraction by
defining mnemonics. Mnemonics are English like words or
symbols used to denote a long string of 0s and 1s. For example, the word “READ”
can be defined to mean that computer has to retrieve data from the memory. The
complete instruction will also tell the memory address. Assembly level
language is machine dependent.
· High
level language − This language uses English like statements and is
completely independent of machines. Programs written using high level languages
are easy to create, read and understand.
Program written in high level programming languages like Java,
C++, etc. is called source code. Set of instructions in machine readable
form is called object code or machine code. System software that
converts source code to object code is called language processor. There are
three types of language interpreters−
· Assembler −
Converts assembly level program into machine level program.
· Interpreter −
Converts high level programs into machine level program line by line.
· Compiler −
Converts high level programs into machine level programs at one go rather than
line by line.
Device Drivers
System software that controls and monitors functioning of a
specific device on computer is called device driver. Each device like
printer, scanner, microphone, speaker, etc. that needs to be attached
externally to the system has a specific driver associated with it. When you
attach a new device, you need to install its driver so that the OS knows how it
needs to be managed.
Application Software
A software that performs a single task and nothing else is
called application software. Application software are very specialized in
their function and approach to solving a problem. So a spreadsheet software can
only do operations with numbers and nothing else. A hospital management
software will manage hospital activities and nothing else. Here are some
commonly used application software −
- Word
processing
- Spreadsheet
- Presentation
- Database
management
- Multimedia
tools
Utility Software
Application software that assist system software in doing their
work is called utility software. Thus utility software is actually a cross
between system software and application software. Examples of utility software
include −
- Antivirus
software
- Disk
management tools
- File
management tools
- Compression
tools
- Backup tools