Concept of Hardware and Software
Concept of Hardware and Software
Software
Hardware
The term hardware refers to mechanical device that makes up
computer. Computer hardware consists of interconnected
electronic devices that we can use to control computer’s
operation, input and output. Examples of hardware are CPU,
keyboard, mouse, hard disk, etc.
Hardware Component
Computer hardware is a collection of several several
components working together. Some parts are essential and
others are added advantages. Computer hardware is made up
of CPU and peripherals as shown in image below.
Software
Software refers to set of programs that instruct hardware
what to do and how to do.
It comprises of instructions and data to be processed using
computer hardware.
Each software is written for some computational purpose.
Softwares are intangible.
Need of Softwares
Software acts as an interface between user and hardware.
It makes computer hardware operational and useful.
Types of Software
Software can be broadly classified in three categories:
System Software
Application Software
Programming Tools
System Software
It manages computer system by interacting directly with
its constituent hardware.
It helps in providing various services to user and resources
to other softwares.
System Software
Following are different types of System software:
Operating System
System Utilities (Utility Software)
Device Drivers
Operating System
The software that acts as an interface between user and
computer hardware.
It is a System Software.
Every computer system must have at least one operating
system installed.
Windows, Linux, Solaris, MAC OS, Ubuntu, MS DOS are some
of the examples of Operating System.
It helps in performing the core functionalities like accepting
input from various input devices, directing the output to
the display, managing the files and directories,
communicating with hardware, and installing /uninstalling
of peripheral devices.
System Utilities
High level languages uses English like words using its own
grammar (set of rules) to write instructions.
It is platform independent and simple to write code.
Translators (compilers) are needed to translate high level
language into machine language.
Examples: C++, Java, Python, C# etc.
Language Translators
Language translators are used to convert instructions
written in assembly or high level language to machine
language.
The code converted into machine language is called object
code.
Different translators for different languages are used for
conversion.
There are three types of language translators:
Assembler
Compiler
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 source code written in high level
language into machine code.
If the code does not follow all syntactic rules of the
language, compiler generates error.
Once source code is translated successfully, the compiler
is not needed further.
Interpreter
Interpreter converts source code written in high level
language into machine code line by line.
Interpreter is always needed whenever a source code is to
be executed.
Program Development Tools
Program development tools are also referred as Integrated
Development Environment which provides all resources
needed for software development. It consist of:
Text editor
Debugger
Compiler
GUI Editor etc.
Examples: Python IDLE, Netbeans, Eclipse, Visual Studio, Atom
Application Software
Software which is developed for a particular type of
application such as drawing, presentation,
documentation, calculation etc,
It is used by user to accomplish their task.
It always runs on the top of the system software.