Unit 1 - Software and Its Types

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Software and its Types

Software is a collection of instructions, data, or computer programs that are used to run machines and
carry out particular activities. It is the antithesis of hardware, which refers to a computer’s external
components. A device’s running programs, scripts, and applications are collectively referred to as
“software” in this context.
What is a Software?
In a computer system, the software is basically a set of instructions or commands that tell a computer
what to do. In other words, the software is a computer program that provides a set of instructions to
execute a user’s commands and tell the computer what to do. For example like MS-Word, MS-
Excel, PowerPoint, etc.
Types of Software
It is a collection of data that is given to the computer to complete a particular task. The chart below
describes the types of software:

Above is the diagram of types of software. Now we will briefly describe each type and its subtypes:
1. System Software
 Operating System
 Language Processor
 Device Driver
2. Application Software
 General Purpose Software
 Customize Software
 Utility Software
System Software
System software is software that directly operates the computer hardware and provides the basic
functionality to the users as well as to the other software to operate smoothly. Or in other words,
system software basically controls a computer’s internal functioning and also controls hardware devices
such as monitors, printers, and storage devices, etc. It is like an interface between hardware and user
applications, it helps them to communicate with each other because hardware understands machine
language(i.e. 1 or 0) whereas user applications are work in human-readable languages like English,
Hindi, German, etc. so system software converts the human-readable language into machine language
and vice versa.
Types of System Software
It has two subtypes which are:
1. Operating System: It is the main program of a computer system. When the computer system ON it
is the first software that loads into the computer’s memory. Basically, it manages all the resources
such as computer memory, CPU, printer, hard disk, etc., and provides an interface to the user,
which helps the user to interact with the computer system. It also provides various services to other
computer software. Examples of operating systems are Linux, Apple macOS, Microsoft Windows,
etc.
2. Language Processor: As we know that system software converts the human-readable language
into a machine language and vice versa. So, the conversion is done by the language processor. It
converts programs written in high-level programming languages like Java, C, C++, Python,
etc(known as source code), into sets of instructions that are easily readable by machines(known as
object code or machine code).
3. Device Driver: A device driver is a program or software that controls a device and helps that
device to perform its functions. Every device like a printer, mouse, modem, etc. needs a driver to
connect with the computer system eternally. So, when you connect a new device with your
computer system, first you need to install the driver of that device so that your operating system
knows how to control or manage that device.
Features of System Software
Let us discuss some of the features of System Software:
 System Software is closer to the computer system.
 System Software is written in a low-level language in general.
 System software is difficult to design and understand.
 System software is fast in speed(working speed).
 System software is less interactive for the users in comparison to application software.
Application Software
Software that performs special functions or provides functions that are much more than the basic
operation of the computer is known as application software. Or in other words, application software is
designed to perform a specific task for end-users. It is a product or a program that is designed only to
fulfill end-users’ requirements. It includes word processors, spreadsheets, database management,
inventory, payroll programs, etc.
Types of Application Software
There are different types of application software and those are:
1. General Purpose Software: This type of application software is used for a variety of tasks and it is
not limited to performing a specific task only. For example, MS-Word, MS-Excel, PowerPoint, etc.
2. Customized Software: This type of application software is used or designed to perform specific
tasks or functions or designed for specific organizations. For example, railway reservation system,
airline reservation system, invoice management system, etc.
3. Utility Software: This type of application software is used to support the computer infrastructure. It
is designed to analyze, configure, optimize and maintains the system, and take care of its
requirements as well. For example, antivirus, disk fragmenter, memory tester, disk repair, disk
cleaners, registry cleaners, disk space analyzer, etc.
Features of Application Software
Let us discuss some of the features of Application Software:
 An important feature of application software is it performs more specialized tasks like word
processing, spreadsheets, email, etc.
 Mostly, the size of the software is big, so it requires more storage space.
 Application software is more interactive for the users, so it is easy to use and design.
 The application software is easy to design and understand.
 Application software is written in a high-level language in general.
Difference Between System Software and Application Software
Now, let us discuss some difference between system software and application software:

