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:
- System Software
- Application Software
- 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 hardware. This System Software can be further divided into four major types:
- The Operating System – It is the main program that governs and maintains the inter[1]cooperation of the components of a computer system. For eg., Microsoft Windows, Linux, Mac OS etc.
- The Language Processor – The hardware components present in the computer system does not understand human language. There are three types of language 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 eg., 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 eg., 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. 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[1]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.
The Device Drivers – The device drivers and the device programs or the system software that acts as an interface between the various Input-Output devices and the users or the operating system. For eg., 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.
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. single software cannot serve to both the reservation system and
banking system. These are divided into two types:
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.
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 example:
Antivirus
Softwares: 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 analyze 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.
No comments:
Post a Comment
If you have any doubts, please let me know