Fundamentals of Computers
Fundamentals of Computers
Computer is an advanced electronic device that takes raw data as an input from the user and processes
it under the control of a set of instructions (called program), produces a result (output), and saves it
for future use.
Functionalities of a Computer
If we look at it in a very broad sense, any digital computer carries out the following five
functions −
Step 1 − Takes data as input.
Step 2 − Stores the data/instructions in its memory and uses them as required.
Step 3 − Processes the data and converts it into useful information.
Step 4 − Generates the output.
Step 5 − Controls all the above four steps.
Advantages of Computers
Following are certain advantages of computers.
High Speed
Computer is a very fast device.
It is capable of performing calculation of very large amount of data.
The computer has units of speed in microsecond, nanosecond, and even the
picosecond.
It can perform millions of calculations in a few seconds as compared to man who will
spend many months to perform the same task.
Accuracy
In addition to being very fast, computers are very accurate.
The calculations are 100% error free.
Computers perform all jobs with 100% accuracy provided that the input is correct.
Storage Capability
Memory is a very important characteristic of computers.
A computer has much more storage capacity than human beings.
It can store large amount of data.
It can store any type of data such as images, videos, text, audio, etc.
Diligence
Unlike human beings, a computer is free from monotony, tiredness, and lack of
concentration.
It can work continuously without any error and boredom.
It can perform repeated tasks with the same speed and accuracy.
Versatility
A computer is a very versatile machine.
A computer is very flexible in performing the jobs to be done.
This machine can be used to solve the problems related to various fields.
At one instance, it may be solving a complex scientific problem and the very next
moment it may be playing a card game.
Reliability
A computer is a reliable machine.
Modern electronic components have long lives.
Computers are designed to make maintenance easy.
Automation
Computer is an automatic machine.
Automation is the ability to perform a given task automatically. Once the computer
receives a program i.e., the program is stored in the computer memory, then the
program and instruction can control the program execution without human
interaction.
Disadvantages of Computers
Following are certain disadvantages of computers.
No I.Q.
A computer is a machine that has no intelligence to perform any task.
Each instruction has to be given to the computer.
A computer cannot take any decision on its own.
Dependency
It functions as per the user’s instruction, thus it is fully dependent on humans.
Environment
The operating environment of the computer should be dust free and suitable.
No Feeling
Computers have no feelings or emotions.
It cannot make judgment based on feeling, taste, experience, and knowledge unlike
humans.
Computer - Applications
Business
A computer has high speed of calculation, diligence, accuracy, reliability, or versatility
which has made it an integrated part in all business organizations.
Computer is used in business organizations for −
Payroll calculations
Budgeting
Sales analysis
Financial forecasting
Managing employee database
Maintenance of stocks, etc.
Banking
Insurance companies are keeping all records up-to-date with the help of computers.
Insurance companies, finance houses, and stock broking firms are widely using computers
for their concerns.
Insurance companies are maintaining a database of all clients with information showing −
Education
Marketing
In marketing, uses of the computer are following −
Healthcare
Computers have become an important part in hospitals, labs, and dispensaries. They are
being used in hospitals to keep the record of patients and medicines. It is also used in
scanning and diagnosing different diseases. ECG, EEG, ultrasounds and CT scans, etc. are
also done by computerized machines.
Following are some major fields of health care in which computers are used.
Diagnostic System − Computers are used to collect data and identify the cause of
illness.
Lab-diagnostic System − All tests can be done and the reports are prepared by
computer.
Patient Monitoring System − These are used to check the patient's signs for
abnormality such as in Cardiac Arrest, ECG, etc.
Pharma Information System − Computer is used to check drug labels, expiry dates,
harmful side effects, etc.
Surgery − Nowadays, computers are also used in performing surgery.
Engineering Design
Computers are widely used for Engineering purpose.
One of the major areas is CAD (Computer Aided Design) that provides creation and
modification of images. Some of the fields are −
Structural Engineering − Requires stress and strain analysis for design of ships,
buildings, budgets, airplanes, etc.
Industrial Engineering − Computers deal with design, implementation, and
improvement of integrated systems of people, materials, and equipment.
Architectural Engineering − Computers help in planning towns, designing
buildings, determining a range of buildings on a site using both 2D and 3D drawings.
Military
Computers are largely used in defence. Modern tanks, missiles, weapons, etc. Military also
employs computerized control systems. Some military areas where a computer has been
used are −
Missile Control
Military Communication
Military Operation and Planning
Smart Weapons
Communication
Communication is a way to convey a message, an idea, a picture, or speech that is received
and understood clearly and correctly by the person for whom it is meant. Some main areas in
this category are −
E-mail
Chatting
Usenet
FTP
Telnet
Video-conferencing
Government
Computers play an important role in government services. Some major fields in this
category are −
Budgets
Sales tax department
Income tax department
Computation of male/female ratio
Computerization of voters lists
Computerization of PAN card
Weather forecasting
Computer - Generations
Generation in computer terminology is a change in technology a computer is/was being
used. Initially, the generation term was used to distinguish between varying hardware
technologies. Nowadays, generation includes both hardware and software, which together
make up an entire computer system.
There are five computer generations known till date. Each generation has been discussed in
detail along with their time period and characteristics. In the following table, approximate
dates against each generation has been mentioned, which are normally accepted.
Following are the main five generations of computers.
First Generation
1
The period of first generation: 1946-1959. Vacuum tube based.
Second Generation
2
The period of second generation: 1959-1965. Transistor based.
Third Generation
3
The period of third generation: 1965-1971. Integrated Circuit based.
Fourth Generation
4
The period of fourth generation: 1971-1980. VLSI microprocessor based.
Fifth Generation
5
The period of fifth generation: 1980-onwards. ULSI microprocessor based.
Computer - Types
Computers can be broadly classified by their speed and computing power.
PC (Personal Computer)
Workstation
Minicomputer
It is a midsize multi-processing system capable of supporting up to 250 users
simultaneously.
Mainframe
Mainframe is very large in size and is an expensive computer capable of supporting
hundreds or even thousands of users simultaneously. Mainframe executes many programs
concurrently and supports many simultaneous execution of programs.
Supercomputer
Supercomputers are one of the fastest computers currently available. Supercomputers are
very expensive and are employed for specialized applications that require immense amount
of mathematical calculations (number crunching).
For example, weather forecasting, scientific simulations, (animated) graphics, fluid dynamic
calculations, nuclear energy research, electronic design, and analysis of geological data (e.g.
in petrochemical prospecting).
Computer - Components
All types of computers follow the same basic logical structure and perform the following
five basic operations for converting raw input data into information useful to their users.
1 Take Input The process of entering data and instructions into the computer system.
Saving data and instructions so that they are available for processing as
2 Store Data
and when required.
Output The process of producing useful information or results for the user, such
4
Information as a printed report or visual display.
Control the Directs the manner and sequence in which all of the above operations
5
workflow are performed.
Input Unit
This unit contains devices with the help of which we enter data into the computer. This unit
creates a link between the user and the computer. The input devices translate the information
into a form understandable by the computer.
Output Unit
The output unit consists of devices with the help of which we get the information from the
computer. This unit is a link between the computer and the users. Output devices translate
the computer's output into a form understandable by the users.
Control Unit
This unit controls the operations of all parts of the computer but does not carry out any
actual data processing operations.
Functions of this unit are −
It is responsible for controlling the transfer of data and instructions among other units
of a computer.
It manages and coordinates all the units of the computer.
It obtains the instructions from the memory, interprets them, and directs the operation
of the computer.
It communicates with Input/Output devices for transfer of data or results from
storage.
It does not process or store data.
Arithmetic Section
Logic Section
Arithmetic Section
Function of arithmetic section is to perform arithmetic operations like addition, subtraction,
multiplication, and division. All complex operations are done by making repetitive use of
the above operations.
Logic Section
Function of logic section is to perform logic operations such as comparing, selecting,
matching, and merging of data.
Computer - Input Devices
Following are some of the important input devices which are used in a computer −
Keyboard
Mouse
Joy Stick
Light pen
Track Ball
Scanner
Graphic Tablet
Microphone
Magnetic Ink Card Reader(MICR)
Optical Character Reader(OCR)
Bar Code Reader
Optical Mark Reader(OMR)
Keyboard
Keyboard is the most common and very popular input device which helps to input data to
the computer. The layout of the keyboard is like that of traditional typewriter, although there
are some additional keys provided for performing additional functions.
Keyboards are of two sizes 84 keys or 101/102 keys, but now keyboards with 104 keys or
108 keys are also available for Windows and Internet.
The keys on the keyboard are as follows −
S.N Keys & Description
o
Typing Keys
1
These keys include the letter keys (A-Z) and digit keys (09) which generally give the same
layout as that of typewriters.
Numeric Keypad
2 It is used to enter the numeric data or cursor movement. Generally, it consists of a set of 17
keys that are laid out in the same configuration used by most adding machines and
calculators.
Function Keys
3 The twelve function keys are present on the keyboard which are arranged in a row at the top
of the keyboard. Each function key has a unique meaning and is used for some specific
purpose.
Control keys
4 These keys provide cursor and screen control. It includes four directional arrow keys.
Control keys also include Home, End, Insert, Delete, Page Up, Page Down, Control(Ctrl),
Alternate(Alt), Escape(Esc).
Mouse
Mouse is the most popular pointing device. It is a very famous cursor-control device having
a small palm size box with a round ball at its base, which senses the movement of the mouse
and sends corresponding signals to the CPU when the mouse buttons are pressed.
Generally, it has two buttons called the left and the right button and a wheel is present
between the buttons. A mouse can be used to control the position of the cursor on the screen,
but it cannot be used to enter text into the computer.
Advantages
Easy to use
Not very expensive
Moves the cursor faster than the arrow keys of the keyboard.
Joystick
Joystick is also a pointing device, which is used to move the cursor position on a monitor
screen. It is a stick having a spherical ball at its both lower and upper ends. The lower
spherical ball moves in a socket. The joystick can be moved in all four directions.
The function of the joystick is similar to that of a mouse. It is mainly used in Computer
Aided Designing (CAD) and playing computer games.
Light Pen
Light pen is a pointing device similar to a pen. It is used to select a displayed menu item or
draw pictures on the monitor screen. It consists of a photocell and an optical system placed
in a small tube.
When the tip of a light pen is moved over the monitor screen and the pen button is pressed,
its photocell sensing element detects the screen location and sends the corresponding signal
to the CPU.
Track Ball
Track ball is an input device that is mostly used in notebook or laptop computer, instead of a
mouse. This is a ball which is half inserted and by moving fingers on the ball, the pointer
can be moved.
Since the whole device is not moved, a track ball requires less space than a mouse. A track
ball comes in various shapes like a ball, a button, or a square.
Scanner
Scanner is an input device, which works more like a photocopy machine. It is used when
some information is available on paper and it is to be transferred to the hard disk of the
computer for further manipulation.
Scanner captures images from the source which are then converted into a digital form that
can be stored on the disk. These images can be edited before they are printed.
Digitizer
Digitizer is an input device which converts analog information into digital form. Digitizer
can convert a signal from the television or camera into a series of numbers that could be
stored in a computer. They can be used by the computer to create a picture of whatever the
camera had been pointed at.
Digitizer is also known as Tablet or Graphics Tablet as it converts graphics and pictorial
data into binary inputs. A graphic tablet as digitizer is used for fine works of drawing and
image manipulation applications.
Microphone
Microphone is an input device to input sound that is then stored in a digital form.
The microphone is used for various applications such as adding sound to a multimedia
presentation or for mixing music.
This reading process is called Magnetic Ink Character Recognition (MICR). The main
advantages of MICR is that it is fast and less error prone.
Bar Code Reader scans a bar code image, converts it into an alphanumeric value, which is
then fed to the computer that the bar code reader is connected to.
Monitors
Graphic Plotter
Printer
Monitors
Monitors, commonly called as Visual Display Unit (VDU), are the main output device of a
computer. It forms images from tiny dots, called pixels that are arranged in a rectangular
form. The sharpness of the image depends upon the number of pixels.
There are two kinds of viewing screen used for monitors.
Large in Size
High power consumption
Printers
Printer is an output device, which is used to print information on paper.
There are two types of printers −
Impact Printers
Non-Impact Printers
Impact Printers
Impact printers print the characters by striking them on the ribbon, which is then pressed on
the paper.
Characteristics of Impact Printers are the following −
Character printers
Line printers
Character Printers
Character printers are the printers which print one character at a time.
These are further divided into two types:
Inexpensive
Widely Used
Other language characters can be printed
Disadvantages
Slow Speed
Poor Quality
Daisy Wheel
Head is lying on a wheel and pins corresponding to characters are like petals of Daisy
(flower) which is why it is called Daisy Wheel Printer. These printers are generally used for
word-processing in offices that require a few letters to be sent here and there with very nice
quality.
Advantages
Drum Printer
Chain Printer
Drum Printer
This printer is like a drum in shape hence it is called drum printer. The surface of the drum
is divided into a number of tracks. Total tracks are equal to the size of the paper, i.e. for a
paper width of 132 characters, drum will have 132 tracks. A character set is embossed on the
track. Different character sets available in the market are 48 character set, 64 and 96
characters set. One rotation of drum prints one line. Drum printers are fast in speed and can
print 300 to 2000 lines per minute.
Advantages
Very expensive
Characters fonts cannot be changed
Chain Printer
In this printer, a chain of character sets is used, hence it is called Chain Printer. A standard
character set may have 48, 64, or 96 characters.
Advantages
Character fonts can easily be changed.
Different languages can be used with the same printer.
Disadvantages
Noisy
Non-impact Printers
Non-impact printers print the characters without using the ribbon. These printers print a
complete page at a time, thus they are also called as Page Printers.
These printers are of two types −
Laser Printers
Inkjet Printers
Characteristics of Non-impact Printers
Advantages
Very high speed
Very high quality output
Good graphics quality
Supports many fonts and different character size
Disadvantages
Expensive
Cannot be used to produce multiple copies of a document in a single printing
Inkjet Printers
Inkjet printers are non-impact character printers based on a relatively new technology. They
print characters by spraying small drops of ink onto paper. Inkjet printers produce high
quality output with presentable features.
They make less noise because no hammering is done and these have many styles of printing
modes available. Color printing is also possible. Some models of Inkjet printers can produce
multiple copies of printing also.
Advantages
Computer - Memory
A memory is just like a human brain. It is used to store data and instructions. Computer
memory is the storage space in the computer, where data is to be processed and instructions
required for processing are stored. The memory is divided into large number of small parts
called cells. Each location or cell has a unique address, which varies from zero to memory
size minus one. For example, if the computer has 64k words, then this memory unit has 64 *
1024 = 65536 memory locations. The address of these locations varies from 0 to 65535.
Memory is primarily of three types −
Cache Memory
Primary Memory/Main Memory
Secondary Memory
Cache Memory
Cache memory is a very high speed semiconductor memory which can speed up the CPU. It
acts as a buffer between the CPU and the main memory. It is used to hold those parts of data
and program which are most frequently used by the CPU. The parts of data and programs
are transferred from the disk to cache memory by the operating system, from where the CPU
can access them.
Advantages
The advantages of cache memory are as follows −
Disadvantages
The disadvantages of cache memory are as follows −
Cache memory has limited capacity.
It is very expensive.
Secondary Memory
This type of memory is also known as external memory or non-volatile. It is slower than the
main memory. These are used for storing data/information permanently. CPU directly does
not access these memories, instead they are accessed via input-output routines. The contents
of secondary memories are first transferred to the main memory, and then the CPU can
access it. For example, disk, CD-ROM, DVD, etc.
Characteristics of Secondary Memory
These are magnetic and optical memories.
It is known as the backup memory.
It is a non-volatile memory.
Data is permanently stored even if power is switched off.
It is used for storage of data in a computer.
Computer may run without the secondary memory.
Slower than primary memories.
Access time in RAM is independent of the address, that is, each storage location inside the
memory is as easy to reach as other locations and takes the same amount of time. Data in the
RAM can be accessed randomly but it is very expensive.
RAM is volatile, i.e. data stored in it is lost when we switch off the computer or if there is a
power failure. Hence, a backup Uninterruptible Power System (UPS) is often used with
computers. RAM is small, both in terms of its physical size and in the amount of data it can
hold.
RAM is of two types −
Let us now discuss the various types of ROMs and their characteristics.
Advantages of ROM
The advantages of ROM are as follows −
Non-volatile in nature
Cannot be accidentally changed
Cheaper than RAMs
Easy to test
More reliable than RAMs
Static and do not require refreshing
Contents are always known and can be verified
Computer - Motherboard
The motherboard serves as a single platform to connect all of the parts of a computer
together. It connects the CPU, memory, hard drives, optical drives, video card, sound card,
and other ports and expansion cards directly or via cables. It can be considered as the
backbone of a computer.
Features of Motherboard
A motherboard comes with following features −
Motherboard varies greatly in supporting various types of components.
Motherboard supports a single type of CPU and few types of memories.
Video cards, hard disks, sound cards have to be compatible with the motherboard to
function properly.
Motherboards, cases, and power supplies must be compatible to work properly
together.
Popular Manufacturers
Following are the popular manufacturers of the motherboard.
Intel
ASUS
AOpen
ABIT
Biostar
Gigabyte
MSI
Description of Motherboard
The motherboard is mounted inside the case and is securely attached via small screws
through pre-drilled holes. Motherboard contains ports to connect all of the internal
components. It provides a single socket for CPU, whereas for memory, normally one or
more slots are available. Motherboards provide ports to attach the floppy drive, hard drive,
and optical drives via ribbon cables. Motherboard carries fans and a special port designed
for power supply.
There is a peripheral card slot in front of the motherboard using which video cards, sound
cards, and other expansion cards can be connected to the motherboard.
On the left side, motherboards carry a number of ports to connect the monitor, printer,
mouse, keyboard, speaker, and network cables. Motherboards also provide USB ports,
which allow compatible devices to be connected in plug-in/plug-out fashion. For example,
pen drive, digital cameras, etc.
Nibble
2
A group of 4 bits is called nibble.
Byte
3 A group of 8 bits is called byte. A byte is the smallest unit, which can represent a data item
or a character.
Word
A computer word, like a byte, is a group of fixed number of bits processed as a unit, which
varies from computer to computer but is fixed for each computer.
4
The length of a computer word is called word-size or word length. It may be as small as 8
bits or may be as long as 96 bits. A computer stores the information in the form of
computer words.
1 Kilobyte (KB)
1 KB = 1024 Bytes
Megabyte (MB)
2
1 MB = 1024 KB
GigaByte (GB)
3
1 GB = 1024 MB
4 TeraByte (TB)
1 TB = 1024 GB
PetaByte (PB)
5
1 PB = 1024 TB
Computer - Ports
A port is a physical docking point using which an external device can be connected to the
computer. It can also be programmatic docking point through which information flows from
a program to the computer or over the Internet.
Characteristics of Ports
A port has the following characteristics −
External devices are connected to a computer using cables and ports.
Ports are slots on the motherboard into which a cable of external device is plugged in.
Examples of external devices attached via ports are the mouse, keyboard, monitor,
microphone, speakers, etc.
Let us now discuss a few important types of ports −
Serial Port
Used for external modems and older computer mouse
Two versions: 9 pin, 25 pin model
Data travels at 115 kilobits per second
Parallel Port
Used for scanners and printers
Also called printer port
25 pin model
IEEE 1284-compliant Centronics port
PS/2 Port
Used for old computer keyboard and mouse
Also called mouse port
Most of the old computers provide two PS/2 port, each for the mouse and keyboard
IEEE 1284-compliant Centronics port
VGA Port
Connects monitor to a computer's video card.
It has 15 holes.
Similar to the serial port connector. However, serial port connector has pins, VGA
port has holes.
Power Connector
Three-pronged plug.
Connects to the computer's power cable that plugs into a power bar or wall socket.
Firewire Port
Transfers large amount of data at very fast speed.
Connects camcorders and video equipment to the computer.
Data travels at 400 to 800 megabits per seconds.
Invented by Apple.
It has three variants: 4-Pin FireWire 400 connector, 6-Pin FireWire 400 connector,
and 9-Pin FireWire 800 connector.
Modem Port
Connects a PC's modem to the telephone network.
Ethernet Port
Connects to a network and high speed Internet.
Connects the network cable to a computer.
This port resides on an Ethernet Card.
Data travels at 10 megabits to 1000 megabits per seconds depending upon the
network bandwidth.
Game Port
Connect a joystick to a PC
Now replaced by USB
Sockets
Sockets connect the microphone and speakers to the sound card of the computer.
Computer - Hardware
Hardware represents the physical and tangible components of a computer, i.e. the
components that can be seen and touched.
Examples of Hardware are the following −
Input devices − keyboard, mouse, etc.
Output devices − printer, monitor, etc.
Secondary storage devices − Hard disk, CD, DVD, etc.
Internal components − CPU, motherboard, RAM, etc.
Relationship between Hardware and Software
Hardware and software are mutually dependent on each other. Both of them must
work together to make a computer produce a useful output.
Software cannot be utilized without supporting hardware.
Hardware without a set of programs to operate upon cannot be utilized and is useless.
To get a particular job done on the computer, relevant software should be loaded into
the hardware.
Hardware is a one-time expense.
Software development is very expensive and is a continuing expense.
Different software applications can be loaded on a hardware to run different jobs.
A software acts as an interface between the user and the hardware.
If the hardware is the 'heart' of a computer system, then the software is its 'soul'. Both
are complementary to each other.
Computer - Software
Software is a set of programs, which is designed to perform a well-defined function. A
program is a sequence of instructions written to solve a particular problem.
There are two types of software −
System Software
Application Software
System Software
The system software is a collection of programs designed to operate, control, and extend the
processing capabilities of the computer itself. System software is generally prepared by the
computer manufacturers. These software products comprise of programs written in low-level
languages, which interact with the hardware at a very basic level. System software serves as
the interface between the hardware and the end users.
Some examples of system software are Operating System, Compilers, Interpreter,
Assemblers, etc.
Here is a list of some of the most prominent features of a system software −
Application Software
Application software products are designed to satisfy a particular need of a particular
environment. All software applications prepared in the computer lab can come under the
category of Application software.
Application software may consist of a single program, such as Microsoft's notepad for
writing and editing a simple text. It may also consist of a collection of programs, often
called a software package, which work together to accomplish a task, such as a spreadsheet
package.
Examples of Application software are the following −
Payroll Software
Student Record Software
Inventory Management Software
Income Tax Software
Railways Reservation Software
Microsoft Office Suite Software
Microsoft Word
Microsoft Excel
Microsoft PowerPoint
Features of application software are as follows –
Example
Binary Number: 101012
Calculating Decimal Equivalent −
Example
Octal Number: 125708
Calculating Decimal Equivalent −
Example
Hexadecimal Number: 19FDE16
Calculating Decimal Equivalent −
Step Binary Decimal Number
Number
Step 2 19FDE16 ((1 x 164) + (9 x 163) + (15 x 162) + (13 x 161) + (14 x 160))10
Step 1 29 / 2 14 1
Step 2 14 / 2 7 0
Step 3 7/2 3 1
Step 4 3/2 1 1
Step 5 1/2 0 1
As mentioned in Steps 2 and 4, the remainders have to be arranged in the reverse order so
that the first remainder becomes the Least Significant Digit (LSD) and the last remainder
becomes the Most Significant Digit (MSD).
Decimal Number : 2910 = Binary Number : 111012.
Example
Binary Number: 111012
Calculating Decimal Equivalent −
Example
Octal Number : 258
Calculating Binary Equivalent −
Step 1 21 / 2 10 1
Step 2 10 / 2 5 0
Step 3 5/2 2 1
Step 4 2/2 1 0
Step 5 1/2 0 1
Example
Binary Number : 101012
Calculating Octal Equivalent −
Example
Octal Number : 258
Calculating Binary Equivalent −
Example
Binary Number : 101012
Calculating hexadecimal Equivalent −
What is Information?
Information is organized or classified data, which has some meaningful values for the
receiver. Information is the processed data on which decisions and actions are based.
For the decision to be meaningful, the processed data must qualify for the following
characteristics −
Timely − Information should be available when required.
Accuracy − Information should be accurate.
Completeness − Information should be complete.
Data Processing Cycle
Data processing is the re-structuring or re-ordering of data by people or machine to increase
their usefulness and add values for a particular purpose. Data processing consists of the
following basic steps - input, processing, and output. These three steps constitute the data
processing cycle.
Input − In this step, the input data is prepared in some convenient form for
processing. The form will depend on the processing machine. For example, when
electronic computers are used, the input data can be recorded on any one of the
several types of input medium, such as magnetic disks, tapes, and so on.
Processing − In this step, the input data is changed to produce data in a more useful
form. For example, pay-checks can be calculated from the time cards, or a summary
of sales for the month can be calculated from the sales orders.
Output − At this stage, the result of the proceeding processing step is collected. The
particular form of the output data depends on the use of the data. For example, output
data may be pay-checks for employees.
Computers are a balanced mix of software and hardware. Hardware is just a piece of mechanical
device and its functions are being controlled by a compatible software. Hardware understands
instructions in the form of electronic charge, which is the counterpart of binary language in software
programming. Binary language has only two alphabets, 0 and 1. To instruct, the hardware codes must
be written in binary format, which is simply a series of 1s and 0s. It would be a difficult and
cumbersome task for computer programmers to write such codes, which is why we have compilers to
write such codes.
Preprocessor
A preprocessor, generally considered as a part of compiler, is a tool that produces input for
compilers. It deals with macro-processing, augmentation, file inclusion, language extension,
etc.
Interpreter
An interpreter, like a compiler, translates high-level language into low-level machine
language. The difference lies in the way they read the source code or input. A compiler reads
the whole source code at once, creates tokens, checks semantics, generates intermediate
code, executes the whole program and may involve many passes. In contrast, an interpreter
reads a statement from the input, converts it to an intermediate code, executes it, then takes
the next statement in sequence. If an error occurs, an interpreter stops execution and reports
it. whereas a compiler reads the whole program even if it encounters several errors.
Assembler
An assembler translates assembly language programs into machine code.The output of an
assembler is called an object file, which contains a combination of machine instructions as
well as the data required to place these instructions in memory.
Linker
Linker is a computer program that links and merges various object files together in order to
make an executable file. All these files might have been compiled by separate assemblers.
The major task of a linker is to search and locate referenced module/routines in a program
and to determine the memory location where these codes will be loaded, making the
program instruction to have absolute references.
Loader
Loader is a part of operating system and is responsible for loading executable files into
memory and execute them. It calculates the size of a program (instructions and data) and
creates memory space for it. It initializes various registers to initiate execution.
Cross-compiler
A compiler that runs on platform (A) and is capable of generating executable code for
platform (B) is called a cross-compiler.
Source-to-source Compiler
A compiler that takes the source code of one programming language and translates it into the
source code of another programming language is called a source-to-source compiler.