Language Processors: Assembler, Compiler and Interpreter


Computer programs are generally written in high-level languages (like C++, Python, and Java). A
language processor, or language translator, is a computer program that convert source code from one
programming language to another language or human readable language. They also find errors during
translation.
What is Language Processors?
Compilers, interpreters, translate programs written in high-level languages into machine code that a
computer understands and assemblers translate programs written in low-level or assembly language into
machine code. In the compilation process, there are several stages. To help programmers write error-free
code, tools are available.
Assembly language is machine-dependent, yet mnemonics used to represent instructions in it are not
directly understandable by machine and high-Level language is machine-independent. A computer
understands instructions in machine code, i.e. in the form of 0s and 1s. It is a tedious task to write a
computer program directly in machine code. The programs are written mostly in high-level languages
like Java, C++, Python etc. and are called source code. These source code cannot be executed directly
by the computer and must be converted into machine language to be executed. Hence, a special
translator system software is used to translate the program written in a high-level language into
machine code is called Language Processor and the program after translated into machine code
(object program/object code).
Types of Language Processors
The language processors can be any of the following three types:
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#.
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 the object program can be executed number of times without translating it again.

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. We
need an assembler to fill the gap between human and machine so that they can communicate with
each other. code written in 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. Here, these mnemonics also depend upon the architecture of the machine. For example,
the architecture of intel 8085 and intel 8086 are different.

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. An interpreter
translates one line at a time and then executes it.

Example: Perl, Python and Matlab.


Difference Between Compiler and Interpreter

Types of area networks – LAN, MAN and WAN


The Network allows computers to connect and communicate with different computers via any medium.
LAN, MAN, and WAN are the three major types of networks designed to operate over the area they
cover. There are some similarities and dissimilarities between them. One of the major differences is the
geographical area they cover, i.e. LAN covers the smallest area, MAN covers an area larger than LAN
and WAN comprises the largest of all.
There are other types of Computer Networks also, like :

 PAN (Personal Area Network)


 SAN (Storage Area Network)
 EPN (Enterprise Private Network)
 VPN (Virtual Private Network)
Personal Area Network (PAN)-

PAN is a personal area network having an interconnection of personal technology devices to


communicate over a short distance. It covers only less than 10 meters or 33 feet of area. PAN has fewer
users as compared to other networks such as LAN, WAN, etc. PAN typically uses some form of wireless
technology. PAN involves the transmission of data between information devices such as smartphones,
personal computers, tablet computers, etc.
Advantages:
 Allows for easy communication between personal devices in close proximity.
 Can be set up easily and quickly.
 Uses wireless technology, which eliminates the need for wires and cables.
 PANs are designed to be energy efficient, which means that devices can communicate with each
other without draining their batteries quickly.
 PANs are typically secured using encryption and authentication protocols, which helps to prevent
unauthorized access to data and resources.
Disadvantages:
 Limited coverage area.
 May not be suitable for large-scale data transfer or communication.PANs typically have limited
bandwidth, which means that they may not be able to handle large amounts of data or high-speed
communication.
 May experience interference from other wireless devices.

Local Area Network (LAN) –

LAN or Local Area Network connects network devices in such a way that personal computers and
workstations can share data, tools, and programs. The group of computers and devices are connected
together by a switch, or stack of switches, using a private addressing scheme as defined by the TCP/IP
protocol. Private addresses are unique in relation to other computers on the local network. Routers are
found at the boundary of a LAN, connecting them to the larger WAN.
Data transmits at a very fast rate as the number of computers linked is limited. By definition, the
connections must be high-speed and relatively inexpensive hardware (Such as hubs, network adapters,
and Ethernet cables). LANs cover a smaller geographical area (Size is limited to a few kilometres) and
are privately owned. One can use it for an office building, home, hospital, school, etc. LAN is easy to
design and maintain. A Communication medium used for LAN has twisted-pair cables and coaxial cables.
It covers a short distance, and so the error and noise are minimized.
Early LANs had data rates in the 4 to 16 Mbps range. Today, speeds are normally 100 or 1000 Mbps.
Propagation delay is very short in a LAN. The smallest LAN may only use two computers, while larger
LANs can accommodate thousands of computers. LAN has a range up to 2km. A LAN typically relies
mostly on wired connections for increased speed and security, but wireless connections can also be part
of a LAN. The fault tolerance of a LAN is more and there is less congestion in this network. For example
A bunch of students playing Counter-Strike in the same room (without internet).
Advantages:
 Provides fast data transfer rates and high-speed communication.
 Easy to set up and manage.
 Can be used to share peripheral devices such as printers and scanners.
 Provides increased security and fault tolerance compared to WANs.
