Types of software
Software
Software, which is abbreviated as SW or S/W, is a set of programs that enables the
hardware to perform a specific task. All the programs that run the computer are
software. The software can be of three types: system software, application
software, and programming software.
1) System Software
The system software is the main software that runs the computer. When you turn
on the computer, it activates the hardware and controls and coordinates their
1
Types of software
functioning. The application programs are also controlled by system software. An
operating system is an example of system software.
i) Operating System:
An operating system is the system software that works as an interface to enable the
user to communicate with the computer. It manages and coordinates the
functioning of hardware and software of the computer. The commonly used
operating systems are Microsoft Windows, Linux, and Apple Mac OS X.
o BIOS: It stands for basic input output system. It is a type of system
software, which is stored in Read Only Memory (ROM) located on the
motherboard. However, in advanced computer systems, it is stored in flash
memory. BIOS is the first software that gets activated when you turn on your
computer system. It loads the drivers of the hard disk into memory as well as
assists the operating system to load itself into the memory.
o Boot Program: Boot refers to starting up a computer. When you switch on
the computer, the commands in the ROM are executed automatically to load
the boot program into memory and execute its instructions. The BIOS
program has a basic set of commands that enables the computer to perform
the basic input/output instructions to start the computer.
o An assembler: It plays the role of a converter as it receives basic computer
instructions and converts them into a pattern of bits. The processor uses
these bits to perform basic operations.
o A device driver: This system software controls hardware devices connected
to a computer. It enables the computer to use the hardware by providing an
appropriate interface. The kernel of a Computer's CPU communicates with
different hardware through this software. Operating systems generally come
with most of the device drivers. If the operating system does not have a
device driver for hardware, you have to install the device driver before using
that hardware device.
2) Application Software:
2
Types of software
Application software is a set of programs designed to perform a specific task. It
does not control the working of a computer as it is designed for end-users. A
computer can run without application software. Application software can be easily
installed or uninstalled as required. It can be a single program or a collection of
small programs. Microsoft Office Suite, Adobe Photoshop, and any other software
like payroll software or income tax software are application software. As we know,
they are designed to perform specific tasks. Accordingly, they can be of different
types such as:
o Word Processing Software: This software allows users to create, edit,
format, and manipulate the text and more. It offers lots of options for writing
documents, creating images, and more. For example, MS Word, WordPad,
Notepad, etc.
o Spreadsheet Software: It is designed to perform calculations, store data,
create charts, etc. It has rows and columns, and the data is entered in the cell,
which is an intersection of a row and column, e.g., Microsoft Excel.
o Multimedia Software: These software are developed to perform editing of
video, audio, and text. It allows you to combine texts, videos, audio, and
images. Thus, you can improve a text document by adding photos,
3
Types of software
animations, graphics, and charts through multimedia software. For example,
VLC player, Window Media Player, etc.
o Enterprise Software: These software are developed for business
operational functions. It is used in large organizations where the quantum of
business is too large. It can be used for accounting, billing, order processing
and more. For example, CRM (Customer Relationship Management), BI
(Business Intelligence), ERP (Enterprise Resource Planning), SCM (Supply
Chain Management), customer support system, and more.
3) Programming Software:
It is a set or collection of tools that help developers in writing other software or
programs. It assists them in creating, debugging, and maintaining software or
programs or applications. We can say that these are facilitator software that helps
translate programming language such as Java, C++, Python, etc., into machine
language code. So, it is not used by end-users. For example, compilers, linkers,
debuggers, interpreters, text editors, etc. This software is also called a
programming tool or software development tool.
Some examples of programming software include:
o Eclipse: It is a java language editor.
o Coda: It is a programming language editor for Mac.
o Notepad++: It is an open-source editor for windows.
o Sublime text: It is a cross-platform code editor for Linux, Mac, and
Windows.
System Software
Software is a set of instructions, which is designed to perform a defined task, and it
tells the computer how to work. It is of mainly two types, namely System
software and Application software. System software is a set of computer programs
4
Types of software
that is designed to manage system resources. It is a collection of such files and
utility programs that are responsible for running and smooth functioning of your
computer system with other hardware. Moreover, it is responsible for running
the operating system (OS) and managing the computer device entirely.
System software acts as a platform for other software to work, such as antivirus
software, OS, compiler, disk formatting software, etc.
What is System Software?
o System Software is the most important type of software required to
administer the resources of the computer system.
o System software runs and functions internally with application software and
hardware. Moreover, it works as a linking interface between a hardware
device and the end-user.
o System software runs in the background and manages all functioning of the
computer itself. It is called Low-Level Software as it runs at the most basic
level of computer and is usually written in a low-level language. As soon as
we install the operating system on our device, it gets automatically installed
on the same device.
o System software helps to generate the user interface and allows the operating
system to interact with the computer hardware.
Types of System Software
5
Types of software
1. Operating System
2. Programming Language Translators
3. Device Drivers
4. Firmware Software
5. Utility Software
1) Operating System
An Operating System is the most basic type of System Software that helps to
manage computer hardware and software. It is the central part of any computer
system which is responsible for the smooth functioning of any computer device.
An Operating system primarily operates your computer when you start it. If you
haven't installed the operating system on your computer, then you will not be able
to start your computer. Some most common examples of OS
are macOS, Linux, Android, and Microsoft Windows.
Some of the commonly used examples of operating systems are given below.
o Microsoft Windows
6
Types of software
o Apple's iOS
o Apple's MacOS
o Android
o CentOS
o Linux
o Ubuntu
o Unix
An OS helps to control and make records of already executed programs in your
computer, such as application programs and other system software. The
below-listed tasks are performed by an operating system:
1. An OS works as a file manager as It allocates resources to each task
performed in your system.
2. It tracks the primary memory and allocates memory to process the request.
3. It works as processor management by allocating RAM to process and
de-allocating when it no longer exists.
4. It helps to prevent unauthorized access by encrypting password facilities.
5. It helps to schedule processes by means of scheduling algorithms.
6. It helps to activate all hardware parts of your computer by following the
instruction given by end-users.
7. It facilitates users to access and use application software.
8. It enables you to access the network on your system.
9. It helps to control the improper use of your system and also prevents errors
to run software on your computer.
10.It controls all input and output devices such as monitors, keyboards,
microphones, and scanners, etc.
11.It helps to detect and install new software. Further, it also helps in
troubleshooting the errors during installation.
12.It helps to link different parts of your system.
7
Types of software
2) Programming Language Translators
Programming translators are the software that converts high-level language into
machine language. A computer can only understand the machine language or
binary bits pattern, either 0 or 1. A CPU understands this machine language that is
not easy to understand by a normal human. Hence, First, the end-user interacts with
the computer in a high-level language like Java, Python, C, PHP, and C++, etc.,
then the translator converts these languages into machine code.
A CPU or computer processor executes these machine codes into binary. It means
any program written in a high-level programming language must be converted into
binary codes first. This entire process to convert high-level language into machine
code or binary codes are known as compilation.
Language translators are of mainly two types: Compiler and Interpreter.
A compiler is also a type of system software used to convert high-level
programming languages into executable machine codes or low-level programming
languages. Similar to a compiler, an Interpreter is also used to perform the same
function. But the only difference is that compiler translates the whole program at
once while the interpreter converts each line individually.
Here are some tasks performed by programming language translators:
o Translators provide diagnostic reports whenever the code rules don't meet
the criteria.
o It helps to create a list of the program's source code and its detail.
o It helps to allocate the data.
o Translators help to detect syntax errors which help developers to make
necessary changes easily.
Examples of computer program translators are compiler, interpreters, and
assemblers.
3) Device Drivers
8
Types of software
Device Drivers are the types of system software that reduce the troubleshooting
issues in your system. The operating system communicates with hardware
components internally. This communication can easily be managed and controlled
with the help of device drivers.
The operating system contains a number of device drivers to drive the hardware
components. Most of the device drivers, such as a mouse, keyboards, etc., are
already installed in the computer system by the computer manufacturing
companies. However, in case of any new device for the operating system, users can
install them through the internet also. Here are some devices that require drivers to
perform the smooth functions of any computer system:
Some common examples of such device drivers that connect hardware devices
(printers, sound cards, network cards, hard disks, floppy disk, keyboard, mouse,
etc.) to a system easily are as follows:
o BIOS (Basic Input/Output System) Device Driver
o USB (Universal Serial Bus) Drivers
o Motherboard Drivers
o Display Drivers
o Printer Drivers
o Sound Card Driver
o ROM (Read-only memory) Drivers
o VGA (Video Graphic Array) Drivers
4) Firmware Software
These are the operational software installed on the computer motherboards that
help the operating system to identify the Flash, ROM, EPROM, EEPROM, and
memory chips.
However, the primary function of any firmware software is to manage and control
all activities of individual devices. Initially, it uses non-volatile chips for
installation purposes, but later it gets installed on the flash chips.
There are two main types of chips:
9
Types of software
o BIOS (Basic Input/Output System) chip.
o UEFI (Unified Extended Firmware Interface) chips.
The BIOS (Basic Input/Output System) also works as a system program used for
the booting process of the system. First, it loads the OS into the main memory
(RAM) of your system and then hands it over to the OS. BIOS works as the
substitute for the ROM chip; hence, it is called firmware software. However, the
firmware ROM is part of every motherboard component. The motherboard
firmware activates all the hardware components during the start of the computer
system and ensures whether they are operational or not. If they work properly, it
starts the booting process to load the OS, and if any error occurs in the RAM, then
it denies the computer to boost.
A Firmware exists inside the devices while a device driver is installed in the
operating system.
5) Utility Software
Utility software works as an interface between system software and application
software. Utility software is a third-party tool designed to reduce maintenance
issues and detect errors in the computer system. It comes with the operating system
in your computer system.
Here are some specific features of utility software:
o It helps users to protect against threats and viruses.
o It helps to reduce disk size such as WinRAR, WinZip.
o It works as a Windows Disk Management service and helps in a disk
partition.
o It facilitates users to back up the old data and enhance the security of the
system.
o It works as a de-fragmentation of a disk to organize the scattered files on the
drive.
10
Types of software
o It helps to recover the lost data.
It helps to perform the antivirus and security software to maintain the security of
the data in a computer.
Application Software
Application programs or software applications are end-user computer
programs developed primarily to provide specific functionality to the user. The
applications programs assist the user in accomplishing numerous tasks such as
doing online research, completing notes, designing graphics, managing the
finances, watching a movie, writing documents, playing games, and many
more. Therefore, many software applications are designed and developed every
year by companies as per the demand and requirements of the potential users. The
application software can either be designed for a general-purpose or specially
coded as per the requirements of business cooperation.
a. Word Processors
Word processor applications are globally used for documentation, making notes,
and typing data. It also helps the end-users store and format data. They also
enable the users to print their documents.
Some examples of Word Processor software's are as follows:
o MS Word (Microsoft)
o iWork-Pages (Apple)
o Corel WordPerfect
o Google Docs
b. Database Software
11
Types of software
Database software is used to create, manage, modify and organize a massive
amount of data quickly retrieved. Another name for database software is
Database Management System (DBMS). Such software helps companies in their
data organization. Common examples of Database Software's are:
o Oracle
o MS Access
o SQLite
o Microsoft SQL Server
o FileMaker
o dBase
o MariaDB
o MySQL
c. Multimedia Software
This software enables the users to play, create or record images, music, and
video files. Different graphic designing companies widely use multimedia software
to make animation, images, posts, packaging, marketing creative, gif, or even
video editing. Due to their popularity and increasing demand, every software
product development corporation has massive avenues in creating and upgrading
them.
Common examples of Database Software's are given below:
o Adobe Photoshop
o Windows Movie Maker
o Adobe Illustrator
o Picasa
o Windows Media Player
o Corel Draw
d. Web Browsers
12
Types of software
These are a type of software that is globally used to browse the Internet. Web
browsers help the users in positioning as well as fetching data across the
web. Common examples of web browsers are given below:
o Chrome
o Mozilla Firefox
o Microsoft Internet Explorer
o Opera
o Microsoft Edge
o UC Browser
o Apple Safari
However, there also occurs another classification of the software that exists on
the basis of their availability and shareability. The classification is given below:
1. Freeware
As the name suggests, Freeware software is available free of cost for an
unlimited time. Any user can easily download their respective software from
the Internet and start using them instantly without paying any charges or fees.
Software development companies mostly design and develop freeware software as
a strategy to reach out to more people. Typical examples of Freeware Software are
as follows:
o Adobe Reader
o Zoom
o Skype
o ImgBurn
o Audacity
o Whatsapp
o Anydesk
2. Shareware
13
Types of software
Shareware software is readily available on the Internet to download on a fixed
trial basis. It is distributed freely with a set time limit, and at the end of the trial
period, the user is asked either to pay the fee or uninstall the software. Some
shareware, mainly including the gaming softwares, have a fixed trial based on the
counts an application is opened rather than the number of days it has been installed
on the system.
Give below are some of the popular examples for Shareware Software:
o Adobe Acrobat
o Adobe Photoshop
o AnyDVD
o PHP Debugger
o WinZip
3. Open-source
People usually get confused with freeware and open-source, but both are different.
Though both the software are available on the Internet free of cost with the only
difference that open source software is available online along with their source
code. It means the user can change, transform, and even can add additional features
to them. Based on their services, they can be chargeable as well free of cost.
Give below are some of the popular examples for open-source Software:
o Mozilla Firefox
o MySQL
o Thunderbird
o OpenOffice
o ClamWinantivirus
o Apache Web Server
14
Types of software
Programming Language
As we know, to communicate with a person, we need a specific language, similarly
to communicate with computers, programmers also need a language is called
Programming language.
Language is a mode of communication that is used to share ideas, opinions with
each other. For example, if we want to teach someone, we need a language that is
understandable by both communicators.
A programming language is a computer language that is used by programmers
(developers) to communicate with computers. It is a set of instructions written in
any specific language ( C, C++, Java, Python) to perform a specific task. A
15
Types of software
programming language is mainly used to develop desktop applications, websites,
and mobile applications.
Types of programming language
1. Low-level programming language
Low-level language is machine-dependent (0s and 1s) programming language.
The processor runs low- level programs directly without the need of a compiler or
interpreter, so the programs written in low-level language can be run very fast.
Low-level language is further divided into two parts -
A. Machine Language
B. Assembly Language
2. High-level programming language
High-level programming language (HLL) is designed for developing
user-friendly software programs and websites. This programming language
requires a compiler or interpreter to translate the program into machine language
(execute the program).
The main advantage of a high-level language is that it is easy to read, write, and
maintain.
High-level programming language includes Python, Java, JavaScript, PHP, C#,
C++, Objective C, Cobol, Perl, Pascal, LISP, FORTRAN, and Swift
programming language.
3. Middle-level programming language
Middle-level programming language lies between the low-level programming
language and high-level programming language. It is also known as the
intermediate programming language and pseudo-language.
A middle-level programming language's advantages are that it supports the features
of high-level programming, it is a user-friendly language, and closely related to
machine language and human language.
16
Types of software
Example: C, C++, language
Compilers, interpreters and assemblers
Any program written in a high-level language is known as source code. However,
computers cannot understand source code. Before it can be run, source code must
first be translated into a form which a computer understands - this form is
called object code.
A translator is a program that converts source code into object code. Generally,
there are three types of translator:
● compilers
● interpreters
● assemblers
1. Compiler
The language processor that reads the complete source program written in
high-level language as a whole in one go and translates it into an equivalent
program in machine language is called a Compiler. Example: C, C++, C#, Java.
In a compiler, the source code is translated to object code successfully if it is free
of errors. The compiler specifies the errors at the end of the compilation with line
numbers when there are any errors in the source code. The errors must be removed
before the compiler can successfully recompile the source code again.
17
Types of software
2.Assembler
The Assembler is used to translate the program written in Assembly language into
machine code. The source program is an input of an assembler that contains
assembly language instructions. The output generated by the assembler is the
object code or machine code understandable by the computer. Assembler is
basically the 1st interface that is able to communicate humans with the machine.
Assembly language is some sort of mnemonics(instructions) like ADD, MUL,
MUX, SUB, DIV, MOV and so on. and the assembler is basically able to convert
these mnemonics in Binary code.
3. Interpreter :
The translation of a single statement of the source program into machine code is
done by a language processor and executes immediately before moving on to the
next line is called an interpreter. If there is an error in the statement, the interpreter
terminates its translating process at that statement and displays an error message.
The interpreter moves on to the next line for execution only after the removal of
the error. An Interpreter directly executes instructions written in a programming or
scripting language without previously converting them to an object code or
machine code.
Example: Perl, Python and Matlab.
18
Types of software
19