0% found this document useful (0 votes)
37 views29 pages

1.2 Types of Software

Uploaded by

Sharad Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views29 pages

1.2 Types of Software

Uploaded by

Sharad Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Types of Software

- System Software
- Application software
- programming tools and
language translators
Software
Software can be defined as a collection of
programs (or set of instructions) which make
hardware functional to complete the desired
task
e.g.)
Ms Word, Excel, Power Point, Google Chrome

In other words, each software is written for


some computational purpose
Need of Software
The sole purpose of a software is to make the computer hardware useful and
operational.

We cannot instruct the hardware of a computer directly. Software acts as an


interface between human users and the hardware.

A software knows how to make different hardware components of a computer


work and communicate with each other as well as with the end-user.
Types of Software
Depending on the mode of interaction with hardware and functions to be
performed, the software can be broadly classified into three categories :
(i) System software,
(ii) Programming tools, and
(iii) Application software
System Software
The software that provides the basic functionality to operate a computer by
interacting directly with its constituent hardware is termed as system software.

A system software knows how to operate and use different hardware components
of a computer. It provides services directly to the end user, or to some other
software.
e.g.) operating systems, system utilities, device drivers, etc.
System Software: Operating System
As the name implies, the operating system is a system software that operates the
computer. An operating system is the most basic system software, without which
other software cannot work.

The operating system manages other application programs and provides access
and security to the users of the system.

Some of the popular operating systems are Windows, Linux, Macintosh, Ubuntu,
Fedora, Android, iOS, etc.
System Software: System Utilities
Software used for maintenance and configuration of the computer system is called
system utility.

Some system utilities are shipped with the operating system for example disk
defragmentation tool, formatting utility, system restore utility, etc.

Another set of utilities are those which are not shipped with the operating system
but are required to improve the performance of the system, for example, anti-virus
software, disk cleaner tool, disk compression software, etc.
System Software: Device Drivers
When it comes to the overall working of a computer system, the operating system
does the work.

But everyday new devices and components are being added to a computer system.
It is not possible for the operating system alone to operate all of the existing and
new devices, where each device has diverse characteristics.

That’s where a device driver comes into the picture, as the name signifies, the
purpose of a device driver is to ensure proper functioning of a particular device.
System Software: Device Drivers
The device driver acts as an interface between the device and the operating
system. It provides required services by hiding the details of operations performed
at the hardware level of the device.

The responsibility for overall control, operation and management of a particular


device at the hardware level is delegated to its device driver.
Programming tools
We already know, in order to get the desired outcome, computer is given some
related inputs (or instructions), then computer process that input and gives the
required result.

So, in order to give these instructions to computer, various computer languages


are developed such as C, C++, Java, Python etc.

In order to write these instructions (programs), we require various IDEs


(integrated development environments), code editors, such as Spyder IDE,
Pydroid, online programming tool
Programming tools

Note:
- Computers and humans understand completely different languages while
humans are able to write programs in high-level language, computers
understand machine language

- Due to this difference in the language, there is a continuous need for conversion
from high level to machine level language, for which translators are needed.
Classification of Programming languages
Two major categories of computer programming languages are
- low-level languages and
- high-level languages

Low-level languages are machine dependent languages and include machine


language and assembly language

Machine language uses 1s and 0s to write instructions which are directly


understood and executed by the computer
Classification of Programming languages

Note:
- Writing a code in machine language is very difficult for a human being as one
has to remember all operation codes and machine addresses.
- Also finding errors in the code written in machine language is difficult.

To simplify the writing of code, assembly language was developed that allowed
usage of English-like words and symbols instead of 1s and 0s
e.g.)
MOV AL, 61h ; Load AL with 97 decimal (61 hex)
Classification of Programming languages
But one major drawback of writing a code in this language is that the code is
computer specific, i.e., the code written for one type of CPU cannot be used for
another type of CPU

High level languages are machine independent and are simpler to write code into.
Instructions are using English like sentences and each high level language follows
a set of rules, similar to natural languages.
e.g.)
C, C++, Java, Python, Ruby etc.
language translators
Though writing a code in High level language is easy for a human being but these
languages are not understood by the computer.

Hence, translators are needed to translate programs written in Assembly or high-


level language into machine language

The program code written in assembly or high-level language is called source


code.
language translators
As we have different types of computer languages, different translators are
needed to convert the source code to machine code.

The three types of translators used in computing systems are


- assembler,
- compiler and
- interpreter
Assembler
The translator used to convert the code written in assembly language to machine
language is called assembler.

Each assembler can understand a specific microprocessor instruction set only and
hence, the machine code is not portable.
Compiler
Compiler converts the source code into machine code at one go.

If the code follows all syntactic rules of the language, then it is executed by the
compiler.

Once translated, the compiler is not needed.


Interpreter
An interpreter translates one line at a time instead of the whole program at one
go.

Interpreter takes one line, converts it into executable code if the line is
syntactically correct, and then it repeats these steps for all lines in the source
code.

Hence, interpreter is always needed whenever a source code is to be executed.


Programming development tools
Whenever we decide to write a program, we need a text editor. An editor is a
software that allows us to create a text file where we type instructions and store
the file as the source code. Then an appropriate translator is used to get the object
code for execution.

In order to simplify the program development, there are software called


Integrated Development Environment (IDE) consisting of text editor, building
tools and debugger.
e.g.)
Python IDLE, Netbeans, Eclipse, Atom,
Application Software
The system software provides the core functionality of the computer system.
However, different users need the computer system for different purposes
depending upon their requirements.

Hence, a new category of software is needed to cater to different requirements of


the end users. This specific software that works on top of the system software is
termed as application software.
e.g.)
MS office, MS Excel, Adobe pdf reader, web browser etc.
Application Software

Note:
A computer system can work without application software, but it cannot work
without system software.

There are two broad categories of application software


- general purpose software
- customised software
General Purpose Software
The application software developed for generic applications, to cater to a bigger
audience in general are called general purpose software.
e.g.)

Such ready-made application software can be used by end users as per their
requirements.
Customised Software
These are custom or tailor-made application software, that are developed to meet
the requirements of a specific organisation or an individual.

They are better suited to the needs of an individual or an organisation,


considering that they are designed as per special requirements.

Some examples of user-defined software include websites, school management


software, accounting software, etc.
Proprietary or Free and Open Source Software
A software can be freeware or open source or proprietary software depending
upon the terms and conditions of the person or group who has developed and
released that software.

The developers of some application software provide their source code as well as
the software freely to the public, with an aim to develop and improve further with
each other’s help. Such software is known as Free and Open Source Software
(FOSS).
e.g.)
Ubuntu, Python, Libreoffice, Openoffice, Mozilla Firefox, etc.
Proprietary or Free and Open Source Software
Sometimes, software are freely available for use but source code may not be
available. Such software are called freeware.
Examples of freeware are Skype, Zoom, Adobe Reader, etc.

When the software to be used has to be purchased from the vendor who has the
copyright of the software, then it is a proprietary software.
Examples of proprietary software include Microsoft Windows, Tally, Quickheal,
etc.
Summary
System software
- Operating system
- System utilities
- device drivers

Programming tools
- classification of programming languages
- language tools
- program development tools
Summary
Application software
- General purpose software
- customised software

Proprietary or Free and Open Source Software

You might also like