Concept of Hardware and Software
A computer is a combination of hardware and software. These two work together and make computer do for what it is instructed.
The term hardware refers to the physical components of a computer such as Keyboard, Mouse, Monitor and Printer, including the digital circuitry. It is an integral part of a computer embedded in all modern day machines, automobiles, microwave ovens, compact disc players.
Software is a collection of computer programs, procedure and related data that provide the instructions for telling a computer what to do and how to do it. A software is an interface between user and computer. It is a set of instructions and programs that are used to give commands to the hardware. It is responsible for controlling, integrating and managing the hardware components of a computer system and for accomplishing specific tasks. Software can be divided into two major categories:
(i) System software
(ii) Application software
System software consists of several programs, which are directly responsible for controlling, integrating and managing the individual hardware components of a computer system. It also provides the interface between the user and component of the computer. Some common examples of system software are operating system, device drivers and language translators.
(i) Operating System
It consists of programs, which controls, coordinates and supervises the activities of the various components of a computer system. Its function is to provide link between the computer hardware and the user. It performs all internal management functions (disk access, memory management, task scheduling and user interfacing) and ensures systematic functioning of a computer system. It provides an environment to run the programs. e.g. MS-DOS, Windows XP/2000/98, Unix, Linux, etc.
The operating system performs the following functions:
(a) It makes sure that programs running at the same time do not interfere with each other.
(b) It is also responsible for security, ensuring that unauthorized users do not access the system.
(ii) Device Drivers
A software, written with the objective of making a device functional when it is connected to the computer is called a device driver.
It is a system software that acts like an interface between the device and the user. Every device, whether it is a printer, monitor, mouse or keyboard has a driver program associated with it for its proper functioning.
(iii) Language Translator
A language translator helps in converting programming languages to machine language. The translated program is called object code. There are three different kinds of language translators:
(a) Assembler- It is used to convert the assembly language into machine language (i.e. in the form of 0 or 1). This language consists of mnemonic codes, which are difficult to learn and is machine dependent.
(b) Compiler- It is used to convert the source code (written in high level language) into machine language. Compiler reads whole source code in a single run and traps the errors and informs to the programmer. For each high -level language, the machine requires a separate compiler.
(c) Interpreter This program converts a high level language program into machine language by converting it line-by-line inform to the user as an error occurs.
They are used to support, enhance, expand and secure existing programs and data in the computer system. System utility mainly consists of the following functions:
(i) Disk Compression
It increases the amount of information that can be stored on a hard disk by compressing all information stored on a hard disk.
(ii) Disk Fragmenters
It can be used to rearrange files and unused space on your hard disk.
(iii) Backup Utilities
It can make a copy of all information stored on a disk and restore either the entire disk or selected files.
(iv) Disk Cleaners
It is used to find files that have not been used for a long time. This utility also serves to increase the speed of a slow computer.
It is the utility which is used to scan computer for viruses and prevent the computer system files from being corrupt. e.g. Norton, Quick heal, etc.
(vi) Clipboard manager
This utility program enhance clipboard capability of operating system.
Application software is a computer software designed to help the user to perform singular or multiple tasks. It is a set of instructions or programs designed for specific uses or applications that enable the user to interact with a computer. Application software are also called the end-user programs.
There are two types of application softwares:
(i) General Purpose Software
These are used for any general purpose (or function). These softwares allow users to do simple (general) computer tasks.
e.g. Word processing software, electronic spreadsheets, DBMS, Desktop publishing, multimedia software. .
(ii) Specific Purpose Software
These are created to execute one specific task. Specific purpose softwares are called so as they provide very specific solutions. e.g. Inventory management, payroll, hotel management reservation, report card generator, billing system, HR management system.
A programming language is a primary interface of a programmer with a computer.A Programming language is used to create programs to control the behaviour of a machine. Programming languages are divided into two categories; Low Level Language (LLL) and High Level Language (HLL).
Low Level Language (LLL)
It is divided into two parts
(i) Machine Language It is sometimes referred to as machine code or object code. It is a collection of binary digits or bits that computer reads and interprets.
(ii) Assembly Language It is used to interface with computer hardware. It uses instructed commands as substitutions for numbers allowing human to read the code more easily than binary. It uses English-like representation to write a program.
High Level Language (HLL)
It is machine independent language and uses translator programs. The program written in HLL is called Source code. Some commonly used high level languages are C, BASIC, FORTRAN, PASCAL, etc.
Java is a high level language used to develop platform independent application and secure application.
C language was developed by Dennis Ritchie in 1972 at Bell Laboratory.
A linker is a system program that links together several object modules and libraries to form a single and coherent program (executable program). The main purpose of a linker is to resolve references among files. Before execution of the program, modules and required libraries are linked together using the linker software.
Loader is a kind of system software, which is responsible for loading and relocation of the executable program in the main memory. It is a part of operating system that brings an executable file residing on disk into memory and starts its execution process.