Software Concept
A Computer is an electronic
device that can perform various operations of computation at a greater speed
than what an ordinary machine or human mind can do. It is driven by many
entities including the physical and tangible components that we can touch or feel,
called the Hardware and programs and commands that drive the hardware, called
the Software.
The Software refers to the set of
instructions fed in form of programs to govern the computer system and process
the hardware components. For example:
·
The antivirus that we use to protect our
computer system is a type of Software.
·
The media players that we use to play multimedia
files such as movies, music etc. are Software.
·
The Microsoft Office we use to edit the
documents is a Software.
Depending on its use and area of
implementation, Software’s can be divided into 3 major types:
1. System
Software
2. Application
Software
3. Utility
Software
System Software
These are the software that
directly allows the user to interact with the hardware components of a computer
system. As the humans and machines follow different languages, there has to be
an interface that will allow the users to interact with the core system, this
interface is provided by the software. The system software can be called the
main or the alpha software of a computer system as it handles the major portion
of running a hardware. This System Software can be further divided into four
major types:
A. The
Operating System – It is the main program that governs and maintains the
inter-cooperation of the components of a computer system. For e.g., Microsoft
Windows, Linux, Mac OS etc.
B. The
Language Processor – The hardware components present in the computer system
does not understand human language. There are three types of languages involved
in the world of human-machine interaction:
·
Machine-Level Language: The machines only
understand the digital signals or the binary codes or the binary language which
consist of strings of 0’s and 1’s. These are totally machine dependent
language.
·
Assembly-Level Language: These are the Low-Level
Language (LLL) that forms a correspondence between machine level instruction
and general assembly level statements. Assembly language uses a mnemonics to
represent each low-level machine instruction or operation-code also called the
op-codes. For e.g., ADD instruction is used to add two entities, the HALT
instruction is used to stop a process etc. It is a machine dependent language
and varies from processor to processor.
·
High-Level Language: These are the simple
English statements, that humans use to program and code as it is easy to read
and understand to the human world. For e.g., Java, C, C++, Python etc.
The machine level
language is very complex to understand and code, therefore the users prefer the
High-Level Language or the HLL for coding. These codes need to be converted
into the machine language so that the computer can easily understand and work
accordingly. This operation is performed by the Language Processor which is
made up of further three components:
·
Assembler: This language processor is used to
convert the assembly language into machine level language.
·
Compiler: This language processor is used to
convert High-Level Language into machine level language in one go, thus
execution time is fast. The error detection is difficult in a compiler.
Programming Languages like C, C++ and Scala use compiler.
·
Interpreter: This language processor is also
used to convert High-Level Language into machine level language line-by-line,
thus execution time is slow. Error-detection is easier in an interpreter as it
reports as soon as a bug is caught and restarts the process. This consumes
unnecessary memory. Programming Languages like Python, Ruby and Java uses an
interpreter.
C. The
Device Drivers – The device drivers and the device programs or the system
software that acts as an interface between the various Input-Output device and
the users or the operating system. For e.g., the Printers, Web cameras come
with a driver disk that is needed to be installed into the system to make the
device run in the system.
D. The
BIOS – It stands for Basic Input Output System and is a small firmware that
controls the peripheral or the input-output devices attached to the system.
This software is also responsible for starting the OS or initiating the booting
process.
Application Software
These are the basic software used
to run to accomplish a particular action and task. These are the dedicated
software, dedicated to performing simple and single tasks. For e.g., a single
software cannot serve to both the reservation system and banking system. These
are divided into two types:
A. The
General Purpose Application Software: These are the types of application
software that comes in-built and ready to use, manufactured by some company or
someone. For e.g.,
·
Microsoft Excel – Used to prepare excel sheets.
·
VLC Media Player – Used to play audio/video
files.
·
Adobe Photoshop – Used for designing and
animation and many more.
B. The
Specific Purpose Application Software: These are the type of software that is
customizable and mostly used in real-time or business environment. For e.g.,
·
Ticket Reservation System
·
Healthcare Management System
·
Hotel Management System
·
Payroll Management System
Utility Software
These are the most basic type of
software which provides high utility to the user and the system. These perform
the basic but daily need tasks. For e.g.
·
Antivirus Software’s: These provide protection
to the computer system from unwanted malware and viruses. For e.g., Quick Heal,
McAfee etc.
·
Disk Defragmenter Tools: These help the users to
analyse the bad sectors of the disk and rearrange the files in a proper order.
·
Text-editors: These help the users to take
regular notes and create basic text files. For e.g., Notepad, Gedit etc.
Comments
Post a Comment