Disadvantages:
 Limited geographical coverage.
 Limited scalability and may require significant infrastructure upgrades to accommodate growth.
 May experience congestion and network performance issues with increased usage.
Metropolitan Area Network (MAN) –

MAN or Metropolitan area Network covers a larger area than that covered by a LAN and a smaller area
as compared to WAN. MAN has a range of 5-50km. It connects two or more computers that are apart but
reside in the same or different cities. It covers a large geographical area and may serve as an ISP
(Internet Service Provider). MAN is designed for customers who need high-speed connectivity. Speeds of
MAN range in terms of Mbps. It’s hard to design and maintain a Metropolitan Area Network.

The fault tolerance of a MAN is less and also there is more congestion in the network. It is costly and may
or may not be owned by a single organization. The data transfer rate and the propagation delay of MAN
are moderate. Devices used for transmission of data through MAN are Modem and Wire/Cable. Examples
of a MAN are part of the telephone company network that can provide a high-speed DSL line to the
customer or the cable TV network in a city.
Advantages:
 Provides high-speed connectivity over a larger geographical area than LAN.
 Can be used as an ISP for multiple customers.
 Offers higher data transfer rates than WAN in some cases.
Disadvantages:
 Can be expensive to set up and maintain.
 May experience congestion and network performance issues with increased usage.
 May have limited fault tolerance and security compared to LANs.

Wide Area Network (WAN) –

WAN or Wide Area Network is a computer network that extends over a large geographical area, although
it might be confined within the bounds of a state or country. WAN has a range of above 50 km. A WAN
could be a connection of LAN connecting to other LANs via telephone lines and radio waves and may be
limited to an enterprise (a corporation or an organization) or accessible to the public. The technology is
high-speed and relatively expensive.
There are two types of WAN: Switched WAN and Point-to-Point WAN. WAN is difficult to design and
maintain. Similar to a MAN, the fault tolerance of a WAN is less and there is more congestion in the
network. A Communication medium used for WAN is PSTN or Satellite Link. Due to long-distance
transmission, the noise and error tend to be more in WAN.
WAN’s data rate is slow about a 10th LAN’s speed since it involves increased distance and increased
number of servers and terminals etc. The speed of WAN ranges from a few kilobits per second (Kbps) to
megabits per second (Mbps). Propagation delay is one of the biggest problems faced here. Devices used
for the transmission of data through WAN are Optic wires, Microwaves, and Satellites. An example of a
Switched WAN is the asynchronous transfer mode (ATM) network and Point-to-Point WAN is a dial-up
line that connects a home computer to the Internet.
Advantages:
 Covers large geographical areas and can connect remote locations.
 Provides connectivity to the internet.
 Offers remote access to resources and applications.
 Can be used to support multiple users and applications simultaneously.
Disadvantages:
 Can be expensive to set up and maintain.
 Offers slower data transfer rates than LAN or MAN.
 May experience higher latency and longer propagation delays due to longer distances and multiple
network hops.
 May have lower fault tolerance and security compared to LANs.

Conclusion –
There are many advantages of LAN over MAN and WAN, such as LAN provide excellent reliability, a
high data transmission rate, and can easily be managed and shares peripheral devices too. Local Area
Network cannot cover cities or towns and for that Metropolitan Area Network is needed, which can
connect a city or a group of cities together. Further, for connecting a Country or a group of Countries
one requires a Wide Area Network.

You might also like