0% found this document useful (0 votes)
30 views141 pages

Fundamentals of Information Technology

This chapter provides an overview of computers, including their evolution, generations, and classifications based on operating principles, applications, and size. It discusses the components of a computer system, such as hardware, software, and data, and highlights the capabilities and limitations of computers. The chapter also outlines the historical development of computing devices from manual to automated systems, culminating in modern digital computers.

Uploaded by

vasanthanil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views141 pages

Fundamentals of Information Technology

This chapter provides an overview of computers, including their evolution, generations, and classifications based on operating principles, applications, and size. It discusses the components of a computer system, such as hardware, software, and data, and highlights the capabilities and limitations of computers. The chapter also outlines the historical development of computing devices from manual to automated systems, culminating in modern digital computers.

Uploaded by

vasanthanil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 141

C HA PTE R 1

UNDERSTANDING THE COMPUTER

Chapter Outline Chapter Objectives


1.1 Introduction In this chapter, we will learn:
1.2 Evolution of Computers ∑ How computers receive, store and process
1.2.1 Manual Computing Devices data to generate useful information.
1.2.2 Automated Computing Devices ∑ The improvements in functioning of
1.3 Generations of Computers computers in the last few decades.
∑ The five generations of computers.
1.3.1 First Generation Computers
∑ How to classify computers on the basis of
1.3.2 Second Generation Computers operating principles, applications and size.
1.3.3 Third Generation Computers ∑ The computer system as a combination of
1.3.4 Fourth Generation Computers hardware, software, data and people.
1.3.5 Fifth Generation Computers ∑ The use of computers in different fields.
1.4 Classification of Computers
1.4.1 Based on Operating Principles
1.4.2 Based on Applications 1.1 INTRODUCTION
1.4.3 Based on Size and Capability
1.5 The Computer System A computer is an electronic machine that takes
input from the user, processes the given input and
1.5.1 Hardware
generates output in the form of useful information.
1.5.2 Software A computer accepts input in different forms such as
1.5.3 Data data, programs and user reply. Data refer to the raw
1.5.4 People details that need to be processed to generate some
1.6 Computing Concepts useful information. Programs refer to the set of
1.7 Applications of Computers instructions that can be executed by the computer
in sequential or non-sequential manner. User reply
Chapter Summary
is the input provided by the user in response to a
Key Terms to Remember question asked by the computer. The main task of
Review Questions a computer system is to process the given input
Fill in the Blanks of any type in an efficient manner. Therefore,
Multiple Choice Questions computer is also known by various other names
Discussion Questions such as data processing unit, data processor and
data processing system.
2 Fundamentals of Computers

A computer includes various devices that function as an integrated system to perform several tasks
described above. These devices are:
Central Processing Unit (CPU) It is the processor of the computer that is responsible for controlling
and executing instructions in the computer. It is considered as the most significant component of the
computer. It is the “brain” of the computer.
Monitor It is a screen, which displays information in visual form, after receiving the video signals from
the computer.
Keyboard and Mouse These are the devices, which are used by the computer, for receiving input from
the user.
Figure 1.1 shows the various components of a computer.
The unique capabilities and characteristics
of a computer have made it very popular
among its various users, including engineers,
managers, accountants, teachers, students,
etc. The characteristics and capabilities of
a modern digital computer include, among
others:
Speed A computer is a fast electronic
device that can solve large and complex
problems in few seconds. The speed of
a computer generally depends upon its
hardware configuration. Fig. 1.1 The components of computer

Storage capacity A computer can store huge amount of data in its different storage components in
many different formats. The storage area of a computer system is generally divided into two categories,
main memory and secondary storage.
Accuracy A computer carries out calculations with great accuracy. The accuracy achieved by a
computer depends upon its hardware configuration and the instructions.
Reliability A computer produces results with no error. Most of the errors generated in the computer are
human errors that are created by the user itself. Therefore, they are very trustworthy machines.
Versatility Computers are versatile machines. They can perform many different tasks and can be used
for many different purposes.
Diligence Computers can perform repetitive calculations any number of times with the same accuracy.
Computers do not suffer from human traits, such as tiredness, fatigue, lack of concentration, etc.
Although computers are highly reliable and versatile machines, they do possess certain limitations. Since
computers are capable of doing only what they are instructed to do, any wrong instruction (or faulty logic)
or any wrong data may result in erroneous output. This is popularly known as “Garbage-In, Garbage-Out”
(GIGO).
Computer is a dumb machine and therefore lacks “common sense”. Anything it does is a result of human
instructions. It carries out instructions as long as it can understand them, no matter whether they are right or wrong.
Although computers can be instructed to make certain decisions based on mathematical or logical
equations, they cannot make decisions in situations where qualitative considerations are involved.
Understanding the Computer 3

1.2 EVOLUTION OF COMPUTERS

In ancient times, people used different devices and methods for performing the computing operations.
However, these devices and methods used for calculations were not very fast and accurate. This fact had led
to the invention of computer. The computer was developed to produce accurate results at a very fast speed.
The computer has gone through several phases of technological development. We can understand these
developments by just looking at the history of computers. Before the invention of any type of calculating
device, people carried out simple arithmetic calculations, such as addition and subtraction on their fingers.
This method of counting is still quite preferred in schools as it teaches the children about how to count.
In ancient times, people also started using stones for representing numbers and carrying out simple
calculations. These stones were then kept at a place suitable for adding and subtracting more stones. In
that way, people performed simple arithmetic calculations. However, the use of stones did not constitute
the only method of performing calculation at that time. People also used other devices—such as notches
in a stick, knots in a rope, etc.—for carrying out simple calculations. However, the purpose of each device
was to represent numbers. Some of the early computing devices were manually operated, while the later
computing devices were completely automated.

1.2.1 Manual Computing Devices


The idea of using stones for representing numbers and putting them at a place for performing simple
calculations invented the device called sand table. A sand table was a device that arranged stones in three
channels in the sand. Each channel could have a maximum of 10 stones. The addition operation was
performed on this device by incrementing the count of right hand channel by one and by adding one stone
in it. As soon as the right hand channel reached its maximum capacity, the stones were removed from that
channel and one stone was added to the left hand channel. Figure 1.2 shows the idea of sand table used for
the purpose of calculations.

Fig. 1.2 A sand table


4 Fundamentals of Computers

The idea of sand table


led to the development of
a fast calculating device
of that time, which was
known as abacus. Unlike
the sand table, abacus
replaced the sand frame
with a wooden frame, the
grooves with wires and
the stones with beads. An
abacus was also known
as a counting frame and
became popular among
the people in Asia Minor
around 5000 years back.
This device is still in use
in many parts of the world. Fig. 1.3 An abacus
In this device, the wooden
frame consists of many wires, with beads
sliding on them. The user of an abacus
can perform arithmetic operations by
sliding the beads on the wires by hand.
Figure 1.3 shows an abacus consisting of
beads on different wires of a wooden frame.
Another complicated manual comput-
ing device called napier bones was
developed by John Napier in the
year 1614. This device was specially
designed for the multiplication and
quotient of numbers. Napier bones
consisted of a board whose left edge
was divided into 9 squares. These 9
squares were used to hold the numbers
from 1 to 9. It also consisted of 10 rods,
which were made up of the strips of
ivory bones. The multiplication of two
numbers with Napier bones could be
performed in a faster manner, if one of
the numbers involved in multiplication
was of a single digit only. Figure 1.4
shows the arrangement of bones for the
multiplication of two numbers; one is of
four digits and the other of one digit.
Figure 1.4 shows the process of
multiplying the number 5437 with any Fig. 1.4 The napier bones
Understanding the Computer 5

other number of single digit. For instance, suppose we want to multiply 5437 with 6. The computation
process with this device starts with the rightmost bone and proceeds towards the left bones. The last digit in
the 6th row of the 7-bone is 2, so the rightmost digit of the multiplication output is 2. After this, add the two
adjacent numbers in the same row forming the parallelogram, which are 8 and 4. The addition of these two
numbers is 12, so the next rightmost digit of the multiplication output is 2. Now, we have obtained 22 with
a carry 1. Similarly, add the next two adjacent numbers and the carry to obtain the digit 6. At this stage, we
have obtained 622 with no carry. We can proceed like this to obtain the final answer as 32622.
The idea of using bones to carry out the multiplication of numbers was modified by Edmund Gunter
in 1620 to produce a device known as slide rule. This device consisted of two sets of graduated scales,
which could slide over each other. The slide rule was developed not only for performing multiplication and
division of numbers, but also for various scientific functions, such as logarithms, trigonometry, roots, etc.
Apart from these manual computing devices, many other devices were also developed for computation
purposes. Some of these devices were pascaline, stepped reckoner, punch card system etc. Pascaline was
a calculator developed by Blaise Pascal in 1642. It was also known as a numerical wheel calculator. This
device contained a set of toothed wheels that could be operated by hand. Pascaline was designed to handle
numbers up to 999,999.999. Pascaline was further improved by German mathematician Gottfried Wilhem
Von Leibriz to produce a device, called stepped reckoner. Stepped reckoner was able to perform the
multiplication and division of numbers as well as calculation of the square root of a number.

1.2.2 Automated Computing Devices


Charles Babbage, a professor of mathematics at the Cambridge University, made some worthwhile efforts
towards automatic computing. He is also considered to be the father of modern computer. In 1812, Charles
Babbage decided to automate the repeated series of steps needed in tabulating various functions, such as
polynomial, logarithmic and trigonometric. In 1822, he presented a working model of his concept with
the help of an automatic mechanical computing machine. He named the automatic mechanical computing
machine as difference engine. In 1823, Babbage made it more automatic by providing the feature of printing
the tabulated results. Babbage did not stop here and started working on developing the analytical engine.
The analytical engine was considered as the completely automatic general-purpose programmable digital
computer. The analytical engine was the first device that used all the features of a modern digital computer,
which include an input unit, an output unit, a storage unit, a processor and a control unit. This engine was
designed to perform various mathematical operations by getting two sets of inputs from the user. The first
set of input is a program that contains a set of instructions to operate on the data. The other set of input
contains the list of variables used in the program or data. The analytical engine built by Babbage in 1833
was digital, programmable and automatic. However, it was a slow engine that took almost 3 minutes to
multiply two numbers of twenty figures each.
In 1937, an American mathematician, Howard Aiken designed MARK I and completed it in the
year 1944. MARK I was one of the well-known early computers that could perform the multiplication of
two numbers of twenty figures in just 6 seconds. Hence, as compared to the analytical engine, MARK I
performed calculations at a much faster speed. However, this computer was also not considered very
fast from the user’s point of view because it printed the results of calculations at the rate of one result
per 5 seconds. Also, MARK I computer was noisy and large in size.
In the year 1944, a British mathematician, Alan Mathison developed the first pure electronic digital
programmable computer. This computer was known as Colossus. Colossus was a special purpose electronic
device that used the vacuum tube technology in performing different operations. It was designed to perform
only some specific functions.
6 Fundamentals of Computers

The Electronic Numerical Integrator And Calculator (ENIAC) was another general-purpose electronic
digital computer developed at the Moore School of Engineering of the University of Pennsylvania by
John Ecker, John Mauchly and their team in the year 1946. This computer also used the vacuum tube
technology in constructing the basic circuits. It was a general purpose computer that was capable of solving
all types of computing problems. It included all the features and components of a modern digital computer.
The internal hardware structure of ENIAC included 17,468 vacuum tubes, 1,500 relays, 70,000 registers,
7,200 crystal diodes and 10,000 capacitors. It was a bulky computer and operated at 1000 times more speed
than that of MARK I computer. ENIAC was designed to perform simple arithmetic operations as well as
some advanced operations, such as separating the sign of a number and comparing different numbers to
check whether they are equal or not. The computer used the decimal number system for representing and
processing values.
In 1949, another electronic computer that used the binary number system for representing and
processing values was introduced. This computer was known as Electronic Discrete Variable Automatic
Computer (EDVAC). EDVAC was also invented by John Eckert and John Mauchly and was considered as
the successor of ENIAC. EDVAC was the first computer that worked on the principle of stored program.
The stored program computer considers the programs and data stored in the memory as the string of binary
numbers. Therefore, programs and data stored in the memory are indistinguishable inputs for the computer.
The different hardware components of EDVAC were magnetic tape, control unit, dispatcher unit, processor,
timer, dual memory and three temporary tanks to hold a single word.
Electronic Delay Storage Automatic Calculator (EDSAC) was another early British electronic computer
developed by Maurice Wilkes and his team at the University of Cambridge Mathematical Laboratory in
1949. It also used the vacuum tube technology in constructing the basic logic circuits and mercury delay
lines for constructing the memory of a computer. The typical input and output unit of this computer system
was punch card and teleprinter respectively. These computer systems were only able to carry out 650
instructions per second. Therefore, these computers were not considered as fast computing devices.
During 1950s, Eckert-Mauchly Computer Corporation, a company of John Eckert and John Mauchly,
made some serious efforts in the field of automated computing. In 1951, the company invented the first
commercial computer that was known as Universal Automatic Computer (UNIVAC). This computer was
a bulky computer that used 5200 vacuum tubes for constructing the basic logic circuits. The mercury data
lines were used to construct the memory for storing data and programs. UNIVAC was able to process
numbers as well as alphabetic characters in an efficient manner. The important feature of UNIVAC—that
made it unique among other well-known early computers—was that it provided separate processes for
handling input/output and processing functions.

1.3 GENERATIONS OF COMPUTERS

Over the years, various computing devices were invented that enabled the people to solve different types
of problems. All these computing devices can be classified into several generations. These generations
refer to the phases of improvement made to different computing devices. The different phases of
improvement made to computing devices resulted in a small, cheap, fast, reliable and productive computer.
The technological development in the field of computers not only refers to the improvements made to
the hardware technologies, but also the improvements made to the software technologies. The history of
computer development is often discussed in terms of different generation of computers, as listed below.
∑ First generation computers
∑ Second generation computers
Understanding the Computer 7

∑ Third generation computers


∑ Fourth generation computers
∑ Fifth generation computers

1.3.1 First Generation Computers


The first generation computers were employed
during the period 1940–1956. These computers
used the vacuum tubes technology for
calculation as well as for storage and control
purposes. Therefore, these computers were also
known as vacuum tubes or thermionic valves
based machines. Figure 1.5 shows the vacuum
tube used in first generation computers. A
vacuum tube is made up of glass and contains
filaments inside it. The filaments when heated
generate electrons, which eventually help in the
amplification and deamplification of electronic
signals. The input and output medium for first
generation computers was the punched card and
printout respectively. Some examples of first
generation computers are ENIAC, EDVAC,
EDSAC and UNIVAC.
The following are the two major advantages
of first generation computer systems:
∑ These computers were the fastest
computing devices of their time.
∑ These computers were able to execute
complex mathematical problems in an
efficient manner.
The above two advantages of first generation
computers were not sufficient enough to make
these computers popular among its users.
The first generation computers had many Fig. 1.5 A vacuum tube
disadvantages associated with them. The
following are some of the disadvantages of first
generation computers:
∑ The functioning of these computers depended on the machine language. A machine language is a
language in which all the values are represented in the form of 0s and 1s. Therefore, these computers
were not very easy to program.
∑ They were generally designed as special-purpose computers. Therefore, they were not very flexible in
running different types of applications.
∑ The use of vacuum tube technology made these computers very large and bulky. Due to their large
size, it was not an easy task to install them properly.
∑ They were not easily transferable from one place to another due to their huge size and also required to
be placed in cool places.
8 Fundamentals of Computers

∑ They were single tasking because they could execute only one program at a time and hence, were not
very productive.
∑ They generated huge amount of heat and hence were prone to hardware faults. Hence, they were not
considered as reliable and required proper maintenance at regular intervals.

1.3.2 Second Generation Computers


The second generation computers were employed during the period 1956–1963. The main characteristic of
these computers was the use of transistors in place of vacuum tubes in building the basic logic circuits. The
transistor was invented by Shockley, Brattain and Bardeen in 1947 for which they won the Nobel Prize. A
transistor is a semiconductor device that is used to increase the power of the incoming signals by preserving
the shape of the original signal. It has three connections, which are emitter (E), base (B) and collector (C).
The base of transistor is the gate through which the signal, needed to be amplified, is sent. The signal
sent through the base of the transistor is generally a small flow of electrons. Therefore, the base terminal
also acts as the input gate for the transistor. The collector of the transistor is used to collect the amplified
signal. The emitter of the transistor acts as the output gate for emitting the amplified signal to the external
environment. Figure 1.6 shows the transistor used to manufacture circuitry of second generation computers.
The use of transistor technology helped in improving the
performance of computers to a large extent. Transistor was a superior
technology over vacuum tubes. Transistors used in second generation
computers were smaller, faster, cheaper and generated less heat than
that of vacuum tubes used in first generation computers. Transistors
were also light weight electronic devices that required very less power
during their operation. These characteristic features of transistors
made the second generation computers smaller, faster, cheaper, more
efficient, more productive and more reliable, as compared to the first
generation computers. Printers, secondary storage and operating
system technology were also invented during this era. However,
these computers still relied on punched card and printout for carrying
out their input/output operations. Another major technological
development made to these computers was the replacement of the
machine language with the assembly language. Assembly language is
a low-level language that allows the programmer to use simple English Fig. 1.6 A transistor
words—called mnemonics—to represent different instructions in a
program. Some examples of second generation computers are PDP-8, IBM 1401 and IBM 7090.
The following are the advantages of second generation computers:
∑ They were the fastest computing devices of their time.
∑ They were easy to program because of the use of assembly language.
∑ They could be transferred from one place to other very easily because they were small and light
weight computing devices.
∑ They required very less power in carrying out their operations.
∑ They were more reliable as compared to first generation computers and hence, did not require
maintenance at regular intervals of time.
The following are the limitations of first generation computers:
∑ The input and output media for these computers were not improved to a considerable extent.
∑ They were required to be placed in air-conditioned places.
Understanding the Computer 9

∑ The cost of these computers was very high and they were beyond the reach of home users.
∑ They were special-purpose computers and could execute only specific applications.

1.3.3 Third Generation Computers


The third generation computers were employed during the period 1964–1975. The major characteristic
feature of third generation computer systems was the use of Integrated Circuits (ICs). The IC technology
was also known as microelectronics technology. ICs are the circuits that combine various electronic
components, such as transistors, resistors, capacitors, etc. onto a single small silicon chip. The first IC was
developed by Jack Kilby and Robert Noyce in the year 1958. Figure 1.7 shows a typical IC chip used for
manufacturing third generation computers.
ICs were superior to vacuum tubes and transistors
in terms of cost and performance. The cost of ICs
was very low and the performance was very high
because all the electronic components were arranged
very close to each other. They also required very low
power for performing their operations. Therefore,
the use of ICs in third generation computers made
them smaller, faster, more efficient and more reliable
than the first and second generation of computers.
Some examples of third generation computers are
NCR 395, B6500, IBM 370, PDP 11 and CDC
7600.
The following are the merits of the third
generation computers:
∑ They were the fastest computing devices as
compared with first and second generation of Fig. 1.7 An integrated circuit
computers. The computational time for these
computers was also reduced to great extent. The computational time for these computers was usually
measured in nanoseconds.
∑ They were very productive because of their small computational time.
∑ They were easily transportable from one place to another because of their small size.
∑ They used high-level languages. A high-level language is a computer programming language that
is independent of the machine details. Hence, the programmer finds it very easy to use them and the
programs written in these languages on one computer can be easily executed on some other computer.
∑ They could be installed very easily and required less space for their installation.
∑ They were able to execute any type of application, such as business and scientific applications. Hence,
the third generation computers were also considered as general-purpose computers.
∑ They were more reliable and required less frequent maintenance schedules.
Some of the disadvantages of third generation computers are:
∑ The storage capacity of these computers was still very small.
∑ The performance of these computers degraded while executing large applications, involving complex
computations because of the small storage capacity.
∑ The cost of these computers was very high.
∑ They were still required to be placed in air-conditioned places.
10 Fundamentals of Computers

1.3.4 Fourth Generation Computers


The fourth generation computers were employed during 1975–1989. The invention of Large Scale
Integration (LSI) technology and Very Large Scale Integration (VLSI) technology led to the development
of fourth generation computers. However, these computers still used the IC technology to build the basic
circuits. The LSI technology allowed thousands of transistors to be fitted onto one small silicon chip.
On the other hand, the VLSI technology allowed hundreds of thousands of transistors to be fitted onto a
single chip. As a result, the manufacturers were able to reduce the size of the computers and made them
cheaper as compared to the other generation of computers.
The progress in LSI and VLSI technologies led to the development of microprocessor, which became
the major characteristic feature of the fourth generation computers. A microprocessor incorporates various
components of a computer—such as CPU, memory and Input/Output (I/O) controls—onto a single chip.
The computers in this generation were designed to have a microprocessor, some additional storage chips
and support circuitry. Figure 1.8 shows the Intel P4004 microprocessor chip developed in 1971. Some
popular later microprocessors include Intel 386, Intel 486 and Pentium.
The term Personal Computer (PC) became
known to the people during this era. The term PC
refers to a computer that is designed to be used
by an individual. Since the size and cost of the
computer was decreased to a considerable extent in
this period, people started using these computers for
their personal work too. The storage technologies
used in the fourth generation computers were also
improved and they started using static and dynamic
Random Access Memory (RAM). The advantage of
using this type of memory was that it allowed the
computers to access the stored information at a rapid
pace and hence helped in increasing the productivity
and performance of the computers. Some of the
examples of fourth generation computers are IBM
PC, IBM PC/AT, Apple and CRAY-1. Fig. 1.8 The Intel P4004 microprocessor chip
The use of LSI and VLSI technologies made the
fourth generation computers small, cheap, compact and powerful. Apart from these technologies, the fourth
generation also include the following developments:
∑ Development of Graphical User Interfaces (GUIs)
∑ Development of new operating systems
∑ Invention of various secondary storage and I/O devices
∑ Development of Local Area Network (LAN)
Some of the advantages of fourth generation computers are as follows:
∑ The use of LSI, VLSI and semiconductor technologies made these computers very powerful in terms
of their processing speed and access time.
∑ The storage capacity of these computers was very large and faster and hence they were very
productive and highly optimised.
∑ They were highly reliable and required very less maintenance.
∑ They provided a user-friendly environment while working because of the development of GUIs and
interactive I/O devices.
Understanding the Computer 11

∑ The programs written on these computers were highly portable because of the use of high-level
languages.
∑ They were very versatile and suitable for every type of applications.
∑ They required very less power to operate.
Some of the problems associated with fourth generation computers are as follows:
∑ The soldering of LSI and VLSI chips on the wiring board was not an easy task and required
complicated technologies to bind these chips on the wiring board.
∑ The working of these computers is still dependent on the instructions given by the programmer.

1.3.5 Fifth Generation Computers


The different types of modern digital computers come under the categories of fifth generation computers.
The fifth generation computers are based on the Ultra Large Scale Integration (ULSI) technology that allows
almost ten million electronic components to be fabricated on one small chip. The ULSI technology helps in
increasing the power and speed of the microprocessor chips and the capacity of primary and secondary
storage devices to a great extent. As a result, the fifth generation computers are faster, cheaper and more
efficient, as compared to the fourth generation computers. Some of the improvements or developments
made during this generation of computers are as follows:
∑ Development of various portable computers such as laptop, pocket computer, Personal Digital
Assistant (PDA), etc.
∑ Development of Parallel Processors.
∑ Development of centralised computers called servers.
∑ Invention of optical disk technology.
∑ Invention of the Internet and its different services.
Some of the advantages of fifth generation computers are as follows:
∑ They are the fastest and powerful computers till date.
∑ They are able to execute a large number of applications at the same time and that too at a very high
speed.
∑ The use of ULSI technology helps in decreasing the size of these computers to a large extent. Some
of the fifth generation computers are so small in size that they can be used while traveling.
∑ The users of these computers find it very comfortable to use them because of the several additional
multimedia features.
∑ They are versatile for communications and resource sharing.
The fifth generation computers are really enjoyed by their users because of the several advantages offered
by them. However, the major disadvantage of the fifth generation computers is that they are not provided
with an intelligent program that could guide them in performing different operations. Nowadays, scientists
are making some serious efforts in this field and artificial intelligence and expert system applications are the
results of these efforts.
Figure 1.9 shows a tree of computer family that illustrates the area-wise developments during the last
four decades and their contributions to the various generations of computers.

1.4 CLASSIFICATION OF COMPUTERS

There are different types of computers available these days. The function of each type of computer is to
process the data and provide some output to the users. However, the methods or techniques used by these
12 Fundamentals of Computers

Fig. 1.9 Tree of computer family


Understanding the Computer 13

computers to process and handle the data may be different. We can classify the computers according to the
following three criteria:
1. Based on operating principles
2. Based on applications
3. Based on size and capability

1.4.1 Based on Operating Principles


On the basis of operations performed and methods used to store and process the data and information,
computers can be classified into the following categories:
∑ Analog computers
∑ Digital computers
∑ Hybrid computers
Analog computers The analog computers represent data in the form of continuous electrical signals
having a specific magnitude. These computers are very fast in their operation and allow several other
operations to be carried out at the same time. However, the results produced by these computers are not
very accurate. Therefore, the analog computers are widely used in applications in which the accuracy of
results is not a major concern. They are powerful tools to solve differential equations.
The electronic circuit employed in modern analog computers is generally an Operational Amplifier
(Op-Amp). It is made up of semiconductor integrated circuits. The three different characteristic features of
Op-Amps are as follows:
∑ They have large voltage gain. The voltage gain of an amplifier is defined as the ratio of the output
voltage to the input voltage.
∑ They have infinite input resistance. The input resistance is defined as the ratio of change in the input
voltage to the change in input current.
∑ They have zero output resistance. The output resistance is the nominal resistance measured with no
load.
Figure 1.10 shows the basic circuit used in analog
computers.
In Fig. 1.10, the triangle represents an amplifier that
is used to invert the incoming signal. If the incoming
signal is a positive signal, then it will be inverted into
a negative output signal. Similarly, if the incoming
signal is a negative signal, then it will be inverted into
a positive output signal. Rf and Rin are used to represent
the feedback resistor and the input resistor respectively. Fig. 1.10 Integrated circuit of an operational amplifier

Digital computers The digital computer, also


known as the digital information processing system, is a type of computer that stores and processes data
in the digital form. Therefore, each type of data is usually stored in these computers in terms of 0s and 1s.
The output produced by these computers is also in the digital form. The digital computers are also capable
of processing the analog data. However, the analog data should be first converted to the digital form, before
being processed by these computers. Similarly, if we want the output in the analog form, then the digital
information produced by these computers should be first converted to an analog form. These conversions
are generally carried out by the in-built components of digital computers.
14 Fundamentals of Computers

Digital computers are generally faster and more reliable than the analog computer systems and provide
more accurate results. The computer used by a home user is a typical example of digital computer. The
digital computers are also employed in colleges, universities and small and medium sized businesses.
The different hardware components of a digital computer are an Arithmetic-Logic Unit (ALU), a
Control Unit (CU), a memory unit and I/O units. The ALU of a digital computer is used to perform various
arithmetic operations, such as addition, subtraction, multiplication and division and various logic operations
such as AND, OR, NOT, etc. CU helps in directing the operations of ALU. The memory unit is used to store
the data on temporary or permanent basis. The input units are used to enter the data into the computer and
the output units is used to display the information generated by the computer to the user.
Hybrid computers The hybrid computer is a combination of analog computer and digital computer
because it encompasses the best features of both these computers. Therefore, the hardware components of
hybrid computers are usually the mixture of analog and digital components. These features make the hybrid
computers very fast, efficient and reliable. In these computers, data is generally measured and processed in
the form of electrical signals and is stored with the help of digital components. However, these computers
can also be used to perform various types of logical operations.
The input accepted by the hybrid computers is a continuously varying input signal. This input signal is
then converted by them into a set of discrete values for performing different operations. These computers
prove to be very cost-effective in performing complex simulations. The hybrid computers are also less
expensive than the digital computers.
The computer used in hospitals to measure the heartbeat of the patient is a very good example of a
hybrid computer. Apart from this, the hybrid computers are also used in scientific applications, various
engineering fields and in controlling business processes.

1.4.2 Based on Applications


Different computers are designed for different purposes so that they can perform their tasks according to
their capabilities. On the basis of different applications or purposes, computers can be classified into the
following categories:
∑ General purpose computers
∑ Special purpose computers
General purpose computers They are designed in such a manner that they can work in all
environments. The general purpose computers are versatile and can store a number of programs meant for
performing distinct tasks. However, the general purpose computers are not efficient and consume a large
amount of time in generating the result.
Special purpose computers They are designed in such a manner that they can perform only a
specified task. The special purpose computers are not versatile and their speed and memory size depend on
the task that is to be performed. These computers are less expensive as they do not contain any redundant
information. The special purpose computers are efficient and consume less amount of time in generating the
result.

1.4.3 Based on Size and Capability


Computers differ from each other in terms of their shape, size and weights. Each type of computer performs
some unique functions and can be employed in the fields suited for them. These computers also differ in
terms of processing speed. Some of them are of moderate speed, whereas some others operate at a very fast
speed. On the basis of size and capability, computers can be classified into the following categories:
Understanding the Computer 15

∑ Microcomputers
∑ Mini computers
∑ Mainframe computers
∑ Super computers
Microcomputers A microcomputer is a small and cheap digital computer that is designed to be used
by individuals. It is built around a microprocessor, a storage unit and an I/O channel. Apart from these
components, the other parts that a microcomputer includes are power supply, connecting cables, keyboard,
mouse, printer and scanner. These computers also include several software programs such as operating
system, system software and utility software. The micro computers are generally available in the form of
PCs, workstations and notebook computers. Figure 1.11 shows the block diagram of a microcomputer.

Fig. 1.11 The block diagram of a microcomputer

Microprocessor It is the heart of the microcomputer. It incorporates all the functions of a CPU onto
a single IC in a microcomputer. The basic units of microprocessor are ALU, register unit and CU. ALU
is used to perform various arithmetic and logic operations. The register unit is used to store the data
and instructions temporarily needed by the ALU. The various registers used by a microcomputer are
Accumulator (AC), program control register, I/O register, instruction register, Memory Address Register
(MAR) and Memory Buffer Register (MBR). CU is used to manage and direct the operations performed by
the microcomputer.
Memory It is used to store the data and instructions on temporary or permanent basis. A microcomputer
generally employs two types of memories, i.e., primary memory and secondary memory. Primary memory,
also called main memory, is used to store the data and instructions temporarily. It stores only those
instructions and data that are needed by the microprocessor of the computer for processing. The secondary
memory, also called auxiliary memory, is used to store the data and instructions permanently. Magnetic
disks and magnetic tapes are some of the examples of secondary storage.
Peripheral devices They are generally the input and output devices attached to the computer. The
various input devices—such as keyboard and mouse—are used to enter program and data into the computer
16 Fundamentals of Computers

before performing any kind of operation. They are used to transfer data and instructions from the external
environment into the computer. The various output devices—such as monitor and printer—are used to
display the results computed by the computer to the user. The major function performed by the output
devices is to convert the binary result computed by the computer into a form that can be easily understood
by the users.
System bus It is also referred to as the frontside bus, memory bus, local bus or host bus. The system
bus in the micro computer is used to connect microprocessor, memory and peripheral devices into a
single unit. The system bus is a collective name given to address, data and control bus. The address bus
is a unidirectional bus that is used to identify a peripheral device or a memory location. The data bus is
a bidirectional bus that is used to transfer data among microprocessor, memory and peripheral devices of
the computer. The control bus is used by the microprocessor to send control signals to the various devices
within the computer.
Depending on the size, the microcomputer can be further classified into the following types:
Desktop computer It is also known as PC. The desktop computer systems are designed to be used
by an individual at a single location. The typical components of a desktop computer are keyboard, mouse,
monitor, hard disk storage, peripheral devices and a system unit. These computers are very cheap and an
individual can easily purchase them for home or business use. The different manufacturers of desktop
computers are Apple, IBM, Dell and Hewlett-Packard (HP).
Laptop computer It is a portable computer that can be taken from one place to another at any time
very easily. It is also known as notebook computer, notepad or mobile computer. The laptop computer is a
small size computer that incorporates all the features of a typical desktop computer. These computers are
provided with a rechargeable battery that removes the need of continuous external power supply. However,
these computer systems are more expensive than desktop computers. The different manufacturers of laptop
computers are Acer, Apple, Panasonic, Sony and HP.
Hand-held computer It is also known as Personal Digital Assistant (PDA), converged device, palmtop
or mobile device. The hand-held computer is a very small size computer that can be kept in pocket. It
generally has a very small display screen and the input device for these computers is a pen or an electronic
stylus. The storage capacity of hand-held computers is not very large. They generally use small cards to
store data and programs instead of disk drives. Therefore, they are less powerful as compared to the desktop
and laptop computers. The different examples of hand-held computers are Apple Newton, Casio Cassiopeia,
Franklin eBookMan, etc.
Mini computers A mini computer was first introduced in the year 1960 by Digital Equipment
Corporation (DEC). They were called mini computers because of their smaller size than the other computers
of those times. They can handle more data and more input and output than micro computers. Mini computers
are less powerful than mainframe computers but more powerful than micro computers. Therefore, they are
also referred to as the midrange computers. They are able to cater to the needs of multiple users at a single
instant of time. The number of users supported by mini computers may range between 4 and 200. These
computers are generally designed for small and medium sized business environments.
Mini computers are generally used in business environments as the centralized computer or the network
server. After implementing the mini computer as the network server, hundreds of desktop computers
can be connected to it. Mini computers can also be used as the web servers that can handle thousands of
transactions in a day. These computers are less expensive than mainframe computers and hence suitable for
Understanding the Computer 17

those organizations that cannot afford high priced servers. The different examples of mini computers are
PDP 11, IBM (8000 series), VAX 7500, etc.
Mainframe computers A mainframe computer is a very large computer that is employed by large
business organisations for handling major applications, such as financial transaction processing, Enterprise
Resource Planning (ERP), industry and consumer statistics, and census. They are capable of handling almost
millions of records in a day. The mainframe computers can also be used as the centralised computers with
several user terminals connected to it. The mainframe computers are actually considered as the predecessor
of servers. These computers are bigger and more expensive than other computers. The implementation of
mainframe computers also requires large space with a closely monitored humidity and temperature levels.
These computers are termed as mainframe because all the hardware units are arranged into a frame. The
different manufacturers of mainframe computers are IBM, Amdahl, Hitachi, etc. Examples of mainframe
computers are IBM 3000, VAX 8000 and CDC 6600.
The mainframe computers can maintain large databases that can be accessed by remote users with a
simple terminal. Therefore, the mainframe computers are also known as super servers or database
servers. The processing speed of these computers is generally optimised by employing more than one
microprocessor to execute millions of instructions per second. The mainframe computers also have large
capacity of primary and secondary storage as compared with other types of computers.
Some of the characteristic features of mainframe computers are as follows:
∑ A typical mainframe computer generally has a maximum of 16 microprocessors. However, some
modern mainframe computers can have more than 16 microprocessors.
∑ The RAM capacity of these computers lies between 128 MB and 8 GB.
∑ They are able to run multiple operating systems, and therefore, termed ‘virtual machines’.
∑ They have different cabinets for primary storage, secondary storage and I/O units.
∑ They can handle huge amount of I/O operations at the same time.
Super computers A super computer is the fastest type of computer that can perform complex
operations at a very high speed. The super computers were first presented in the year 1960 by Seymour Cray
at Control Data Corporation (CDC). They are more expensive than the other categories of computers and
are specially designed for the applications in which large number of complex calculations have to be carried
out to get the desired output. The main reason behind the fast speed of super computers is that they are
designed only to execute small number of programs at a time rather than many programs simultaneously.
Some of the manufacturers of super computers are IBM, Silicon Graphics, Fujitsu, Intel, etc. Examples of
Super Computers are CRAY 3, Cyber 205, NEC SX-3 and PARAM from India.
The various application areas of super computers are as follows:
∑ Weather forecasting
∑ Animated graphics
∑ Fluid mechanics
∑ Nuclear energy research
∑ Petroleum exploration
Super computers are manufactured with no special hardware. Like the typical computer, they have CPU
and memory as their major components. However, the CPU of super computer operates at faster speed, as
compared to the other categories of computers. Super computers are the fastest computers because they
employ thousands of processors, hundreds of gigabytes of RAM and thousands of gigabytes of secondary
storage.
18 Fundamentals of Computers

The designers of super computers use two different methods for optimising their performance. These
methods are pipelining and parallelism. Pipelining is a technique that allows the microprocessors to execute
the second instruction before the execution of the first instruction is completed, whereas parallelism allows
the microprocessors to execute several instructions at the same time. In this type of computing, a large and
complex problem is first divided into smaller problems, that are solved concurrently by the microprocessor
of the computer.

1.5 COMPUTING CONCEPTS

We can understand how a computer


functions by analysing the fundamental
computing concepts. The most
elementary computing concepts include
receiving input—known as data—
from the user, manipulating the input
according to the given set of instructions
and delivering the output—known as
information—to the user. Figure 1.12
shows the functioning of a computer
based on these concepts.
The various functions performed Fig. 1.12 The Input-Process-Output Cycle of a computer
by the computer are briefly described
below:
Accepting the raw data The first task to be performed by a computer is to accept the data from the
user, with the help of an input device, such as mouse and keyboard. Mouse is used to enter the data through
point-and-click operation while keyboard is used to enter the character data by typing the various keys. We
need to enter the data into the computer so as to obtain the required result as output.
Processing the data The data is processed with the help of specific instructions known as programs
after taking the input from the user. The manipulation of data is handled by the CPU of the computer. CPU
is considered as the brain of the computer because it controls the execution of various instructions. The raw
data entered by the user through input devices is processed by the CPU to generate meaningful information.
Storing the data The data is stored in the main memory of a computer in its processed form. The
various external storage devices—such as hard disk and magnetic disk—can also be used for storing the
processed data so that it can again be fetched later.
Delivering the output The processed data is delivered as useful information to the user with the help
of output devices, such as printer and monitor.

1.6 THE COMPUTER SYSTEM

A Computer System, small or big, in order to carry out its functions successfully, must essentially include
the following four sub-systems:
∑ Hardware
Understanding the Computer 19

∑ Software
∑ Data
∑ People

1.6.1 Hardware
The physical devices that make up the computer are called Hardware. The hardware units are responsible
for entering, storing and processing the given data and then displaying the output to the users. The basic
hardware units of a general purpose computer are keyboard, mouse, memory, CPU, monitor and printer.
Among these hardware units, keyboard and mouse are used to input data into the computer, memory is
used to store the entered data, CPU is used to process the entered data and monitor and printer are used to
display the processed data to the users.
CPU is the main component inside the computer that is responsible for performing various operations
and also for managing the input and output devices. It includes two components for its functioning,
Arithmetic Logic Unit (ALU) and Control Unit (CU). ALU is used to perform the arithmetic operations,
such as addition, subtraction, etc. and logic operations, such as AND, OR, etc. on the data obtained from
the memory. CU is used to control the activities related to the input and output devices. It obtains the
instructions from the memory, decodes them and then, executes them, so as to deliver output to the users.

1.6.2 Software
The term software refers to a set of programs and instructions that help the computers in carrying out their
processing. Software is very necessary for the proper functioning of a computer. There are mainly two types
of software, viz. Application Software and System Software:
Application software The programs, which are designed to perform a specific task for the user,
are known as application software. Application software is also referred as end-user programs because
its functions are used by the user for obtaining the desired results. Word processor, database programs,
presentation programs and spreadsheets are the examples of application software.
System software The programs, which are designed to control the different operations of the computer,
are known as system software. It mainly manages the activities of the computer hardware and interacts with
the application software to perform a particular task. Operating systems, compilers, assemblers, interpreters
and device drivers are the examples of system software.

1.6.3 Data
Data refer to the raw facts and pieces of information that is usually entered into the computer system by
the user, so as to generate the desired output. The data are presented in the form understandable by the
computer system and the result is delivered in the form understandable by the users. In a computer system,
data are manipulated by the program consisting of different instructions. Depending on the requirement,
data can be presented in two forms, viz. Quantitative and Qualititative.
Qualitative data The data, which are represented in words or text form, are known as qualitative data.
This type of data can also include images, videos and audios used for the graphical presentation.
Quantitative data The data, which are represented in numerical form, are known as quantitative data.
This type of data include different numbers and symbols used for representing a particular quantity.
The data entered by a user into the computer system can be in the form of numbers, text or images. The
data—stored in the memory of the computer system—is in the form of bits and bytes. A bit is defined as the
smallest unit of information used in the computer system and a byte equals to a group of eight bits.
20 Fundamentals of Computers

1.6.4 People
Computer systems are designed by the people, for the people. People, therefore, include the people who
design and build hardware and software (known as systems people) and the people who actually use
computer systems for their applications (known as users).
Systems people include hardware engineers, software engineers, programmers, etc. Users might include
a variety of people working in different areas of applications, such as education, business, entertainment,
training, etc. Users may use the available standard software or develop their own software depending upon
their requirements.

1.7 APPLICATIONS OF COMPUTERS

Today, computers are used in almost every sphere of life. The users from different locations can easily and
quickly communicate with each other with the help of computers. The use of computers has reduced the
paper work to a large extent. Thus, computers have become a basic need to perform various tasks in our
day-to-day life. Some common applications of computers are discussed below.
Education Computers are used in schools and colleges to teach students in a better and easy way. The
students can get more information about a specific topic or subject using the Internet. Computers help in
easy learning by creating presentations on a specific topic. Today, students can fill their application forms
and give their exams online that facilitates distance education. Computer-based learning and web-based
learning are very popular amongst students.
Business Computers are used in different types of business to store a large amount of information in
the form of databases. Using computers, business meetings can be held between people sitting at remote
locations through web conferencing. Buyers and sellers can conduct business online through the use of
computers and Internet.
Communication Computers that are connected with each other can be used to transfer data to and
from other computers. In order to establish communication between two users, Internet is one of the most
common mediums. E-mail is a popular system through which a user can send/receive text messages,
graphic messages and file attachments.
Science Computers are used by various scientists for the purpose of research and development. They
generally make use of computer for research and analysis of new theories. With the help of computers,
scientists are moving towards the possibility of predicting natural disasters, such as earthquake and
tsunami.
Engineering Computers are used by the engineers for the creation of complex drawings and designs
while working in different fields, like automobiles and construction. Engineers use computers extensively
for numerical computing.
Entertainment Computers are used in the entertainment industry for creating graphics and animations.
There are various free as well as proprietary graphics softwares available for creating graphics and
animations.
Banking Nowadays, computers are being increasingly used for online banking. Through online banking,
the users or customers can transfer and receive money by using computers and Internet. Some banks also
provide the facility of online bill payment through their websites.
C HA PTE R 2
COMPUTER ORGANISATION
AND ARCHITECTURE

Chapter Outline Chapter Objectives


2.1 Introduction In this chapter, we will learn:
2.2 Central Processing Unit ∑ The role of Central Processing Unit (CPU)
2.2.1 Arithmetic Unit in a computer system.
2.2.2 Logic Unit ∑ The working of various components of CPU.
2.2.3 Control Unit ∑ The concept of processor communication
with memory and I/O devices.
2.2.4 Main Memory Unit ∑ The concept of machine cycle for
2.2.5 Cache Memory executing an instruction.
2.2.6 Registers ∑ Different types of bus, used in a computer
2.3 Internal Communications system, and their purposes.
2.3.1 Processor to Memory ∑ Types of instructions set implemented in a
Communication computer system.
2.3.2 Processor to I/O Devices
Communication
2.1 INTRODUCTION
2.4 Machine Cycle
2.4.1 Instruction Cycle
Computer organisation and computer architecture
2.4.2 Execution Cycle are two different but related, important concepts
2.5 The Bus that are required to describe a computer system.
2.5.1 Data Bus Computer architecture refers to the definition
2.5.2 Address Bus of basic attributes of hardware components
2.6 Instruction Set and their interconnections, in order to achieve
certain specified goals in terms of functions and
2.6.1 Complex Instruction Set
performance. The attributes may include, for
2.6.2 Reduced Instruction Set example the instruction set, data representation, I/O
Chapter Summary mechanisms, etc. The architecture basically defines
Key Terms to Remember the logical structure of a computer system.
Review Questions Computer organisation refers to the design and
Fill in the Blanks physical arrangement of various hardware units
to work in tandem, in an orderly manner, in order
Multiple Choice Questions
to achieve the goals specified in the architecture.
Discussion Questions For a given architecture, there could be many
Computer Organisation and Architecture 27

different models, each representing a different type of organisation, depending on the cost, physical size
and technology used.
In this chapter, we shall discuss in detail the functioning of the central processor of a computer system,
how the processor communicates with the memory and input/output devices, and the instruction sets used
in the design of processors.

2.2 CENTRAL PROCESSING UNIT

The function of any computer system revolves around a central component known as central processing
unit (CPU). The CPU, which is popularly referred to as the “brain” of the computer, is responsible for
processing the data inside the computer system. It is also responsible for controlling all other components of
the system. Figure 2.1 shows a typical block diagram of the computer system, illustrating the arrangement
of CPU with the input and output units as well as the memory of the computer system.

Fig. 2.1 The block diagram of a computer system

The main operations of the CPU include four phases:


∑ Fetching instructions from the memory.
∑ Decoding the instructions to decide what operations to be preformed.
∑ Executing the instructions.
∑ Storing the results back in the memory.
This four-phase process is known as the CPU cycle, which is illustrated in Fig. 2.2.
As shown in the Fig. 2.1, the central processing unit consists of the following subsystems:
∑ Arithmetic Unit (AU)
∑ Logic Unit (LU)
∑ Control Unit (CU)
28 Fundamentals of Computers

The CPU makes use of the following memory subsystems for carrying out its processing operations:
∑ Main Memory Unit
∑ Cache Memory
∑ Registers

Fig. 2.2 The CPU cycle

2.2.1 Arithmetic Unit


Arithmetic Unit (AU) is a part of the CPU that performs arithmetic operations on the data. The arithmetic
operations can be addition, subtraction, multiplication or division. The multiplication and division
operations are usually implemented by the AU as the repetitive process of addition and subtraction
operations respectively. Some CPUs contain separate AUs for integer or fixed-point operations (integers)
and real or floating-point operations (real/decimal). AU takes the input in the form of an instruction that
contains an opcode, operands and the format code. The opcode specifies the operation to be performed
and the operands specify the data on which operation is to be performed. The format code suggests the
format of the operands, such as fixed-point or floating-point. The output of AU contains the result of the
operation and the status of the result, whether it is final or not. The output is stored in a storage register by
the AU. Register is a small storage area inside the CPU from where data is retrieved faster than any other
storage area.

2.2.2 Logic Unit


Logic Unit (LU) is a part of the CPU that performs logical operations on the data. It performs 16
different types of logical operations. The various logical operations include greater than (>), less than (<),
equal to (=), not equal to (≠), shift left, shift right, etc. LU makes use of various logic gates, such as AND,
OR, NOR, etc for performing the logical operations on the data.
Computer Organisation and Architecture 29

2.2.3 Control Unit


Control Unit (CU) is an important component of CPU that controls the flow of data and information.
It maintains the sequence of operations being performed by the CPU. It fetches an instruction from the
storage area, decodes the instruction and transmits the corresponding signals to the AU or LU and the
storage registers. CU guides the AU and LU about the operations that are to be performed and also suggests
the I/O devices to which the data is to be communicated. CU uses a program counter register for retrieving
the next instruction that is to be executed. It also uses a status register for handling conditions such as overflow
of data.

2.2.4 Main Memory Unit


The main memory is referred to as the internal memory or primary memory of the computer. It is also
known as Random Access Memory (RAM). It is a temporary storage medium that holds the data only
for a short period of time. Once the computer is switched off, the data stored in the RAM gets erased.
The memory space of RAM is limited and therefore all the files and instructions cannot be stored in it.
These files and instructions are normally stored in a different location known as secondary storage and are
copied from there to the RAM before execution. This technique is referred as swapping. The memory space
available in RAM also affects the speed of a computer system. If the memory space is more, more number
of instructions can be copied and executed at the same time. As a result, the computer system need not read
the data from the secondary storage again and again, thus making the processing faster. The main memory
is also responsible for holding intermediate data transferred between CPU and the I/O devices.

2.2.5 Cache Memory


Cache memory is a small, fast and expensive memory that stores the copies
of data that needs to be accessed frequently from the main memory. The
processor, before reading data from or writing data to the main memory,
checks for the same data in the cache memory. If it finds the data in the
cache memory the processor reads the data from or writes the data to the
cache itself because its access time is much faster than the main memory.
The cache memory is always placed between CPU and the main memory of
the computer system, as shown in Fig. 2.3.
Figure 2.3 shows that the transfer of data between the processor and
the cache memory is bidirectional. The availability of data in the cache is
known as cache hit. The capability of a cache memory is measured on the
basis of cache hit.
There are usually two types of cache memory found in the computer
system:
Fig. 2.3 The cache memory
∑ Primary cache It is also known as Level 1 (L1) cache or internal
cache. The primary cache is located inside the CPU. It is smaller but
fastest type of cache that provides a quick access to the frequently accessed data by the microprocessor.
∑ Secondary cache It is also known as Level 2 (L2) cache or external cache. The secondary cache
is located outside the CPU. It is normally positioned on the motherboard of a computer. The secondary
cache is larger but slower than the primary cache.
30 Fundamentals of Computers

2.2.6 Registers
Central processing unit contains a few special purpose, temporary storage units known as registers.
They are high-speed memory locations used for holding instructions, data and intermediate results that
are currently being processed. A processor can have different types of registers to hold different types of
information. They include, among others:
∑ Program Counter (PC) to keep track of the next instruction to be executed.
∑ Instruction Register (IR) to hold instructions to be decoded by the control unit.
∑ Memory Address Register (MAR) to hold the address of the next location in the memory to be
accessed.
∑ Memory Buffer Register (MBR) for storing data received from or sent to CPU.
∑ Memory Data Register (MDR) for storing operands and data.
∑ Accumulator (ACC) for storing the results produced by arithmetic and logic units.
Many computers employ additional registers for implementing various other requirements. The number
and sizes of registers therefore vary from processor to processor. An effective implementation of registers
can increase considerably the speed of the processor.

2.3 INTERNAL COMMUNICATIONS

CPU of the computer system communicates with the memory and the I/O devices in order to transfer
data between them. However, the method of communication of the CPU with memory and I/O devices
is different. The CPU may communicate with the memory either directly or through the cache memory.
However, the communication between the CPU and I/O devices is usually implemented with the help of
interfaces. Therefore, the internal communication of a processor in the computer system can be divided into
two major categories:
∑ Processor to memory communication
∑ Processor to I/O devices communication

2.3.1 Processor to Memory Communication


The direct communication between the processor and memory of the computer system is implemented
with the help of two registers, Memory Address Register (MAR) and Memory Buffer Register (MBR).
Figure 2.4 shows the communication between the processor and the memory of the computer system.

Fig. 2.4 Processor to memory communication

The processor can interact with the memory of the computer system for reading data from the memory
as well as for writing data on to the memory. The MAR and MBR registers play a very important role in
Computer Organisation and Architecture 31

implementing this type of communication. These registers are the special-purpose registers of the processor.
MAR is used by the processor to keep track of the memory location where it needs to perform the reading
or writing operation. This register actually holds the address of the memory location. On the other hand, the
Memory Data Register (MDR) is used by the processor to store the data that needs to be transferred from/to
the memory of the computer system. The reading and writing operations performed by the processor are
called memory read and memory write operations.
Figure 2.5 illustrates the memory read operation performed by the processor of the computer system.
The processor performs the following steps to read the data from the desired memory location:

Fig. 2.5 Illustrating the memory read operation

1. First, the processor loads the address of the memory location from where data is to be read into the
MAR register, using the address bus.
2. After loading the address of the memory location, the processor issues the READ control signal
through the control bus. The control bus is used to carry the commands issued by the processor, and
the status signals are generated by the various devices in response to these commands.
3. After receiving the READ control signal, the memory loads the data into the MDR register from the
location specified in the MAR register, using the data bus.
4. Finally, the data is transferred to the processor.
The memory write operation helps the processor to write the data at the desired memory location.
Figure 2.6 illustrates the memory write operation performed by the processor of the computer system.

Fig. 2.6 Illustrating memory write operation

The processor performs the following steps for writing the data at the desired memory location in the
computer system:
32 Fundamentals of Computers

1. First, the processor loads the address of the memory location where data is to be written in the MAR
register, using the address bus.
2. After loading the address of the memory location, the processor loads the desired data in the MDR
register, using the data bus.
3. After this, the processor issues the WRITE control signal to the memory, using the control bus.
4. Finally, the memory stores the data loaded in the MDR register at the desired memory location.

2.3.2 Processor to I/O Devices Communication


The communication between I/O devices and processor of the computer system is implemented using an
interface unit. In a computer system, data is transferred from an input device to the processor and from
the processor to an output device. Each input and output device in the computer system is provided with
a controller, called device controller. The device controller is used to manage the working of various
peripheral devices. The processor actually communicates with the device controllers of the various I/O
devices for performing the I/O operations.
Figure 2.7 illustrates how the communication between the processor and the I/O devices of the computer
system is implemented. The interface unit acts as an intermediary between the processor and the device
controllers of various peripheral devices in the computer system. The basic function of the interface unit is
to accept the control commands from the processor and interpret the commands so that they can be easily
understood by the device controllers for carrying out necessary operations. Therefore, we can say that
the interface unit is responsible for controlling the input and output operations between the processor and
the I/O devices. The interface unit contains data register and status register. The data register is used to
store the data to be transferred, either to the processor or to an output device. The status register is used
to indicate the status of the data register, i.e., whether it is currently holding the data or not. If the data
register is holding the data to be transferred, the flag bit of the status register is set to one. The processor
to I/O devices communication involves two important operations, i.e., I/O read and I/O write. The I/O read
operation helps the processor to read the data from an input device.

Fig. 2.7 Illustrating the communication process between the processor and I/O devices

Figure 2.8 illustrates how the data is transferred from an input device to the processor of the computer
system. The steps performed while transferring the data from an input device to the processor are:
1. The data to be transferred is placed on the data bus by the input device, which transfers single byte of
data at a time.
Computer Organisation and Architecture 33

2. The input device then issues the data valid signal through the device control bus to the data register,
indicating that the data is available on the data bus.
3. When the data register of the interface unit accepts the data, it issues a data accepted signal through
the device control bus as an acknowledgement to the input device, indicating that the data has been
received. The input device then disables the data valid signal.
4. As the data register now holds the data, the F or the flag bit of the status register is set to 1.
5. The processor now issues an I/O read signal to the data register in the interface unit.
6. The data register then places the data on the data bus connected to the processor of the computer
system. After receiving the data, the processor sends an appropriate acknowledgement signal to the
input device, indicating that the data has been received.

Fig. 2.8 Illustrating the I/O read operation

The I/O write operation helps the processor to write the data to an output device. Figure 2.9 illustrates
how the data is transferred from the processor to an output device. The steps performed while transferring
the data from the processor to the output device are:

Fig. 2.9 Illustrating I/O write operation

1. The processor places the data that needs to be transferred on the data bus connected to the data
register of the interface unit.
2. The CPU also places the address of the output device on the device address bus.
3. After placing the address and data on the appropriate buses, CPU issues the I/O write signal, which
writes the data on the data register. The flag bit in the interface unit is set to 1, indicating that the data
register now holds the data.
34 Fundamentals of Computers

4. The data register of the interface unit issues a data accepted signal through the control bus to the
processor, indicating that the data has been received.
5. The interface unit then places the data stored in the data register on to the data bus connected to the
device controller of the output device.
6. The output device then receives the data and sends an acknowledgement signal to the processor of the
computer system through the interface unit, indicating that the desired data has been received.

2.4 MACHINE CYCLE

The cycle during which a machine language instruction is executed by the processor of the computer system
is known as machine cycle. If a program consists of 10 machine language instructions, 10 separate machine
cycles would be executed for running the program. Figure 2.10 shows the typical machine cycle performed
by the CPU of a computer system. As shown, the machine cycle contains four phases, namely, fetching,
decoding, executing and storing.

Fig. 2.10 Illustrating the process of machine cycle

The four phases of the machine cycle are usually grouped into two categories:
∑ Instruction cycle
∑ Execution cycle

2.4.1 Instruction Cycle


Instruction cycle includes the first two phases, fetching and decoding.
∑ Fetching In this phase, the CPU retrieves the instruction from the main memory of the computer
system. The address of the instruction that needs to be executed is sent to the CPU through the address
Computer Organisation and Architecture 35

bus. The address of the instruction is then stored by the CPU in its internal register known as Program
Counter (PC). After the address of the instruction is confirmed by the CPU, the actual instruction is
retrieved by the CPU form the main memory and stored in the Instruction Register (IR).
∑ Decoding This phase of instruction cycle is responsible for breaking down the instruction into
different parts, so that it can be easily understood before being processed by the CPU. The instruction
is usually decoded by the instruction decoder, which is a vital component of the CPU. The decoding
of an instruction is also known as interpreting. The instructions are interpreted to determine two key
attributes of an instruction, the opcode and the operands. The opcode specifies the operation to be
performed and the operands specify the data on which the operation is to be performed. The data is
transferred to the Data Register (DR).

2.4.2 Execution Cycle


Execution cycle includes two phases, executing and storing. The execution cycle executes the instruction
and stores the result back to the main memory or sends it to the output device of the computer system.
∑ Executing In this phase, the decoded instruction is executed by the ALU of the CPU. The execution
time spent by the ALU for executing an instruction may vary, depending on the type of the instruction.
The execution time also depends on the processor architecture.
∑ Storing In this phase, the result computed in the execution phase is either sent to the memory or to
an output device of the computer system. The PC of the CPU is also updated in this phase to point to
the next instruction that is to be executed.
After the execution cycle is completed, the next machine cycle begins.

2.5 THE BUS

A bus is a set of wires that is used to connect the


different internal components of the computer
system for the purpose of transferring data as well
addresses amongst them. There may be several
buses in a computer system. A bus can either be
a serial bus or a parallel bus. In serial bus, only
one bit of data is transferred at a time amongst
the various hardware components. On the other
hand, in parallel bus, several bits of data can be
transferred at a time amongst the various hardware
components. The speed of any type of bus is
measured in terms of the number of bits transferred
per second, between two components.
Figure 2.11 shows a bus system used in a
computer system. The figure depicts the two
different types of buses according to the type of
operations performed by them. These buses are
data bus and the address bus. Apart from data
and address bus, a third type of bus—known as Fig. 2.11 Data and address buses
36 Fundamentals of Computers

control bus—also exists in the computer system. The control bus manages the transfer of data and addresses
among various components by transferring appropriate control signals.

2.5.1 Data Bus


As the name suggests, the data bus in a computer
system is used to transfer data amongst the
different internal components. The speed of the
data bus also affects the overall processing power
of a computer system. Modern computer systems
use 32-bit data buses for data transfer. This means
that these buses are capable of transferring 32 bits
of data at a time. Figure 2.12 shows the data bus
implemented between the main memory and the
processor of a computer system.
The figure shows that a bidirectional data bus Fig. 2.12 The data bus
is implemented between the main memory and
the processor of the computer system. The bidirectional data bus allows the transfer of data in both the
directions. The data bus is generally bidirectional in nature in most computer systems.

2.5.2 Address Bus


The address bus is also known as memory bus. It
transfers the memory addresses for read and write
memory operations. It contains a number of address
lines that determine the range of memory addresses that
can be referenced using the address bus. For example, a
32-bit address bus can be used to reference 232 memory
locations. Like data bus, the address bus can also be a
serial or a parallel bus. Figure 2.13 shows the address
bus, used for transferring memory locations between Fig. 2.13 An address bus
processor and memory.
The figure shows that the address bus between the main memory and the processor of a computer system
is unidirectional. However, an address bus may also be bidirectional. For example, the address bus between
the processor and the I/O system is bidirectional.

2.6 INSTRUCTION SET

An instruction set can be defined as a group of instructions that a processor can execute to perform different
operations. On the basis of complexity and the number of instructions used, the instruction set can be
classified as:
∑ Complex instruction set
∑ Reduced instruction set

2.6.1 Complex Instruction Set


The complex instruction set refers to the set of instructions that includes very complex and large number
of instructions. The number of instructions in this set varies from 100 to 250. The instructions in this set
Computer Organisation and Architecture 37

are mostly memory-based instructions, which involve frequent references to the memory. The complex
instruction set makes use of a large number of addressing modes because of the frequent references
to registers as well as memory. The instructions in this instruction set have variable length instruction
format, which is not limited to only 32-bits. The execution of the instructions takes a lot of time because
the instructions are memory-based and accessing the memory is a time consuming process as compared to
accessing the registers.
The computer, which makes use of complex instruction set, is called Complex Instruction Set Computer
(CISC). The instruction set of CISC has a large number of instructions and for each instruction type, the
computer requires a separate circuitry, which makes the CPU design more complicated.
Some of the advantages of CISC are as follows:
∑ There is no need to invent an instruction set for each new design. A new processor can use the
instruction set of its predecessor.
∑ A program written in CISC requires less memory space, as the code is confined to less number of
instructions.
∑ CISC makes the job of a compiler easier by facilitating the implementation of high-level language
constructs.
Some of the disadvantages of a CISC are as follows:
∑ The inheritance of old instructions into new processors increases the complexity.
∑ Many CISC instructions are not frequently used.
∑ CISC commands are translated into a large number of lines of microcode, which makes the CPU
processing slower.
∑ CISC systems have a complex hardware, so they require more time for designing.
2.6.2 Reduced Instruction Set
The reduced instruction set refers to a set of instructions that contains very few instructions ranging from
0 to 100. It comprises of only those instructions, that are frequently used by the processor for the execution
of a program. These instructions are generally very simple to execute. The instructions used in this set are
mostly register-based, which means that the execution of the instruction involves frequent references to the
registers. The memory-based instructions, which involve frequent references to the memory locations, are
very few in this instruction set. The memory-based instructions include only load and store instructions.
The instructions in this instruction set have fixed length instruction format of 32 bits. An instruction format
divides the bits of instruction into small groups called fields. Generally, an instruction has the following fields:
∑ Opcode field. It represents the operation to be performed by the instruction.
∑ Operand field. It represents the data on which the operation is to be performed, or the memory
location or register where the data is stored.
∑ Mode field. It represents the method of fetching the operands stored at specified memory location or
registers.
The computer, which makes use of reduced instruction set, is called Reduced Instruction Set Computer
(RISC). As the instruction set of RISC has very few instructions, the design of hardware circuitry becomes
easier and also the speed of processing increases. The speed of RISC processors is measured in MIPS
(Millions of Instructions Per Second).
The comparison of RISC and CISC processors indicates that the RISC processors are always preferred
over the CISC processors because of their compact size and small instruction set. The other advantages of
the RISC processors over the CISC processors are as follows:
∑ In RISC processors, the instructions are executed by decoding, whereas in CISC processors, the
instructions are executed by first translating them into equivalent microcode instructions. The
38 Fundamentals of Computers

conversion of instructions into microcode consumes a lot of space in the memory, thereby reducing
the speed of execution.
∑ The RISC processors execute instructions in a single clock cycle, while the CISC processors require
multiple clock cycles for the execution of an instruction.
∑ The hardware of the RISC processors is very simple and can be designed easily, as compared to the
hardware of the CISC processors that is very complex, difficult to design and large in size.
The only disadvantage of RISC, in comparison to CISC, is that the number of instructions required to
perform an operation is comparatively large.

Chapter Summary
Computer organisation and architecture refers to the study of different functional components of the computer
system and the manner in which these components interact with each other to perform a specific operation. The
central and main component of a computer system is the CPU. CPU is the only component in the computer system
that is responsible for carrying out different operations. The major internal components of CPU are AU, LU, and
CU. The two major components of a computer system that communicate with the CPU to perform an operation
are main memory unit and cache memory. AU is responsible for performing arithmetic operations while LU is
responsible for performing logical operations. CU controls the functioning of the CPU.
The CPU also interacts with the memory unit for reading and writing the data in the computer system. Generally,
the communication between the memory and the CPU is direct. However, a computer system can also be provided
with a cache memory to speed up the process of CPU to memory communication. CPU can also interact with the
I/O devices through an interface unit to perform various input and output operations.
An instruction is executed by the CPU in two different phases, known as instruction cycle and execution cycle.
During the instruction cycle, the CPU fetches the instruction from the memory and decodes it. The execution
cycle executes the instruction and stores the result back to the main memory or sends it to the output device of the
computer system.

Key Terms to Remember

∑ Computer architecture: It refers to the definition of basic attributes of hardware components and their
interconnections, in order to achieve certain specified goals in terms of functions and performance.
∑ Computer organisation: It refers to the design and physical arrangement of various hardware units to work in
tandem, in an orderly manner, in order to achieve the goals specified in the architecture.
∑ CPU: It is referred to as the brain of the computer and is responsible for processing the data inside the computer
system.
∑ AU: It is a part of the CPU that performs arithmetic operations on the data.
∑ LU: It is a part of the CPU that performs logical operations on the data.
∑ CU: It is an important component of CPU that controls the flow of data and information.
∑ Opcode: It specifies the operation to be performed on data.
∑ Operand: It is the data on which the operation is to be performed.
∑ Main memory: It is referred to as the internal memory or primary memory of the computer and is a temporary
storage medium that holds the data only for a short period of time.
∑ Cache memory: It is a small, fast and expensive memory that stores the copies of the data that needs to be
accessed frequently from the main memory.
C HA PTE R 3
MEMORY AND STORAGE SYSTEMS

Chapter Outline Chapter Objectives


3.1 Introduction In this chapter, we will learn:
3.2 Memory Representation ∑ The concept of memory and its
3.3 Random Access Memory representation.
3.3.1 Static RAM ∑ How data is stored in Random Access
3.3.2 Dynamic RAM Memory (RAM) and the various types of
3.4 Read Only Memory RAM.
3.4.1 Programmable ROM ∑ How data is stored in Read Only Memory
3.4.2 Erasable PROM (ROM) and the various types of ROM.
3.4.3 Electrically Erasable PROM ∑ The concept of storage systems and the
3.4.4 Flash ROM various types of storage systems.
3.5 Storage Systems ∑ The criteria for evaluating storage
3.6 Magnetic Storage Systems systems.
3.6.1 Magnetic Tapes
3.6.2 Magnetic Disks
3.7 Optical Storage Systems 3.1 INTRODUCTION
3.7.1 Read only Optical Disks
3.7.2 Write Once, Read Many Disks Computers are used not only for processing of data
3.8 Magneto Optical Systems for immediate use, but also for storing of large
3.8.1 Principle used in Recording Data volume of data for future use. In order to meet
3.8.2 Architecture of Magneto Optical Disks these two specific requirements, computers use two
3.9 Solid-State Storage Devices types of storage locations—one, for storing the data
3.9.1 Structure of SSD that are being currently handled by the CPU and the
3.9.2 Advantages of SSD other, for storing the results and the data for future
3.9.3 Disadvantages of SSD use. The storage location where the data are held
3.10 Storage Evaluation Criteria temporarily is referred to as the primary memory
Chapter Summary while the storage location where the programs
Key Terms to Remember and data are stored permanently for future use is
Review Questions referred to as the secondary memory. The primary
Fill in the Blanks memory is generally known as “memory” and the
secondary memory as “storage”.
Multiple Choice Questions
The data and instructions stored in the primary
Discussion Questions memory can be directly accessed by the CPU
44 Fundamentals of Computers

using the data and address buses. However, the information stored in the secondary memory is not directly
accessible to CPU. Firstly, the information has to be transferred to the primary memory using I/O channels
and then, to the CPU.
Computers also use a third type of storage location known as the internal process memory. This memory
is placed either inside the CPU or near the CPU (connected through special fast bus). Figure 3.1 illustrates
all the three categories of computer memory and their relative speed, storage capacity and cost.

Fig. 3.1 Memory categories

Primary memory (also known as main memory) includes two types, namely, Random Access Memory (RAM)
and Read Only Memory (ROM). The data stored in RAM are lost when the power is switched off and
therefore, it is known as volatile memory. However, the data stored in ROM stay permanently even after the
power is switched off and therefore ROM is a non-volatile memory.
Secondary memory (also known as auxiliary memory) includes primarily magnetic disks and magnetic
tapes. These storage devices have much larger storage capacity than the primary memory. Information
stored on such devices remains permanent (until we remove it).
Internal process memory usually includes cache memory and registers both of which store data
temporarily and are accessible directly by the CPU. This memory is placed inside or near the CPU for the
fast access of data.
We have discussed briefly cache memory and various registers used in Chapter 2. In this chapter, we
shall discuss the various types of memory units, RAM and ROM and their functions. We shall also discuss
the classification of storage devices such as magnetic disks, magnetic tapes and optical disks and their
functions.

3.2 MEMORY REPRESENTATION

As we discussed earlier, data being worked on is stored in the computer memory. In the memory, values
are represented by sequences of binary digits, known as bits. Most computers use a group of eight bits,
Memory and Storage Systems 45

known as a byte, to represent a character. How does the computer know what any particular sequence of
bits represents? We can think of memory as a “bunch” of bytes or cells into which we can place data. Each
cell, known as a data item, is assigned a unique number known as address (which is like the index in an
array). The CPU can identify each cell by its address as shown in Fig. 3.2.

Fig. 3.2 Memory representation

The byte is defined as the “smallest addressable unit” of memory. Most computers use groups of bytes,
usually 2 or 4, known as “words” to represent information.
Computer memories are often rated in terms of their capacity to store information. Typically, capacities
are described using the unit of byte as follows:
1 KB (Kilobyte) = 1,024 bytes
1 MB (Megabyte) = 1,048,576 bytes
1 GB (Gigabyte) = 1,073,741,824 bytes
1 TB (Terabyte) = 1,099,511,627,776 bytes
46 Fundamentals of Computers

3.3 RANDOM ACCESS MEMORY

Random Access Memory (RAM) is a volatile memory and loses all its data when the power is switched
off. It is the main memory of the computer system that stores the data temporarily and allows the data to be
accessed in any order. As compared to the secondary storage, the data can be accessed at a faster speed in
RAM because it is the internal memory of the computer. Figure 3.3 shows RAM with ICs.

Fig. 3.3 Random access memory with ICs


RAM is made up of different ICs, which are mounted on a printed circuit board. RAM stores the
application programs and the data on which the user is currently working so that the processor can easily
access the required application program and data in a less amount of time. RAM is also known as read/write
memory because it can perform both read as well as write operations. The speed of RAM is faster than the
other memory devices, such as hard disk, floppy disk, etc.
The programs, which are being currently executed by the computer system, are stored in RAM. RAM
is volatile and, therefore, the programs and the data stored in the RAM get lost when the power supply is
switched off. The storage capacity of RAM is usually less than the secondary storage devices.
RAM can be categorised into two main types, namely, Static RAM (SRAM) and Dynamic RAM (DRAM),
which can be further divided into various types for storing data. Figure 3.4 shows the hierarchy of RAM memory.

Fig. 3.4 Types of random access memory


Memory and Storage Systems 47

3.3.1 Static RAM


Static RAM (SRAM) is a type of
RAM in which data is stored till the
power of the computer system is
switched on. SRAM uses a number
of transistors to store a single bit of
digital information. Figure 3.5 shows
the organisation of data in a cell of
SRAM.
In the figure, b1 and b2 represent
the two bit lines and Wx represents
the word line. In the memory, the
data is stored in the form of a two-
dimensional array, containing rows Fig. 3.5 Organisation of data in a cell of static random access memory
and columns. The row can be accessed
globally by a line (known as word line) and the column can be accessed individually by a line (known as
bit line). Depending on the function performed by SRAM, it can be divided into the following three types:
∑ Asynchronous SRAM (ASRAM) ASRAM performs its operations without the use of system
clock. It makes use of three signals for working, namely, Chip Select (CS), Write Enable (WE) and
Output Enable (OE). The CS signal enables the processor to select the memory for performing read
and write operations. If the value of CS signal equals zero, then the memory is enabled to perform the
operations. On the other hand, if the value of the CS signal equals one, then the memory is disabled
and operations—such as reading and writing in ASRAM—cannot be performed. The signal WE makes
the decisions related to data, i.e., whether it should be read from or write to the memory. If the value
of WE signal equals zero, then no data can be read from or written to the memory. The signal OE is
an active low signal that enables the processor to give the output for the data. If the value of OE signal
equals zero, then only it will output the data.
∑ Burst SRAM (BSRAM) BSRAM works in association with the system clock and is also known as
synchronous SRAM. BSRAM is most commonly used with high-speed applications because the read
and write cycles are synchronised with the clock cycles of the processor. The access-waiting time gets
reduced after the read and write cycles are synchronised with the clock cycles. The speed and the cost
of BSRAM increases or decreases simultaneously.
∑ Pipeline Burst SRAM (PBSRAM) PBSRAM makes use of the pipeline technology in which a
large amount of data is broken up in the form of different packets containing data. These packets are
arranged in a sequential manner in the pipeline and are sent to the memory simultaneously. PBSRAM
can handle a large amount of data at a very high speed. It is the fastest type of SRAM because it can
operate at bus rates as high as 66 MHz.

3.3.2 Dynamic RAM


DRAM is the RAM in which data is stored in a storage cell, consisting of a transistor and a capacitor.
Unlike SRAM, the DRAM needs to be continuously refreshed with power supply because the capacitor has
the tendency to get discharged. DRAM retains the data for a very short span of time, even after the power
supply is switched off. Figure 3.6 shows the organisation of data in a cell of DRAM.
48 Fundamentals of Computers

Fig. 3.6 Organisation of data in a cell of dynamic random access memory

In Fig. 3.6, b1 represents a bit line and Wx represents a word line. The DRAM can be divided into the
following types:
∑ Synchronous DRAM (SDRAM) SDRAM performs its operations in the synchronous mode, i.e.,
in association with the clock cycle of the processor bus. It consists of two internal memory banks
such that if the address lines are sent from the first bank, then the address can be read by using the
second bank. The internal banks are used because the row and the column address lines need to be
charged for reading an address. SDRAM provides a synchronous interface in which it waits for a clock
signal before responding to a control input. Generally, it is used with the processors for storing the
data in a continuous manner. The continuous form of data storage helps in processing more number of
instructions per unit time that increases the speed of data access.
∑ Rambus DRAM (RDRAM) RDRAM designed by Rambus Inc. works at a faster speed, as
compared to SDRRAM. It is compact in size and uses 16-bit address bus. It provides the facility to
transfer data at a maximum speed of 800 MHz. It contains multiple address and data lines that help in
increasing the speed of data access. These multiple address and data lines help in performing different
read and write operations simultaneously. It is not popular among the users because of its high cost and
low compatibility.
∑ Extended Data Out DRAM (EDODRAM) EDODRAM can access more than one bit of data at
one time which helps in achieving faster data access rates. It provides the facility to perform various
operations at one time such as reading, writing, etc. It starts accepting the next bit of data immediately
after getting the first bit of data for performing read or write operation.
∑ Fast Page Mode DRAM (FPMDRAM) FPMDRAM makes use of paging in which read or write
operation is performed by selecting the address of the data from the rows and the columns of a matrix.
Once the data is read, the address of the particular column is incremented, so that the user can read the
next part of the data. The use of paging concept in FPDRAM does not allow to work with the buses at
the memory speed more than 66 MHz. As a result, a lot of time is consumed in reading and writing the
data from the matrix.
Memory and Storage Systems 49

3.4 READ ONLY MEMORY

ROM is the memory that stores the data permanently, i.e., it can retain the data even when the power of
the computer system is switched off. The data can be easily read from this type of memory but cannot be
changed. ROM is most commonly used in devices such as calculators, laser printers, etc.
ROM does not allow the random access of data rather it allows sequential access of data. It is less
expensive as compared to RAM and other storage devices, such as magnetic disk, etc. ROM is divided into
four types, which are as follows:
∑ Programmable ROM (PROM)
∑ Erasable PROM (EPROM)
∑ Electrically Erasable PROM (EEPROM)
∑ Flash ROM

3.4.1 Programmable ROM


Programmable ROM (PROM) is a memory chip on which the write operation of data can be performed
only once. The data is stored on this chip permanently, i.e., once a program is written on the PROM, it
cannot be erased or destroyed. To write the data on the PROM chip, a device known as PROM programmer
or PROM burner is required. The method of writing data on the chip is known as burning the PROM.
PROM is reliable and stores the data permanently without making any change in it. It is mostly used in
video games and electronic dictionaries.

3.4.2 Erasable PROM


Erasable PROM (EPROM) is a type of ROM in which data can be erased or destroyed using Ultraviolet
Light (UL). Erasable ROM provides the facility of changing the contents of the data, i.e., it can be
reprogrammed. It contains the floating gate transistors, which have the capability to hold an electric charge,
even when the power of the computer system is switched off. It also facilitates the storage of data for a
longer period of time.

3.4.3 Electrically Erasable PROM


Electrically Erasable PROM (EEPROM) is a type of ROM in which data can be erased or destroyed by
exposing it to an electric charge. It has the ability to retain the data stored in it, even if the power of the
computer system is switched off. It stores the data permanently but allows us to make changes in the data
by erasing it with the help of electric charges. In this type of memory, the data can be written or erased only
one byte at a time because of which it works very slowly.

3.4.4 Flash ROM


Flash ROM is a type of EEPROM that stores the information using floating-gate transistors, which can store
electric charge for a longer period of time as compared to the normal transistors. This memory is mainly
used in the memory cards of mobile phones, digital cameras and ipods for storing data. The data stored in
flash ROM memory can be easily transferred using transmission mediums such as data cable, bluetooth and
infrared technology. For example, we can transfer the data stored in flash ROM memory of mobile phone to
the memory of a computer using data cable. We can easily erase the data stored in flash ROM memory and
reprogram this type of memory. Flash ROM has faster speed of reading data, as compared to any other type
of ROM. It uses continuous memory cells for storing data.
50 Fundamentals of Computers

The memory cells of flash ROM are made up of floating-gate transistors. A Single-level Cell (SLC) can
store only one bit of data, whereas Multi-level Cell (MLC) provides the facility of storing more than one
byte. The two types of flash ROM memory are as follows:
∑ NAND flash In NAND flash or NAND gate flash memory, each cell behaves like a Metal Oxide
Semiconductor Field Effect Transistor (MOSFET), which has two gates for amplifying an electric
signal.
∑ NOR flash NOR gate flash or NOR flash memory provides the facility to write data or information,
with the help of tunnel injection. It can be defined as the process of inserting electrons to an electric
conductor using a layer of electric insulator. It also provides the facility to erase the instructions using
tunnel release.

3.5 STORAGE SYSTEMS

Storage systems are the devices—such as hard disks, optical disks and magnetic disks—used for data
storage. The main objective of the storage system is to permanently store data—which can be of any type, such
as images, videos and text—for future use. The storage systems provide the facility to use the data at any time.
Different storage systems have varying storage capacities. For example, the normal storage capacity of
Compact Disk (CD) is 700 Megabytes (MB). The storage systems can be classified as shown in Fig. 3.7.

Fig. 3.7 Classification of storage systems

3.6 MAGNETIC STORAGE SYSTEMS

Magnetic storage systems can be defined as the storage systems that store the data on a magnetised medium,
with the help of magnetised particles. Magnetic tapes, magnetic disks, hard disks, floppy disks are examples
of magnetic storage systems. The magnetic storage systems are non-volatile and provide the facility to store
any type of data, such as text, audio, video, image, etc. In case of magnetic storage systems, data can be
accessed randomly as well as sequentially. For example, we can access data sequentially from a magnetic
Memory and Storage Systems 51

tape and randomly from a magnetic disk. When data is accessed sequentially, the access time is directly
proportional to the searching point. In other words, if the searching point is near, then the access time is
less, and if the searching point is far, then the access time is more. On the other hand, when data is accessed
randomly, the access time is less.

3.6.1 Magnetic Tapes


Magnetic tapes are the plastic tapes with magnetic coating that are used for storing the data, such as text,
audio or video. Magnetic tapes are similar to the normal recording tapes, which are used for audio and
video recording. The data stored on the magnetic tapes can be accessed using the sequential access method.
The magnetic tape could be compared with a cassette in which, in order to listen to the third song, we have
to go pass the first two songs first. Similarly, in the magnetic tape, we cannot directly jump over to the third
song. Therefore, magnetic tapes are used in the cases where a large amount of data needs to be stored, but
performance is not a major issue. Magnetic tapes are best suited as the backup devices for storing a large
amount of the data. Figure 3.8 shows a magnetic tape.

Fig. 3.8 Magnetic tape

A magnetic tape usually consists of a tape of 1/2 or 1/4 inch wide, 600 to 3,000 feet long and is
wound on a spool in the form of a cartridge or a reel. A metal foil, called marker, is used to determine
the Beginning of Tape (BOT). When a write command is given, a block of data is written on the tape.
The next block is then written after a gap called Inter Block Gap (IBG). One block may contain one or
more records that are again separated by blank spaces known as Inter Record Gaps (IRG). A series of
blocks are written in this manner and the end-of-tape is described by the marker known as End of Tape
(EOT). After the data is written, the tape is rewound and kept ready for reading. The data is stored in
the form of tiny magnetised segments. A magnetised portion refers to the binary digit ‘1’ while the
non-magnetised portion refers to ‘0’.
Labelling can be done on a magnetic tape in order to retrieve any particular information when required.
Magnetic tape is easy to store and is less prone to damage as compared to the other storage devices, such as
hard disk, floppy disk, etc.
Generally 1/2 inch magnetic tape, consisting of either seven or nine tracks, is used for storing data.
These tracks are mainly decided by the read/write heads of the tape unit that helps in reading or writing the
data from or to the magnetic tape.
In magnetic tapes, the data is stored in the form of records and a set of different records is known as
file. The data of any size can be recorded on a magnetic tape but the length and the storage capacity of
the magnetic tape should be considered before storing the data. The speed of the magnetic tape should be
52 Fundamentals of Computers

predetermined for reading and writing data. When the magnetic tape moves at high speed, slows down or
stops, the data cannot be read or written to the tape.
Major advantages of magnetic tapes are:
∑ Low cost
∑ Large storage capacity
∑ Easily transportable
∑ Easy to handle and store
Major disadvantages of using magnetic tapes are:
∑ Low data transmission speed due to sequential access.
∑ Not suitable for random access.
∑ Require protected environment for storage.
∑ Updating, such as insertion or deletion is difficult.
∑ Fast wear-out.

3.6.2 Magnetic Disks


Magnetic disk is a flat disk that is covered with magnetic coating for holding information. It is a type
of secondary memory device that is used to store different programs and files. It is used to store digital
information in the form of small and magnetised needles. These needles help in encoding a single bit of
information by getting polarized in one direction represented by 1, and opposite direction represented by 0.
Magnetic disk can store a large amount of data and is less expensive as compared to RAM. As it takes
more time to read the information from a specified location, its data access rate is slow compared to the
main memory. It allows the random access of data and provides the facility of erasing and re-recording the
data as many times as required. Figure 3.9 shows a magnetic disk with sectors and tracks.

Fig. 3.9 Magnetic disk surface

Tracks are the concentric circles on the magnetic disk, having a common centre and containing a
block of recorded data. The thickness between two tracks affects the storage capacity of a magnetic disk.
If the thickness between the two tracks is less, then the magnetic disk can store a large amount of data. On
the other hand, if the thickness between the two tracks is more then less amount of data can be stored in the
Memory and Storage Systems 53

magnetic disk. The data is stored in a magnetic disk in the form of tiny dots on the tracks, which are known
as spots. The size of these spots should be small, in order to hold large amount of data and information.
The broken-up units of tracks are known as sectors. The data stored on the sectors is in the form of very
small unit, which can be read or written. The size of a sector in a magnetic disk is 512 bytes.
There are two popular types of magnetic disks:
∑ Hard disks
∑ Floppy disks
A hard disk, also known as a fixed disk, can hold a large volume of data and is used with large
computers. A floppy disk, a removable disk with relatively less storage capacity, is commonly used with
personal computers.
Major advantages of magnetic disks are:
∑ High storage capacity
∑ Easy, direct access to data
∑ Easily moveable from one place to another
∑ Better data transfer rate as compared to magnetic tapes
∑ Low cost compared to RAM
∑ Less prone to corruption of data as compared to tapes
The disadvantages of magnetic disks are:
∑ More expensive as compared to magnetic tapes.
∑ When used on-line, they are more susceptible to data corruption and data theft.
∑ Not ideally suitable, when the data files are to be read sequentially.
∑ Require dust-free environment.

3.7 OPTICAL STORAGE SYSTEMS

The optical storage systems are used for the same purpose as the magnetic storage systems. However, like
magnetic storage systems, the optical storage systems do not employ the magnetism medium to read and
store data. The optical storage systems use the laser light as the optical medium to retrieve as well as record
data. The following are some of the examples of optical storage systems:
∑ Compact Disk—Read Only Memory (CD-ROM)
∑ Digital Video Disc (DVD)
∑ Compact Disc—Recordable (CD- R)
∑ Compact Disc—Rewritable (CD-WR)
∑ Digital Video Disc—Recordable (DVD-R)
∑ Digital Video Disc—Rewritable (DVD-WR)
Note: The DVD disks have much higher storage capacity than the CD disks.
Like other storage systems, the optical storage systems are non-volatile in nature. Also, the optical
storage systems are more reliable as compared to the magnetic storage systems because they are less prone
to mechanical damage. Unlike magnetic storage systems, which are fully read and write-capable storage
devices, the optical storage devices are either read-only or writable. Among the writable optical storage
devices, those devices that can be used for writing data multiple times are termed as rewritable optical
storage devices. Some examples of read-only optical storage devices are CD-ROM and DVD, while some
examples of writable optical storage devices are CD-R, CD-RW and DVD-R.
54 Fundamentals of Computers

The following are some of the significant properties of the optical storage devices:
∑ Storage capacity Storage capacity refers to the amount of data that can be stored in an optical
storage system. It is directly proportional to the spot size and the geometrical dimensions of disk.
∑ Data transfer rate Data transfer rate refers to the speed at which data can be read from the optical
storage system. It depends on the linear density and the rotational speed of the drive.
∑ Access time Access time defines the time taken to access the desired data from the optical storage
systems. It is directly proportional to the weight of head and the rotation speed of the disk.
Major advantages of optical disks are:
∑ Large storage capacity
∑ Longer life span as compared to magnetic disks
∑ Lost cost per bit of storage
∑ Easily portable and stored
The disadvantages of optical disks include:
∑ Low data access speed as compared to magnetic disks.
∑ Drive mechanism is more complicated compared to that of magnetic disks.

3.7.1 Read-only Optical Disks


Read-only optical disk is a storage device that
provides the facility of storing data, such as audio,
video, and text. It stores the data permanently
and allows it to be accessed randomly, whenever
required. Read-only optical disks can store data
in the range of 700 MB. The data is burnt into
the read-only optical disks from a master disk.
The end users can read the data by using a disk
drive. Figure 3.10 shows an optical disk.

3.7.2 Write Once, Read Many Disks


Write Once, Read Many (WORM) disks allow
the end users to write the data onto the disk only
once. The burnt data can later be read as many
number of times. A WORM disk is also called
blank disk, since initially it does not contain any
data. To burn the data onto the WORM disk, a
CD writer device is required. Together with the Fig. 3.10 Optical disk
CD writer device and the appropriate burning
software, data can be written on to the disk. The main objective of WORM optical disk is to store the data
for backup use, i.e. these disks are used for writing the data once and storing it for a long period of time.
WORM disks are much cheaper than the read-only optical disks, which contain the data already burnt by
the manufacturer.
Memory and Storage Systems 55

3.8 MAGNETO OPTICAL SYSTEMS

Magneto Optical (MO) storage systems include the features of both magnetic and optical disks. The main
objective of the MO system is to store the data used in personal computers for a long period of time. It
reads/writes data by making use of laser and optical technologies. It has a ferromagnetic material enclosed
in the plastic coating. The laser beam used for reading data gets reflected due to the magnetic surface of the
disk. The MO system is not popular among the users because its speed is slower and manufacturing cost is
higher than other storage devices. These optical storage systems are available in two standard forms:
∑ 3.5 inch form factor
∑ 5.5 inch form factor

3.8.1 Principle used in Recording Data


The MO systems use Curie temperature for recording data. Curie temperature is the temperature at which
the material loses its magnetic properties and above this temperature the material becomes paramagnetic.
Paramagnetic is the form of magnetism at extreme magnetic field. The Curie temperature of the modern
MO systems is 200°C. The coercivity of a material can be defined as the resistance of the material against
magnetisation. Coercivity decreases at a higher temperature by applying magnetic field and provides the
facility of recording data. When the temperature of a material becomes equal to the room temperature,
its coercivity increases—that helps in preserving the magnetic data. Figure 3.11 shows the principle of
recording data in MO systems.

Fig. 3.11 Principle used in recording data

The basic requirements of a material used for recording in MO system are as follows:
∑ It should have low thermal conductivity that provides the facility to limit lateral heating.
∑ It should have a smooth surface and domain boundaries to decrease the system’s noise.
∑ The coercivity of the material should be high at room temperature.
∑ The melting point of the material should be high enough to provide stability.

3.8.2 Architecture of Magneto Optical Disks


The architecture or the design of MO disks includes various layers of materials, protective coating and laser
beam. The design of the MO disks defines the combination and the uses of anti-reflection layer, quadrilayers
56 Fundamentals of Computers

and amorphous metal. The anti-reflection layers are used to increase the light absorption. The quadrilayers
are used to decrease the reflection of light that provides the facility to decrease the requirement of laser
light. The amorphous metal is used as MO media. Figure 3.12 shows the design features of MO disks.

Fig. 3.12 Architecture of MO disks

3.9 SOLID-STATE STORAGE DEVICES

Solid-state Storage Devices (SSDs) were developed in 1978 by Storage Tek Company. In 1983, the Sharp-
5000 laptop computers developed by Sharp Corporation used SSD of 128 KB storage. In 1995, M-System
developed the SSD on flash based memory.
SSD can be defined as the device that contains all the properties of hard disk drives to store the data and
use solid-state memory, which has no moving parts. These devices do not use magnetic and optical medium
to store data. Rather, these devices use the semiconductor devices. The main objective of these devices is to
process the instructions electronically. SSDs have no mechanical parts due to which access time in case of
SSDs is less. This provides the facility of faster accessing of data as compared to any other storage devices.
The storage capacity of SSD is lower than that of the hard disk. The examples of SSD are flash memory
cards and Universal Serial Bus (USB) devices. These devices are widely used in laptops to store data. They
also prove to be of great use in the critical applications used in defence industry.

3.9.1 Structure of SSD


The structure of SSD basically uses the advantages, such as non volatility, low consumption and
high reliability of DRAM and NAND flash memory. These advantages of DRAM and NAND flash
memory help in creating SSD. The SSD created using the advantages of flash memory is called flash
memory based SSD. On the other hand, the SSD created using advantages of DRAM is called DRAM
based SSD. The flash memory based SSD is slower, as compared to the DRAM volatile memory.
DRAM based SSD provides the facility of accessing the data at a faster speed as compared to hard
drive and flash memory. It secures data using the backup storage system and battery, which allows us
Memory and Storage Systems 57

to save data by copying all the data from the RAM to the backup storage, when the power is switched
off due to any reason. It also works as a buffer memory. Nowadays, in case of power problem,
lithium-iron batteries are being used as back-up.

3.9.2 Advantages of SSD


Solid-state storage devices possess many advantages. They include:
∑ Better performance Performance includes various factors like accessing speed, searching and
spin-up function. SSDs provide random accessing of the stored data and their accessing speed is faster
as compared to the hard drives. The searching process of the required data is faster than the hard disk
drives. Moreover, they do not need any spin-up process to start-up.
∑ Low power and heat SSD provides the facility to decrease the power consumption due to low
storage capacity. They provide the facility to decrease the heat reduction due to low storage capacity,
except for the D-RAM based SSD.
∑ High reliability SSD provides constant and more reliable performance, as compared to hard
disk drives because the seek time, which is the delay associated with the reading or writing data on
computer’s disk drives, is constant in SSDs. They provide the facility of high mechanical reliability, as
they have no moving parts in their construction.
∑ Small dimension SSDs have low weight and small size, as compared to the weight and size of the
hard disk drives. The reason behind the less weight and the small size is the low storage capacity of the
SSD that also facilitates easy transportation.
∑ Small form factor Form factor defines the size and the dimensions of a physical device. SSD
provides small form factor to Ultra Mobile Personal Computers (UMPC) that can be very useful in the
market of Personal Computers (PC) for compact space.

3.9.3 Disadvantages of SSD


Apart from the various advantages, the solid-state storage devices possess some disadvantages too. These
include:
∑ High price The prices of SSD are high as compared to the prices of hard disk drives. Generally, the
price of SSD is 32 times more than the hard disk drives. However, their cost is decreasing these days.
∑ Low capacity The storage capacity of the SSD is lower, as compared to that of hard disk drives.
∑ Low writing speed The writing speed of flash memory based SSD is slower, as compared to the
writing speed of hard disk drives, due to the presence of large erased blocks.
∑ Low storage density Storage density can be defined as data per unit volume. It is low in case of
SSDs as compared to hard disk drives.
∑ Vulnerable SSD are affected by power loss, electrostatic discharge and magnetic fields, whereas
the hard disk drives are not affected by these processes. The data in the SSD can get damaged due to
electrical failures. The recovery of data damaged due to electrical failure is more difficult, as compared
to the data recovery in case of hard disk drives.
58 Fundamentals of Computers

3.10 STORAGE EVALUATON CRITERIA

Before selecting a memory device to store the data, we must evaluate critically the different characteristics
of storage systems. They primarily include:
∑ Access mode Access mode is used for accessing some specific data from the memory. The
different access modes include random access mode, sequential access mode and direct access mode.
In the random access mode, the data can be accessed randomly, i.e., without considering the location
of the required data. On the other hand, in the sequential access mode, the data and the information can
be accessed in a sequential manner, i.e., by specifying the location of the required data. In the direct
access mode, the data can be accessed by using both the random access mode and the sequential access
mode. Cassette player is an example of a device using sequential access mode because data is accessed
from it in a sequential manner only. On the other hand, CD player is an example of a device using
random access mode as well as direct access mode because data can be accessed from it randomly as
well as sequentially.
∑ Access time Access time refers to the time taken by the processor in completing the requests
made by the user for performing the read and write operations. The access time depends on the type of
storage device used and the access mode of the data. The access time of primary memory is faster than
that of the secondary memory.
∑ Storage capacity It refers to the storage space available in the computer system for holding the
data. In other words, storage capacity is defined as the size of the memory available for storing the data
in the system. The storage capacity is measured in terms of bytes and usually a large storage capacity is
desirable for storing the data. The storage capacity of the secondary memory devices is more than the
primary memory devices.
∑ Storage type It refers to the type of memory used to store the data. The storage type includes the
temporary and permanent memory. The temporary memory is also known as the volatile memory,
which is able to store the data only when the power or computer system is switched on. The permanent
memory is also known as the non-volatile memory, which is able to store the data, even when the
power or computer system is turned off.
∑ Cost It refers to the cost of the storage device used in the computer system for holding the data. It is
measured by determining the cost per bit of storage for a given storage capacity.

Chapter Summary
Computer systems use two types of memory, namely primary memory and secondary memory. Primary memory is
used to store data that is used by the CPU during processing. It consists of two types, RAM and ROM. RAM is a
volatile type of memory and stores data temporarily. On the other hand, ROM is a non-volatile memory and holds
data permanently.
Secondary memory includes magnetic disks, magnetic tapes and optical disks. Magnetic disks store data in
concentric circles known as tracks and these tracks are further divided into sectors. Magnetic tapes are used to store
data sequentially. Optical disks use an optical medium to store data and a laser diode to read data.
A hybrid version of magnetic and optical technologies known as magneto-optical disk is also available.
It employs a laser beam to read data and an electromagnetic head to write data. Storage systems developed using
solid-state technology have no mechanical moving parts, thus providing better data access speed.
C HA PTE R 4
INPUT DEVICES

Chapter Outline Chapter Objectives


4.1 Introduction In this chapter, we will learn:
4.2 Keyboard ∑ The input devices used for pointing the
4.3 Pointing Devices objects on the screen, such as mouse,
4.3.1 Mouse trackball and joystick.
4.3.2 Trackball ∑ The process of scanning documents with
4.3.3 Light Pen the help of different scanning devices,
4.3.4 Joystick such as hand-held scanner and flat-bed
4.3.5 Touchscreen scanner.
∑ The various optical recognition devices
4.4 Scanning Devices
that are used for recognising characters in
4.4.1 Hand-held Scanners
different application areas.
4.4.2 Flatbed Scanners ∑ The input devices, such as microphone
4.4.3 Drum Scanners and graphics tablet used in media.
4.4.4 Slide Scanners ∑ The data acquisition sensor, an advanced
4.5 Optical Recognition Devices input device, used for inputting data.
4.5.1 OCR Devices
4.5.2 OMR Devices
4.5.3 MICR Devices 4.1 INTRODUCTION
4.5.4 Bar Code Reader
4.6 Digital Camera Input devices are electromechanical devices that
4.7 Voice Recognition Systems are used to provide data to a computer for storing
4.8 Data Acquisition Sensors and further processing, if necessary. They act as
4.9 Media Input Devices an interface between the computer and the user.
Chapter Summary The basic task of an input device is to take the
Key Terms to Remember input from the user, translate it into the machine-
Review Questions readable form and then present it to the processing
Fill in the Blanks unit of the computer for execution. In effect, the
Multiple Choice Questions input devices provide a means of communication
Discussion Questions between the computer and the outer world.
The input may be in different forms, such as
numeric data, text commands, graphics, video
64 Fundamentals of Computers

and audio. We can provide the input to a computer in two ways, either manually through devices such as
keyboard and mouse, or directly from documents using devices such as scanners. Depending upon the type
or method of input, the input device may belong to one of the following categories:
∑ Keyboard
∑ Pointing devices
∑ Scanning devices
∑ Optical recognition devices
∑ Digital camera
∑ Voice recognition devices
∑ Media input devices
We shall discuss in this chapter briefly the operation and applications of these devices.

4.2 KEYBOARD

Keyboard is the most commonly used input device. We can use a keyboard to type data and text and execute
commands. A standard keyboard, as shown in Fig. 4.1, consists of the following groups of keys:
∑ Alphanumeric keys The alphanumeric keys include the number keys and alphabet keys. These
keys are arranged in the same style as in the normal typewriters, popularly known as QWERTY layout.
∑ Function keys The function keys are arranged in a row on the top of the keyboard. These keys help
perform specific tasks, such as searching a file or refreshing a web page.
∑ Central keys The central keys are used for controlling the movement of cursor and screen display.
These include arrow keys (for moving the cursor) and modifier keys such as SHIFT, ALT and CTRL
(for modifying the input).
∑ Numeric keypad The numeric keypad is located on the right side of the keyboard. This looks like
a calculator’s keypad with its 10 digits and mathematical operators.
∑ Special purpose keys The special purpose keys help perform a certain kind of operation, like
exiting a program or deleting some characters in a document. The various special purpose keys in a
keyboard are Escape, Insert, Delete, Print Screen, Pause, Tab, Spacebar, etc.
A standard keyboard would include about 100 keys. However, many manufacturers add special buttons
to perform some special tasks.

Fig. 4.1 The presently used keyboard


Input Devices 65

Keyboards are attached to the computer system with the help of a cable. Each key of the keyboard, when
pressed, sends a different signal to the processor. However, today wireless keyboards are also available that
work with the help of batteries. We can also classify the keyboards on the basis of additional keys present
in them. For example, multimedia keyboard and gaming keyboard are the keyboards, which are classified
on the basis of the additional keys present in them.

4.3 POINTING DEVICES

Pointing devices are the input devices that are generally used for moving the cursor to a particular location
to point an object on the screen. With the help of pointing devices, we can easily select the icons, menus,
windows, etc on the Graphical User Interface (GUI). Thus, the users can easily interact with a computer
system by means of a pointing device. We can simply change the position of the objects displayed on the
screen by first pointing at the object and then dragging it to the desired position. Some of the commonly
used pointing devices are:
∑ Mouse
∑ Trackball
∑ Light pen
∑ Joystick
∑ Touchscreen

4.3.1 Mouse
Mouse is a small hand-held pointing device that basically controls the two-dimensional movement of
the cursor on the displayed screen. It is an important part of the Graphical User Interface (GUI) based
Operating Systems (OS) as it helps in selecting a portion of the screen and copying and pasting the text.
The mouse, on moving, also moves the pointer appearing on the display device. The most commonly used
types of mouse are as follows:
∑ Mechanical mouse A mechanical mouse consists of three buttons: left button, right button and
scroll button. Inside the plastic coating of the mouse, there is a ball, which is rolled over a flat surface
corresponding to which the cursor moves on the display screen. The left button on the mouse is the
most frequently used button as it helps in selecting the icons, folders and text on the display screen.
The right button on the mouse helps in displaying the short cut menu, whereas the scroll button helps
in moving the cursor up and down on the screen by scrolling it. Figure 4.2 shows the upper and the
lower portion of the mechanical mouse.

(a) The upper portion (b) The lower portion


Fig. 4.2 Mechanical mouse
66 Fundamentals of Computers

∑ Optical mouse An optical mouse is a pointing


input device in which the reflected light determines the
movement of the cursor on the displayed screen. The
upper portion of the optical mouse is similar to that of
the mechanical mouse. The lower portion of the optical
mouse consists of a ball having Light Emitting Diodes
(LEDs), an optical sensor and a Digital Signal Processor
(DSP). Figure 4.3 shows the lower portion of the optical
mouse. Fig. 4.3 The lower portion of the optical mouse

4.3.2 Trackball
Trackball is a pointing device that basically consists of a socket
containing the ball, which can be rolled manually to move the cursor
on the screen. The socket also contains sensors, which detect the
movement of the ball. With the help of the trackball, we can change
the position of the cursor on the screen by simply rotating the ball
with our fingers or thumb. On the basis of size, the trackballs are
classified into two types, small trackball and large trackball. The
small trackballs are commonly used in portable computers, whereas Fig. 4.4 The trackball on the desk
the large trackballs find their use in the desktop computer systems,
which are used for computer-aided designing. One of the most important advantages of the trackball is that
it can be placed on different surfaces, such as desk, mouse pad and even user’s hand. The trackball finds its
use as a game controller in games like Centipede, Golden Tee and Marble Madness. Figure 4.4 shows the
trackball placed on a desk.

4.3.3 Light Pen


Light pen is an electro-optical pointing device
that is used for selecting the objects on the
display screen with the help of a light sensitive
pen. It is generally connected to the Visual
Display Unit (VDU) of the computer system.
The pen contains a light-sensitive diode, which
helps in pointing the objects displayed on the
screen. Using a light pen, we can directly draw
the objects on the screen by holding it in our
hand. When the tip of the light pen is brought
in contact with the screen, the light coming
from the screen causes a pulse to be generated
in the pen which in turn causes the processor
to identify the position pointed to by the pen.
Light pens provide all the capabilities
of a mouse. They do not require any pad or
horizontal surface and therefore, are useful
when desk space is limited. Figure 4.5 shows
the light pen attached to a computer system. Fig. 4.5 The light pen
Input Devices 67

4.3.4 Joystick
Joystick is a pointing device that usually consists of one or more
buttons and a stick, which controls the movement of the cursor
on the screen by pointing in all directions. It continues to point
in a particular direction until and unless it is brought back to the
vertical position. The trigger button, which is used to trigger some
kind of action like firing in game sequence, is made available
on a joystick. The joystick facilitates three types of control:
glide, direct and digital. The glide and the direct control allow
the movement of the joystick in all possible directions, i.e., left,
right, up and bottom. On the other hand, the digital control helps
in the movement of the joystick in limited directions. Earlier,
the joysticks could provide only 2D movements, but now, the
joysticks are capable of providing 3D movements as well. The
joystick is generally used in computer games, CAD systems,
industrial applications, etc. Figure 4.6 shows a joystick.
Fig. 4.6 Joystick
4.3.5 Touchscreen
Touchscreen is a pointing device that enables us to enter data such
as text, pictures and images by directly touching the screen. The
touchscreen is the display monitor with which the user can directly
interact with the computer system by touching the screen. These
devices do not make use of the keyboard and the mouse for inputting
the data in the computer system. The touchscreen is used in a variety
of applications, such as cell phones, ATM’s, PDA’s and games.
Figure 4.7 shows a touchscreen.
There are different types of touchscreen technologies used today.
They include:
Fig. 4.7 Touchscreen
∑ Surface wave technology This technology generally makes
use of ultrasonic waves, which are absorbed when they are passed through the touchscreen panel.
These waves are generally absorbed, when a user touches a point on the touchscreen pad. Then, these
absorbed waves are sent to the controller for further processing. This is greatly affected by elements
such as dust and water.
∑ Capacitive technology This technology makes use of indium tin oxide material, which is coated
on the touchscreen for providing continuous electric charge. In this, the touchscreen is provided with
circuits at each corner. When the user touches the screen, a small amount of charge is absorbed at
this point. This charge is then transferred by the circuits to the controller for further processing. The
touchscreens based on capacitive technology do not get damaged by elements such as dust or liquids.
∑ Resistive technology In this technology, the touchscreen panel generally consists of different
layers, which are coated with very thin electrically conductive metal and separated by some space.
When the user touches the panel at any point, the change in the electric current occurs that is passed
to the controller for further processing. The touchscreens based on resistive technology do not get
damaged by elements like dust or water.
68 Fundamentals of Computers

4.4 SCANNING DEVICES

Scanning devices are the input devices that can electronically capture text and images, and convert them
into computer readable form. The basic task of a scanning device is to convert an image or the textual
data into digital data, i.e., in the form of boxes, where each box represents either zero or one. The resultant
matrix is known as bit map and is displayed on the screen. The scanning devices can be differentiated from
each other on the basis of the following characteristics:
∑ Resolution Resolution is the closeness of the pixels in the bit map. The resolution of scanning
devices can vary from 72 to 600 dots per inch (dpi), depending on the bit depth. Bit depth represents
the number of bits used to represent each pixel of an image or a text.
∑ Size Some scanning devices are very small in size, whereas others are very big. The small sized
scanning device can scan approximately two to five inches of the document, whereas the large sized
scanning device can scan approximately up to forty inches of the document. Therefore, it follows that
the small scanning devices are appropriate for scanning small documents, whereas the large scanning
devices are appropriate for scanning large documents.
∑ Scanning technology Some scanning devices use Charged Coupled Device (CCD) arrays,
whereas others use Photo Multiplier Tubes (PMT) technology. The CCD consists of a series of light
receptors, which are sensitive to the variation in the light frequency. As the frequency of light changes,
these scanning devices detect the change and the output obtained after scanning also gets accordingly
changed. The PMT consists of a photocathode, which is a photosensitive surface used for generating
the electrons. PMT is used for identifying the light emitted by the weak signals.
On the basis of these characteristics, the scanning devices can be categorised as follows:
∑ Hand-held scanners
∑ Flat-bed scanners
∑ Drum scanners
∑ Slide scanners

4.4.1 Hand-held Scanners


Hand-held scanners are the scanning devices that are generally used for
digitising the images into bit map, which is a matrix of 0’s and 1’s.The
size of these scanners is small and the price is relatively less as compared
to the other three types of scanners. These scanners are also known as
half page scanners, as they can scan maximum upto 5 inches at a time.
The hand-held scanners are suitable for scanning small images rather
than the whole page of text or pictures. Figure 4.8 shows a hand-held
scanner.
The hand-held scanning devices are generally used for identifying
the bar-code label of the products. They are divided into two categories,
namely, contact scanning device and non-contact scanning device. The Fig. 4.8 Hand-held scanner
contact scanning device works by moving the tip of a light pen across
the bar-code label to capture the bar-code. The bar-code is a code comprising vertical bars of different
widths that can be read only electronically. The code captured by the scanning device is stored permanently
in the memory. The non-contact scanning device operates by pointing the gun to the bar-code label so as
Input Devices 69

to capture the code. These devices are comparatively more complex, heavier and costlier than the contact
scanning device.

4.4.2 Flatbed Scanners


Flatbed scanners consist of a flat surface composing
of glass pane on which the documents are kept for
scanning. Under this glass pane, there is xenon light
and a CCD, which consists of an array of red, green
and blue filters. The object to be scanned is put upside
down on the glass pane and the cover is lowered.
The light reflected from the document surface helps
in identifying the image or the text present in the
document. The scanning is done from left to right
horizontally, line by line and the procedure is repeated
until all the lines are scanned. Nowadays the flatbed
scanners are widely used in almost every organisation.
Figure 4.9 shows a flat-bed scanner.
The lid of flat-bed scanners is adjustable that
makes the scanning of different objects such as
documents and leaflets possible. The size of these Fig. 4.9 A flat-bed scanner
scanners usually starts from 8.5"×11", which is the
standard letter size. The flat-bed scanners are best suited for slides and photo scanning, as they provide the
optical resolution of 5,500 dots per inch (dpi).

4.4.3 Drum Scanners


Drum scanners generally consist of a large
drum, which is used for scanning the documents.
These scanners make use of the Photo Multiplier
Tubes (PMT) technology, instead of the CCD
technology. The resolution image of these
scanners is very high due to which they are very
expensive. The disadvantage of these scanners is
that they are slow in speed. Figure 4.10 shows a
drum scanner.
The drum scanners can usually scan the
documents having the size up to 8"×10" but there
are few drum scanners that can scan even up to
11"×24". The optical resolution of these scanners
ranges from 8000 dpi to 11000 dpi. These
scanners are suitable for scanning negatives. The
aperture, which is the opening space through Fig. 4.10 Drum scanner
which light can pass and scan the document, is
easily controlled by the drum scanners. In addition, the drum scanners can also control the sample area,
which is the area of the individual pixel scanned by the scanner.
70 Fundamentals of Computers

4.4.4 Slide Scanners


Slide scanners are used for scanning slides as well as film
negatives. The slides are created on a transparent base using
photochemical solution. The film negatives are the inversion of
the positive images. In order to scan the slide, it is put into the
tray, which is meant for scanning the objects. These scanners are
also known as film scanners as they can easily scan the original
image of the film. In the slides taken with this scanner, the
dark areas appear light and the light areas appear dark. These
scanners consist of a stepper motor and a CCD sensor, which
Fig. 4.11 A slide scanner
helps in scanning the film. Figure 4.11 shows a slide scanner.
The slide scanners are capable of scanning up to 35 slides at a time and offer an optical resolution
ranging from 4000 dpi to 4800 dpi. Slide scanners can efficiently scan negatives and black and white films.
With the help of slide scanners, we can very easily scan the photos and send them to our friends via e-mail
and the Internet.

4.5 OPTICAL RECOGNITION DEVICES

Optical recognition devices are used for recognising the characters optically. The optical recognition devices
basically make use of optical scanner for inputting data. Unlike keyboards, the optical recognition devices
do not enter the data by pressing the keys. Therefore, these devices help the user in saving a lot of time as
entering data through a keyboard is a time consuming task. The following are some of the commonly used
optical recognition devices:
∑ OCR devices
∑ OMR devices
∑ MICR devices
∑ Bar code reader

4.5.1 OCR Devices


Optical Character Recognition (OCR) devices scan a particular document by recognising its individual
characters and converting it into the editable form. These devices distinguish the dark area on the document
from the light areas for recognising the characters. The images scanned by the OCR device can be easily
edited and formatted on a computer system. These devices generally consist of the following three
components for the purpose of character recognition:
∑ Image scanner The basic task of the image scanner is to capture the text image, which is to be
recognised optically.
∑ OCR software and hardware The OCR software and hardware processes the text images
captured by the image scanner. In order to scan the document, firstly it is analysed so as to extract the
character images. After analysing, the character images are recognised according to their shapes.
∑ Output interface The output interface helps in establishing communication between the OCR
devices and the outside world.
Input Devices 71

Figure 4.12 illustrates the basic function of an OCR system. The paper document is fed into the optical
scanner for scanning. The optical scanner typically scans the text and converts it into machine readable
form using the OCR software. The document displayed on the user’s computer is in the editable format.
The OCR devices basically make use of photoelectric cells for recording the patterns of the light reflected
by the printed text. These patterns are recognised for the identification of the characters represented by
them. The software program also recognises the character images and converts them into character code
data, if any color change exists in the image. The OCR devices are popularly used in telebanking and in the
processing of credit cards.

Fig. 4.12 Illustrating the basic functioning of an OCR device

4.5.2 OMR Devices


The Optical Mark Recognition (OMR) devices
make use of OMR technology, which helps
in obtaining the data from the marked fields.
These devices prove to be of great use in
recognising characters in question sheets,
enrolment forms, registration forms, employee
payroll, etc. Most popularly, the OMR devices
are used for scanning the documents having
multiple choices as in the question papers used Fig. 4.13 Illustrating the functioning of the OMR device
in schools, colleges, etc. The correct answer is
marked by the student in the boxes with the dark pencil or ink while answering. The OMR device consists
of OMR reader, which is a special device that helps in recognising the marks on the predefined box areas.
The OMR devices do not scan the entire document sheet. Instead, they analyse the darkened area only to
check whether it is marked or not.
Figure 4.13 illustrates the basic use of the OMR device. The document having marked and unmarked
boxes is fed into the OMR device for scanning. The OMR device will scan only the box area and not the
whole document. The OMR device generally scans the documents accurately and quickly. It can scan
maximum 10000 documents per hour.

4.5.3 MICR Devices


Magnetic Ink Character Recognition (MICR) devices are the special devices used for recognising the
characters written with magnetic ink consisting of iron oxide particles. These devices were specially
developed for the banking operations. The details on the bank cheques, such as cheque number, bank and
branch code are written with the magnetic ink. The MICR devices process the cheque, identify the numeric
characters and store the data on the disk. The characters present at the bottom of the cheque are in human
72 Fundamentals of Computers

readable form and can be recognised, even if the cheque has become trampled or dirty. If a copy of the
cheque is made with the help of coloured photocopy scanning machine, then the characters written with the
magnetic ink will simply not respond. This provides an extra level of security in the banks for the protection
of the cheques from illegal copying.
Figure 4.14 illustrates the basic functioning of an MICR device. The bank cheque containing the
magnetic characters is fed into the MICR scanner for processing. The MICR scanner consists of MICR
toner, which produces magnetic charge for reading the MICR line. The MICR scanner scans the cheques at
a faster speed, and thus helps in saving a considerable amount of time while processing the cheques.

Fig. 4.14 Illustrating the basic functioning of the MICR device

4.5.4 Bar Code Reader


Bar code reader is the scanner that usually reads bar code, which is used to label the items in the super
markets, retail stores, books numbering in library, etc. The bar code is the computer readable code
representing vertical lines of different widths. The bar code reader basically consists of a scanner, decoder
and cable. The scanner is used for scanning
the bar code, which is later converted into
numbers or letters using decoder. Finally, the
decoded data is sent to the computer system
via cable for processing.
Figure 4.15 illustrates the basic use of
the bar code reader. The bar code is scanned
with the help of the bar code reader, which
directs the light beam over the bar code. Fig. 4.15 Illustrating the basic functioning of the bar code reader
A part of the beam is reflected back from the
bar code by the sensor. Then, this light energy is converted into electrical energy by the bar code scanner.
Finally, the electrical energy is transformed into data and forwarded to the computer system.

4.6 DIGITAL CAMERA

A digital camera is a handheld electronic device that is used to capture the image of an object electronically.
The digital camera consists of a built-in computer, which helps in recording the images electronically.
Whenever a user initiates the process of capturing an image by pressing the button available on the camera,
Input Devices 73

the image light enters the camera through the lens. This light gets stored on a microchip consisting of an
array of light sensitive sensors. The light sensitive sensors are the charge-coupled devices (CCD) that
consist of a number of light sensitive diodes known as photosites. These diodes convert light into electric
charges called electrons. These charges are in the analog form but are later converted into the digital form
using the analog to digital converter. The following are the main features of the digital camera:
∑ It is capable of capturing and storing thousands of images on a single memory chip.
∑ It is capable of editing as well as deleting the images.
∑ It is capable of recording the video clip with sound.
∑ It is capable of showing the just recorded video clip on the camera screen.
Figure 4.16 shows the front and the rear view of a digital camera.
The digital cameras can be classified into the following types:
∑ Video cameras Video cameras
are the digital cameras that capture an
image by converting it into horizontal
lines and then scanning each line from
top to bottom. The two main types of
video cameras include professional
video cameras and camcorders. The
professional video cameras are used
for recording the moving images and
are mostly used in film studios. On
the other hand, the camcorders are not
only used for capturing images but
Fig. 4.16 The front and the rear view of the digital camera
also help in recording audio. These
video cameras consist of a Liquid Crystal Display (LCD) for displaying the captured picture and the
built-in recorder for recording audio.
∑ Compact digital cameras Compact digital cameras are very small in size, and hence can
easily be carried by a person. These cameras do not contain advanced features for capturing an
image. Therefore, the quality of the picture produced by the compact digital cameras is not as good
as the pictures produced by the other cameras. The images are stored in these cameras in the Joint
Photographic Experts Group (JPEG) format.
∑ Digital single-lens reflex cameras Digital single-lens reflex cameras consist of a mirror
and a pentaprism that are used for capturing the image digitally. The light entering through the lens
is reflected by the mirror attached with the lens. It then passes through the pentaprism to reach the
eyepiece of the camera. These cameras have live preview feature, which helps in previewing the
captured image before taking the final photograph.
∑ Line-scan camera Line-scan camera consists of an array of image sensors. These cameras capture
the image in the form of lines and then scan the image line by line. These cameras capture the images
very quickly and their image resolution is also very high.
The image captured by a digital camera is in the digital format and can be easily downloaded on
a computer system. By using a digital camera, the photographs can be developed in a considerably less
amount of time and that too, at a very low price. The quality of the pictures captured by a digital camera
depends on the resolution factor. The more the resolution of a digital camera, the better is the image quality.
74 Fundamentals of Computers

4.7 VOICE RECOGNITION SYSTEM

The voice recognition devices generally record the voice of a person and transform it into electrical signals.
The electrical signals are then converted into the machine readable code. The voice recognition system only
recognises the voice of the speaking person rather than what he speaks. The following are the two methods,
which are used to identify the voice with the help of voice recognition system:
∑ Template matching This method of voice recognition is speaker dependent, i.e., this method
matches the words spoken by the users to the predefined templates. In this method of voice recognition,
a phrase or a word is spoken by the user into the microphone. This phrase or word is then converted
into the machine readable code by the analog to digital converter (A/D converter). The output of the
A/D converter is compared with the voice templates, which are the digitised entries stored in the
database. This comparison is performed by the voice recognition software. The biggest limitation of
this system is the availability of limited vocabulary that consists of only the words, which have been
used in the training sessions.
∑ Feature analysis This method of voice recognition is speaker independent as it does not match
the speaker’s voice with the predefined templates, rather just processes the voice input by means of
fourier analysis. It is the process of changing the frequency of the voice input. The output of the fourier
analysis is matched with the stored voice input template for finding the featuristic similarities between
the two. The major limitation of the feature analysis method is that it fails to match the accents,
volume, pitch and inflection of different users.
The voice recognition devices are used for various purposes such as dictation, training air-traffic
controllers, etc. These systems allow users to communicate with computers directly without using a
keyboard or mouse. They are ideal for people who are visually impaired.

4.8 DATA ACQUISITION SENSORS

Sensors are the devices that are used for detecting and measuring the physical quantities, such as heat
and temperature and converting them into electrical signals. The sensors are most commonly used in data
acquisition systems. The data acquisition system collects the electrical signals from various devices and
converts them into the digital signals for further assessment.
The data acquisition sensor is one of the most important components of the data acquisition system as
it helps in detecting the electrical properties of different signals such as resistance. The data acquisition
system simply accepts these signals and converts them into the digital format. The computer system, which
is used for communicating with the data acquisition system, helps in gathering the signals. As per the
requirements of the users, the data acquisition system can be constructed as a simple or a complex system.
The data acquisition system is generally portable, battery operated and easy to use.

4.9 MEDIA INPUT DEVICES

The input devices, which are generally used in media for communicating with the mass audiences, are
known as media input devices. The following are the most popularly used media input devices:
∑ Microphone It is an input device that basically converts the sound waves into electrical signals
with the help of sensors. The sound wave pattern is converted into the electrical pattern, which is either
Input Devices 75

in the form of voltage or current. The microphones are also called


transducers as they transform one form of signal into another. The
cable used for connecting the microphones should be less than
10 feet so that it helps in avoiding noise disturbances. A number of
techniques—such as capacitance change, electromagnetic generation,
magnetic change and resistance change—are used for the conversion
of signals. The microphones are used in various applications, such
as radios, tape recorders and telephones. Figure 4.17 shows a
microphone.
∑ Webcam It is an input device that is usually attached to the user’s
computer for recording videos as well as images. It functions like a
video camera and can be used for displaying the images over the
Internet. With the help of a webcam, the users can easily participate
Fig. 4.17 A microphone
in video conferencing, which is the online video communication
between two persons. The quality of the video
taken through the webcam largely depends
upon two factors—frame rate and resolution.
The frame rate is defined as the frequency of
the images captured per second by a webcam.
On the other hand, the resolution is defined
as the number of pixels appearing on the
computer screen. For a video to be smooth
and clear, the frame rate and the resolution
should be maximum. Today, the webcams
have become very popular and are widely
used in a number of applications. Figure 4.18
shows the web cam.
∑ Graphics tablet It is a media input Fig. 4.18 The webcam
device with the help of which a user can enter
pictorial information into the computer system. The graphics tablet is a combination of a digitising
pen and an electronic tablet. The digitising pen is similar to the ballpoint pen and has an electronic
head for drawing the images. The digitising pen
is also known as cursor or stylus. The electronic
tablet refers to the flat surface, which is used for
converting the movement of the pen into the
digital signals. These digital signals are sent to
the computer system and are represented on the
display screen. The image drawn on the tablet
is visible on the display screen rather than on the
tablet itself. The graphics tablet helps in drawing
more accurately as compared to the mouse. The
graphics tablet is commonly used for technical
drawings and Computer System Design (CAD)
systems. Figure 4.19 shows the graphics tablet Fig. 4.19 The graphics tablet with a pen
with a digitising pen.
76 Fundamentals of Computers

Chapter Summary
Input devices are the hardware devices that help in inputting the data from any outside source into the computer
system. There are various input devices, with the help of which a user can enter different types of data into the
computer system. Keyboard is one of the most widely used input devices for providing alphanumeric information
to the computer. A user simply presses these buttons for entering the data into the computer system. The user can
also input data into a computer system with the help of pointing devices such as mouse, trackball, light pen joystick
and touchscreen. The user can easily select the objects, menus and icons available on the screen using a pointing
device. These devices basically control the movement of the pointer on the screen. Apart from the pointing devices,
different scanning devices are also available, which are used for capturing the text and the images and converting
them into the graphical image. A variety of scanning devices are available for scanning the documents, such as
hand-held scanners, flatbed scanners, drum scanners and slide scanners.
Optical recognition devices are used for recognising the characters optically. These devices make use of optical
scanner for scanning documents and images. OCR device, OMR device, MICR device and bar code reader are the
various types of optical recognition devices. Voice recognition devices are used for recognising the voice of the
user. These devices generally record the voice of a person and transform it into electrical signals. Devices—such as
microphone, webcam and graphics tablet—generally used in media are known as media input devices. Apart from
these commonly used input devices, there are certain advanced devices—such as data acquisition sensors—that are
used for inputting the data.

Key Terms to Remember

∑ Input device: It is an electromechanical device that is generally used for entering information into a computer
system.
∑ Keyboard: It is a computer input device consisting of keys or buttons arranged in the similar fashion as they are
arranged in a typewriter.
∑ Pointing devices: These are the input devices used for moving the cursor to a particular location to point an object
on the screen.
∑ Mouse: It is a pointing device that basically controls the two-dimensional movement of the cursor on the displayed
screen.
∑ Trackball: It is a pointing device consisting of a socket containing the ball that can be rolled manually to move the
cursor on the screen.
∑ Light pen: It is a pointing device containing the light-sensitive element, which is used for selecting the objects
displayed on the screen.
∑ Joystick: It is a pointing device that consists of one or more buttons and a stick that controls the movement of the
cursor on the screen.
∑ Touchscreen: It is a pointing device that enables the users to enter data such as text, pictures and images by
directly touching the screen.
∑ Scanning devices: These are the input devices that electronically capture text and images and convert them into
computer readable form.
∑ Hand-held scanner: It is a scanning device used for digitising the images into bit map.
∑ Flatbed scanner: It is a scanning device that consists of a flat surface composing of glass pane on which the
documents are kept for scanning.
C HA PTE R 5
OUTPUT DEVICES

Chapter Outline Chapter Objectives


5.1 Introduction In this chapter, we will learn:
5.2 Display Monitors ∑ Different output devices used to present
5.3 Printers the processed data to the users.
5.4 Impact Printers ∑ Different types of display monitors.
5.4.1 Dot Matrix Printers ∑ Working of printers and plotters.
∑ How printers and plotters are classified
5.4.2 Daisy Wheel Printers
into various categories.
5.4.3 Drum Printers ∑ Different types of voice output devices.
5.5 Non-impact Printers ∑ How projectors and terminals function.
5.5.1 Ink-jet Printers
5.5.2 Laser Printers
5.5.3 Special Purpose Printers 5.1 INTRODUCTION
5.6 Plotters
Output devices are essential part of a computer
5.6.1 Drum Plotters
system. They receive the processed data
5.6.2 Flat-bed Plotters (information) from the CPU and present it to the
5.6.3 Ink-jet Plotters user in a desired form. They act as an interface
5.6.4 Electrostatic Plotters between the computer and the user. The main task
5.7 Voice Output Systems of an output device is to convert the machine-
5.8 Projectors readable information into human-readable form
which may be in the form of text, graphics, audio
5.9 Terminals
or video. Depending upon the form of output
Chapter Summary required, the output device may belong to one of
Key Terms to Remember the following categories:
Review Questions • Display monitors
Fill in the blanks • Printers
Multiple Choice Questions • Plotters
• Voice output systems
Discussion Questions
• Projectors
82 Fundamentals of Computers

While the printers and plotters provide the physical form of output known as hard copy, the display
monitors, voice output systems and projectors provide temporary output known as soft copy. Unlike hard
copy, soft copy is not a permanent form of output.
In this chapter, the principle of operation and application of some of the popular output devices will be
discussed briefly.

5.2 DISPLAY MONITORS

Display monitors are the most commonly used soft copy output devices. Earlier the display monitors were
capable of displaying the characters only in a single font and in a single colour. These characters were
arranged in a rectangular grid on the screen. The display screens, which are available today, support many
fonts and colours. Different types of display monitors use different technology for displaying the data. On
the basis of technology used display monitors may be classified into three categories:
1. Cathode Ray Tube Monitor
2. Liquid Crystal Display Monitor
3. Thin Film Transistor Monitor

5.2.1 Cathode Ray Tube (CRT) Monitor


A CRT monitor contains an empty glass tube with a phosphor coated fluorescent screen and a source of
electrons known as electron gun. This glass tube containing screen and electron gun is known as a CRT.
When the CRT gets heated due to the current flowing through it, the electron gun present inside the CRT
emits a beam of electrons, which hits the screen comprising small dots known as pixels. The striking of
electron beam on the phosphor coated pixels results in emission of light. The intensity of light emitted at
a certain point varies with the force with which the electron beam strikes the screen. The electron beam
scans across the screen due to the deflection caused to it by the electromagnetic coils present in the glass
tube. This scanning of screen by the electron beam produces an image on the screen and the variation in
the intensity of emitted light enables the human eyes to see the image thus produced. Figure 5.1(a) and (b)
show a CRT monitor and the internal components of a CRT.

Fig. 5.1 A CRT monitor and the internal components of a CRT

A CRT monitor has many advantages, such as a high contrast ratio and colour depth because of which
many graphic designers prefer this type of display monitors. It also provides a change in the resolution
without affecting the clarity of the picture. Though CRT monitor has many advantages, there are some
Output Devices 83

disadvantages associated with it. It is very bulky and occupies a lot of space on the desk. It also consumes a
lot of power and produces a large amount of heat.

5.2.2 Liquid Crystal Display (LCD) Monitor


An LCD monitor uses liquid crystals technology to
display the images. The liquid crystals are actually
the molecules of the liquid filled in the LCD. These
molecules easily flow in different directions and
have the capability to bend a beam of light. Each
pixel on the LCD screen contains a number of
liquid molecules layered between two transparent
electrodes and crossed polarising filters. The liquid
molecules uphold their directions and remain
in the same position with respect to each other.
As the light falls on the molecules, they bend the
light and direct them towards a polarising filter.
The polarising filter absorbs the light making the
polariser appear dark for the display of images.
Figure 5.2 shows an LCD monitor.
An LCD monitor is small in size and light Fig. 5.2 An LCD monitor
in weight so it occupies less space on the
desk. Also, the power consumption by an LCD monitor is very less as liquid molecules need less power
to bend light. There are a few disadvantages of using an LCD monitor. It has a fixed resolution due to
which the images on an LCD monitor become blurred when the resolution is changed. The clarity of
the images also gets reduced when the images on an LCD monitor move at a fast rate or, say, when the
rate of change of images on the screen is high. Moreover, it has a weak colour quality as compared to a
CRT monitor.

5.2.3 Thin Film Transistor (TFT) Monitor


A TFT monitor is similar to an LCD monitor except
for one difference that it uses thin film transistor
technology along with liquid crystal technology to
improve the quality of the image (unlike LCD, which
uses only the liquid crystal technology). For each
pixel on the screen, a small transistor switch as well
as a capacitor is used and each pixel is controlled
separately. A row scan driver turns on the transistor
switch to charge the capacitors of all the pixels in a
particular row. The transistor is switched off as soon
as the capacitors get charged. When the transistor is
switched off, the capacitor maintains the same voltage
of the pixels till the transistor is switched on again by
the row scan driver. Figure 5.3 shows a TFT monitor.
Fig. 5.3 A TFT monitor
84 Fundamentals of Computers

5.3 PRINTERS

Printers are the most widely used output devices in real life applications. A printer is a computer hardware
that generates the hard copy of the information processed by a computer system. The hard copy produced
by the printer can be in the form of a paper or any other physical printing medium. To produce a hard copy,
first the printer is connected to a computer with the help of a cable and then the print command is given by
the user through the user interface of the computer. The output on the hard copy produced by a printer can
be preserved for a long time as compared to the output displayed on the display monitors. Based on the
features, such as colour, resolution, memory and speed possessed by the printers, they are classified into
many types. Some printers have a very high printing speed, whereas others have a slow printing speed.
Moreover, all computers cannot produce multicoloured printouts. Some of them produce single colour
printouts only. On the basis of their working principles printers can be classified into two major categories,
namely impact and non-impact printers.

5.4 IMPACT PRINTERS

Impact printers are those printers in which there exists a mechanical contact between print head and paper.
Print head is the part of the printer that resembles a hammer and is responsible for transferring the ink to the
paper in the form of required characters. Impact printer contains an individual print head for each character.
The print head of a character strikes the ink ribbon, and the ink ribbon in turn strikes the paper, leaving an impression
of that particular character on the paper. Some of the most popular impact printers are as follows:
• Dot matrix printers
• Daisy wheel printers
• Drum printers
5.4.1 Dot Matrix Printer
A dot matrix printer is an impact printer in which a character is printed on the paper by the back and forth
movement of a print head against the ribbon drenched in ink. In dot matrix printer, the characters are
formed out of a matrix containing dots as shown Fig. 5.4. Each dot is produced with the help of a metal pin
brought forward by a small electromagnet. A small plate guides the pins to the ribbon and the pins strike the
ribbon to form an impression of a dot on the paper.
Dot matrix printer is capable of printing a complete line of characters at a time. It is very durable as it
does not wear out quickly; however, the circular channels on the guide plate get damaged due to frequent
striking of pins. This damage in the shape
of circular channels makes the guide plate
less accurate because of which the printed
characters become hazy.
The dot matrix printers are also capable of
producing carbon copies. They ensure reliable
printing and are best suitable for the fields
where the content of the printed data is more
important than the quality of printing. There is
no need of providing individual single sheets
to these printers again and again as they take
continuous papers. Figure 5.5 shows a dot Fig. 5.4 Matrix characters
matrix printer.
Output Devices 85

Dot matrix printers are cheap to use as the cost of printing


per page is very less. If the printer has not been in use for a
long time, even then, the ink ribbon remains preserved for
the future use and does not dry quickly. Besides advantages,
these printers have some disadvantages. They produce a lot
of noise while printing and have low printing speed as well
as printing quality. These printers support limited colours
and need a lot of maintenance as the damage to the pins may
cause printing of improper text.
Although dot matrix printers are not commonly used at Fig. 5.5 A dot matrix printer
homes, they are still widely used in business and industries
as they are cheap and can produce carbon copies.

5.4.2 Daisy Wheel Printer


A daisy wheel printer is an impact printer that produces
printouts of good quality characters. It contains a metal or a
plastic disk on which the characters reside on the outer edge
of the petals. Figure 5.6 shows a daisy wheel printer.
The disk in the daisy wheel printer is rotated until the petal,
containing the character to be printed, faces the paper. Once
the required Fig. 5.6 A daisy wheel printer
character is
positioned towards the paper, the disk is struck by a hammer,
which acts as print head. The striking of hammer on the disk
forces the disk to hit the ink-soaked ribbon and the ribbon
leaves an impression of the character on the paper. Figure 5.7
shows the disk of a daisy wheel printer.
The only advantage of daisy wheel printers is that they
allow the printing of characters in different fonts. The daisy
wheel printers are capable of printing text only and not
graphics. They are very noisy as well as very slow and can
Fig. 5.7 Disk of a daisy wheel printer print approximately 10 to 75 characters per second.
5.4.3 Drum Printer
Drum printers are the impact printers in which the characters are engraved on a cylindrical drum, which
is rotated around print head hammer. The paper and the ink ribbon lie between the hammer and the drum.
When a character is to be printed, the hammer
strikes the paper and forces it to hit the ribbon.
The ribbon in turn hits the character on the drum
and the impression of the character is formed on
the paper. The advantages of the drum printers are
low cost, higher speed as compared to other impact
printers; and it requires no feeding of paper again
and again. The disadvantages of these printers
include poor quality of printing and large noise
production. Figure 5.8 shows the internal components Fig. 5.8 Internal components of a drum printer
of a drum printer.
86 Fundamentals of Computers

5.5 NON-IMPACT PRINTERS

Non-impact printers are the printers in which there exists no mechanical contact between the print head and
paper. These printers spray ink on the paper with the help of a nozzle. Non-impact printers do not produce
much noise and are fast as compared to impact printers. The reason for the production of less noise is the
absence of mechanical moving parts in the printer. The most popular non-impact printers are:
1. Ink-jet printers
2. Laser printers

5.5.1 Ink-jet Printer


Ink-jet printers are the non-impact printers that produce an
image by spraying small droplets of ink on the paper with
the help of a nozzle. A magnetised plate guides the sprayed
ink to form the particular shape of a character or a symbol
on the paper. The ink-jet printers offer a resolution of 300
dots per inch and produce high quality printouts, such
as graphics and images. They are cheaper and portable as
compared to the other non-impact printers. The slow speed
and the requirement of a special ink, which is suitable for
the inexpensive papers, are the two drawbacks of the ink-
jet printers. The printouts taken from an ink-jet printer also
Fig. 5.9 An ink-jet printer
require some time to dry. Figure 5.9 shows an ink-jet printer.

5.5.2 Laser Printers


Laser printers are the non-impact printers that produce images
with the help of a laser beam. It works on the same technology
as the one used in a copier machine. The laser beam electrically
charges the drum coated with selenium and then transfers the
entire document, which is to be printed to it. The charged drum
is then allowed to roll into the dry powder ink known as toner.
The toner sticks to the charged images on the drum and is then
transferred to the paper with the help of heat and pressure. The Fig. 5.10 A laser printer
electrical charges and the remaining toner automatically get
removed from the drum after the printing of the document. Laser printers are capable of printing both black
and coloured text but as colour laser printers are very costly so generally single colour laser printers are
used. Laser printers have a high speed and resolution. They produce high quality printing in various fonts
and that too, without producing any noise. Figure 5.10 shows a laser printer.

5.5.3 Special Purpose Printers


Although most applications use ink-jet or laser printers, there are some high quality printers that are
primarily used by publishers and print shops to create high quality colour images. These printers include:
• Photo printers
• Thermal-wax printers
• Dye-sublimation printers
These printers are very slow and expensive.
Output Devices 87

5.6 PLOTTERS

Plotter is a device used to print high quality graphics and images. It uses one or more pens to produce a
high quality drawing. These pens change their positions and draw continuous lines to produce an image.
The plotters were used as a substitute to the coloured printers when the printers were very expensive and
were also not capable of drawing bigger images such as graphs. The plotters provided cheap and efficient
drawing but required a separate pen for each colour. This affected the speed of plotters but later the plotters
started using four basic colours only, i.e., cyan, magenta, yellow and black. These are the primary colours,
which combine in different ratios to form other different colours. So, now the speed of plotters increased as
there was no need of changing the pens frequently. The plotters are further divided into the following four
categories on the basis of their working:
• Drum plotters
• Flat-bed plotters
• Ink-jet plotters
• Electrostatic plotters

5.6.1 Drum Plotter


Drum plotter is a plotter in which pen is
moved vertically, i.e., along the Y axis and
the paper wrapped on the drum is moved
horizontally, i.e., along the X axis. The movement
of pen in left or right direction and the movement
of paper in backward or forward direction produce
a graph or an image. Figure 5.11 shows a drum
plotter.

5.6.2 Flat-bed Plotter


Flat-bed plotter is the plotter in which the
position of the paper is kept constant and the
pens are moved around in various directions
Fig. 5.11 A drum plotter
to draw graphs and images. The pens can be
moved both along X and Y axis. The size of the
drawing, which can be drawn using these
plotters, depends on the size of the flat bed on
which the paper is adjusted. Figure 5.12 shows a
flat-bed plotter.

5.6.3 Ink-jet Plotter


Ink-jet plotters are the plotters in which a line
or a solid colour output is drawn with the help
of spraying ink droplets on the paper. They
have a high speed and produce higher quality
output as compared to the other plotters. However,
as the nozzles, which spray the ink can get blocked
Fig. 5.12 A flat-bed plotter
88 Fundamentals of Computers

soon, they require more maintenance as compared to the


other plotters. Figure 5.13 shows an ink-jet plotter.

5.6.4 Electrostatic Plotter


Electrostatic plotters are the plotters in which the
electrostatic charges are used to draw images and
graphs. These images and graphs are made of tiny dots
on a special paper. The electrostatic plotters are the
fastest plotters and produce an output of high quality

Fig. 5.13 An ink-jet plotter

and resolution. One of the disadvantages of using


these plotters is that one becomes vulnerable to
chemicals, which are used in the plotters to produce
the electrostatic charge. Figure 5.14 shows an
electrostatic plotter.
Fig. 5.14 An electrostatic plotter

5.7 VOICE OUTPUT SYSTEMS

Voice output systems are also known as voice response systems. These systems record the simple messages
in human speech form and then combine all these simple messages to form a single message. The voice
response system is of two types—one uses a reproduction of human voice and other sounds, and the other
uses speech synthesis.
The voice response system, which uses a reproduction of human voice takes the sound input in the
analog form and converts it into the digital form. It stores the converted data permanently on some storage
device. The digital sound produced as an output may be in the form of words, phrases or music. The digital
sound stored at the storage device is then sent to the speakers through which the output is made audible to
the users.
The voice response system, which uses speech synthesis, takes the sound input in analog form and
converts it into speech form. Besides sound expansion card and speech synthesiser, the written text to be
converted into the form of a speech requires special software. The speech synthesiser is a device used for
the conversion of written text into speech. The speech synthesiser combines approximately 50 to 60 basic
sounds to produce a single word. The different words formed by the combination of basic sounds then
combine to form a speech. The quality of the speech produced as an output depends on its resemblance to
the human voice and also on the ease with which a user can understand it.
The basic application of a voice output system is in Interactive Voice Response (IVR) systems, which are
used by the customer care or customer support departments of an organisation, such as telecommunication
companies, etc.
Output Devices 89

5.8 PROJECTORS

A projector is a device that is connected to a


computer or a video device for projecting an
image from the computer or video device onto
the big white screen. The images projected by
a projector are larger in size as compared to the
original images. A projector consists of an optic
system, a light source and displays, which contain
the original images. The projectors are classified
into three categories:
• Ultralight portable projectors
• Conference room projectors
Fig. 5.15 A portable projector
• Fixed installation projectors
The ultralight projectors are small in size and, are therefore referred as portable projectors. The
conference room projectors are the projectors used for projecting the output at large venues such as business
meetings and huge gatherings. They are not light weight but have a better projection as compared to the
ultralight projectors. The fixed installation projectors are the most expensive projectors. They are fixed
permanently at the place of presentation and are capable of projecting images in bright light also.
Projectors were initially used for showing films but now they are used on a large scale for displaying
presentations in business organisations and for viewing movies at home. The projectors in home theatres
help to project the images of a movie on the white screen at a comparatively large size as compared to the
small images displayed on a small television screen. Figure 5.15 shows a portable projector.

5.9 TERMINALS

A terminal is a combination of an input device and an output device that helps a computer in receiving as
well as transmitting data. The classification of computer terminals is done on the basis of the data handled
by them. A keyboard and a display monitor are respectively the input and the output devices, which are
paired together to form a common terminal. The display monitor used in the terminal can be of any of the
three types—a CRT, an LCD or a TFT. The terminals are broadly classified into three categories:
• Intelligent terminals
• Smart terminals
• Dumb terminals
An intelligent terminal is a terminal that possesses all the processing power, i.e., the logic required to
perform the operations, such as calculations and formatting. It does not require any processor but instead
performs all the tasks by itself. A smart terminal is a terminal that contains some logic. It requires the help
of a processor to perform complex operations such as performing calculations but is capable of performing
simple operations such as making the displayed data appear bold. A dumb terminal is a terminal that does
not contain any logic at all. It only displays the data received from the processor. It has the slowest speed as
compared to the other two terminals.
C H APT ER 10
COMPUTER SOFTWARE

Chapter Outline Chapter Objectives


10.1 Introduction
In this chapter, we will learn:
10.2 Types of Computer Software
10.2.1 System Software
∑ Fundamentals of computer software
10.2.2 Application Software ∑ Types of software
10.3 System Management Programs ∑ Role of system software
10.3.1 Operating System ∑ Types of system software and their
10.3.2 Utility Programs functions
10.3.3 Device Drivers ∑ Functions of operating system
10.4 System Development Programs ∑ Different types of application software
10.4.1 Language Translators
10.4.2 Linkers
∑ Basic steps in solving a problem
10.4.3 Debuggers ∑ Basic steps in developing a program
10.4.4 Editors
10.5 Standard Application Programs
10.5.1 Word Processor
10.5.2 Spreadsheet
10.5.3 Database Management System 10.1 INTRODUCTION
10.5.4 Desktop Publishing System
10.6 Unique Application Programs All computer systems consist of two major
10.6.1 Inventory Management System
components, namely, hardware and software. The
10.6.2 Payroll System
10.7 Problem Solving hardware refers to the physical equipments that are
10.7.1 Hierarchy Chart necessary for performing various operations, such
10.7.2 Algorithms as reading and processing data, storing results and
10.7.3 Flowcharts providing output to the users in a desired form. The
10.7.4 Pseudocodes software refers to a set of computer programs that
10.8 Structuring the Logic are required to enable the hardware to work and
10.8.1 Sequence Structure
perform these operations effectively.
10.8.2 Selection Structure
10.8.3 Repetition Structure A computer program is basically a set of logical
10.9 Using the Computer instructions, written in a computer programming
Chapter Summary language that tells the computer how to accomplish
Key Terms to Remember a task. The software is therefore an essential
Review Questions interface between the hardware and the user as
Fill in the Blanks shown in Fig. 10.1.
Multiple Choice Questions
We can say that software gives life to the
Discussion Questions
hardware and therefore, the software is popularly
214 Fundamentals of Computers

referred to as the “soul” of the computer


system while the hardware as the “heart”.
There is an array of computer programs
available for operating and controlling the
computer. It is the judicious combination
of these programs that gives the computer
its power and versatility, and the users their
satisfaction.
In this chapter, we shall discuss the various
types of computer software and their functions
and utility. Fig. 10.1 Software interface between hardware and software

10.2 TYPES OF COMPUTER SOFTWARE

As stated earlier, a computer software performs


two distinctive tasks. The first task is to control and
coordinate the hardware components and manage
their performances and the second one is to enable the
users to accomplish their required tasks. The software
that is used to achieve the first task is known as the
system software and the software that is used to achieve
the second task is known as the application software.
While the system software is essential for a computer
to work, the application software is the additional
software required for the user to perform a specific job.
The system software not only controls the hardware
functions but also enables the hardware to interact
with the application software as well as the users as
Fig. 10.2 Layers of software and their interactions
illustrated in Fig. 10.2.

10.2.1 System Software


System software consists of many different programs that manage and support different tasks. Depending
upon the task performed, the system software can be classified into two major groups:
∑ System management programs used for managing both the hardware and software systems.
∑ System development programs used for developing and executing application software.

10.2.2 Application Software


Application software includes a variety of programs that are designed to meet the information processing
needs of end users. They can be broadly classified into two groups:
∑ Standard application programs that are designed for performing common application jobs.
∑ Unique application programs that are developed by the users themselves to support their specific
needs.
Figure 10.3 illustrates the major categories of computer software.
Computer Software 215

Fig. 10.3 Major categories of computer software

10.3 SYSTEM MANAGEMENT PROGRAMS

System management programs are those programs that are


meant for operating the hardware system and managing their
resources effectively. They also enable the users to perform
certain utility functions, such as creating backup files,
recovering damaged files and merging files. They minimise the
human intervention during processing and aid in maximising
the productivity of a computer system. System management
programs include:
∑ Operating system
∑ Utility programs Fig. 10.4 System Management Programs
∑ Device drivers
These programs work in close interaction with each other as
shown in Fig. 10.4.

10.3.1 Operating System


Operating System (OS) is the principal component of system
software and is responsible for overall management of computer
resources. It also provides an interface between the computer and
the user and helps in implementing the application programs as
illustrated in Fig. 10.5.
Major functions of an operating system are:
∑ Scheduling and execution of all processes.
∑ Allocation and management of main memory and other
storage areas to the programs.
∑ Coordination and assignment of different hardware devices
to the programs.
∑ Creation, storage and manipulation of files required by the Fig. 10.5 Hardware-OS-User interface
various processes.
216 Fundamentals of Computers

∑ Determining and maintaining the order of execution of programs.


∑ Interpretation of commands and instructions.
∑ Coordination and assignment of other development and utility programs.
∑ Providing a friendly interface between the computer and the user.
∑ Ensuring security of access to computer resources.
Operating systems are usually supplied by the hardware manufacturers and are rarely developed by the
users due to its technical complexity. The operating system is discussed in more detail in the next chapter.
The most popular operating system, MS-DOS, is discussed in Chapter 12.

10.3.2 Utility Programs


Utility programs refer to small programs, which provide additional capabilities to the computer system in
addition to the ones provided by the operating system. They enable an operating system to perform some
additional tasks, such as searching and printing the files and scanning the viruses, etc. A utility program is
not an essential part of an operating system, because it does not help the operating system in the execution
of a command or a program. A utility program only provides the additional features to the computer system.
In other words, an operating system can execute most of the programs without having the utility programs.
Utility programs are added to an operating system to perform many different tasks, that include:
∑ Search and replace. It enables the operating system to search a file on the basis of the specified
search criteria.
∑ Print. It enables an operating system to initiate the print operation of the printer connected with the
computer system.
∑ Disk defragmenter. It helps in defragmenting the memory space. Defragmentation is the process of
storing the data at a single place in the memory instead of disjointed memory locations.
∑ System profiler. It provides the information related to the various hardware and software components
installed in the computer system. In other words, it provides a list of the hardware components, which
are presently connected with the computer system, and the software components, which are currently
installed in the computer system.
∑ Encryption. It enables the operating system to generate the encrypted format of the messages or
the files, which have to be transmitted from one system to another system over the network or the
Internet.
∑ Virus scanner. It enables the operating system to detect viruses and bugs, which may affect the
correct functioning of the computer system.
∑ Backup. It enables the creation of a copy of various files and folders on a secondary medium such as
magnetic disk and magnetic tape, in order to keep the original data safe.
∑ Data recovery. It enables the retrieval of lost data from a corrupted or damaged primary storage
medium.
Like operating systems, utility programs are prewritten by manufacturers and supplied with the
hardware. They may also be obtained from standard software vendors. A good range of utility programs can
make the life much easier for the user.

10.3.3 Device Drivers


A computer system is connected with multiple input and output (I/O) devices, so that it can communicate
with the end user. In order to interact with the I/O devices, the computer system requires special software
called device driver. The device driver acts as a translator between the I/O devices and the computer.
A device driver of the input device interprets the input provided by the user into the computer
Computer Software 217

understandable form and directs it to the operating system. Similarly, the device drivers of the output
devices translate the output generated by the computer into the user understandable format and display it
on the screen. In other words, a device driver is special software that enables a hardware device, such as
keyboard, monitor and printer to perform an operation according to the command given by the end user.
Whenever a program needs to use a
connected hardware device, it issues a
command to the operating system. The
operating system calls the respective
routine or process of the device driver,
which instructs the device to perform
the task. For providing instruction to the
devices, the device driver sends various
control and data signals through buses
and cables to the device. In order to
acknowledge the device driver’s signal,
the device sends the acknowledgment
signals to the device driver. After
performing the task, the device sends
a message to the device driver, which
returns the value to the calling program
of the operating system. In other words,
a device driver instructs a hardware
device the way it should accept the input
from the operating system and the way
in which it should communicate with
the other units of the computer system.
Fig. 10.6 Working of a device driver
Figure 10.6 illustrates the working of
the device driver.

10.4 SYSTEM DEVELOPMENT PROGRAMS

System development programs known as programming software allow the users to develop programs
in different programming languages. The process of developing and executing a program involves the
following tasks:
∑ Debugging the program
∑ Linking the various variables and objects with the libraries files
∑ Translating the code from one language to another
∑ Running the machine code to perform the desired task
In order to carry out these tasks, we need the following system development tools:
∑ Language translators
∑ Linkers
∑ Debuggers
∑ Editors
218 Fundamentals of Computers

10.4.1 Language Translators


Language translator is used to convert
the program code written in one
language to another language. The
program code provided as an input to
the language translator is known as
source code. The source code is a high-
level or an assembly language program.
The language translator converts the
high-level language program into the
low-level language program called
object code. Compiler, interpreter
and assembler are the most common
examples of language translator.
A compiler translates a high-level
program into a low-level program and
Fig. 10.7 Language translators
an assembler translates an assembly
language program into a low-level program. An interpreter also produces a low-level program from a
high-level program, but the working of the interpreter is not similar to that of the compiler. An interpreter
processes the high-level program line-by-line and simultaneously, produces the low-level program. On the
other hand, a compiler compiles the high-level program in one go. Figure 10.7 shows the input and the
output of the various language translators.

10.4.2 Linkers
Most of the high-level languages allow the developer to develop a large program containing multiple
modules. Linker arranges the object code of all the modules that have been generated by the language
translator into a single program. The execution unit of the computer system is incapable of linking all the
modules at the execution time and therefore, linker is regarded as one of the important software because of
its ability to combine all the modules into a single program. Linker assembles the various objects generated
by the compiler in such a manner that all the objects are accepted as a single program during execution.
Linker also includes the links of various objects, which are defined in the runtime libraries. In many cases,
linker inserts the symbolic address of the objects in place of their real address. Figure 10.8 illustrates the
working of a linker.

10.4.3 Debuggers
Debugger is the software that is used to detect the errors and bugs present in the programs. The debugger
locates the position of the errors in the program code with the help of what is known as the Instruction Set
Simulator (ISS) technique. ISS is capable of stopping the execution of a program at the point where an
erroneous statement is encountered.
Debugger is divided into two types, namely, machine-level debugger and symbolic debugger. The
machine-level debugger debugs the object code of the program and shows all the lines where bugs
are detected. On the other hand, the symbolic debugger debugs the original code, i.e., the high-level
language code of the program. It shows the position of the bug in the original code of the program
developed by the programmer.
Computer Software 219

Fig. 10.8 Working of linker

While debugging a program, the debugger performs a number of functions other than debugging, such as
inserting breakpoints in the original code, tracking the value of specific variables, etc. In order to debug the
program, a debugger helps us to perform the following tasks:
∑ Step-by-step execution of a program
∑ Back tracking for checking the previous steps
∑ Stopping the execution of the program until the errors are corrected

10.4.4 Editors
Editor is a special program that allows the user to work with text in the computer system. It is used for the
documentation purposes and enables us to edit the information present in an existing document or a file.
The editor enables us to perform the various editing operations such as copy, cut and paste while editing the
text. On the basis of the content edited by the editors, they are divided into the following categories:
∑ Text editor It is used to edit plain text. An operating system always includes a text editor for
updating the configuration files.
∑ Digital audio editor It is used to edit the information related to the audio components of a
multimedia application. These editors are used in audio applications where editing the music and the
sound signals is necessary.
∑ Graphics editor It is used to edit the information related to the graphical object. These editors
are generally used in the multimedia applications where the user is working with multiple animation
objects.
∑ Binary file editor It is used to edit the digital data or the binary data, i.e., data having strings of
0s and 1s.
∑ HTML editor It is used to edit the information included in the web pages.
220 Fundamentals of Computers

∑ Source code editor It is used to edit the source code of a program written in a programming
language such as C, C++ and Java.

10.5 STANDARD APPLICATION PROGRAMS

Standard application programs, also known as general-purpose application programs, are programs that
perform certain common information processing tasks for the users. For example, preparing documents such
as letters and notes are common among almost all organisations as well as individuals. Similarly, creating
and managing databases of products and employees are very common activities in large organisations.
Ready-to-use programs for such applications are available from hardware or software vendors. These
programs would not only increase significantly the productivity of users but also decrease the investment in
terms of time and cost. Examples of standard application programs include:
∑ Word processor
∑ Spreadsheet
∑ Database Manager
∑ Desktop Publisher
∑ Web Browser
We shall briefly discuss some of these programs in this section.

10.5.1 Word Processor


Word processor is an application software that is generally used to create documents such as letters, reports,
etc. It is one of the most commonly used computer applications. Word processor enables us to enter text
in a document in a particular format. It also allows us to modify the existing text and apply the formatting
features, such as boldface and italic, change the colour of the text, change the writing style of the text,
etc. The word processor application software also allows us to perform different operations, such as
cut-paste for moving the text within the document, copy-paste for copying the text within a document or
from one document to another document, etc. MS Word is the most common example of a word processor.
Figure 10.9 shows the default window of MS Word.

Fig. 10.9 The default window of MS Word


Computer Software 221

10.5.2 Spreadsheet
Spreadsheet is an application software that enables the user to maintain a worksheet in which information
is stored in different cells. Each cell in the spreadsheet can contain numeric and alphanumeric data.
Spreadsheet is also used as a computational tool by applying formulas on the values of cells. If we change
the value of a cell in a spreadsheet, then all the values, which are dependent on that value, get automatically
updated according to the new value. As a result, the users, who need to store and maintain financial
information, always prefer a spreadsheet for storing the information.
MS Excel is the most common example of the spreadsheet software. Figure 10.10 shows the default
window of MS Excel.

Fig. 10.10 The default window of MS Excel

10.5.3 Database Management System


Database Management System (DBMS) is a computer software that helps us to store and maintain records
in a database. Database refers to a set of records, which are stored in a structured manner in the computer
system. Record refers to a set of similar or dissimilar values related to an entity such as student and
employee. DBMS allows a user to perform various operations such as search, update and delete on the data
stored in the database. With the help of DBMS an end user can store, retrieve, and modify the data in an
easy manner. The advantages of DBMS are as follows:
∑ It enables the user to organise all the information in a strategic manner.
∑ It helps the users in maintaining consistency in the information stored in the database.
∑ It helps the user in maintaining data integrity while performing the various operations on the database
values.
∑ It allows the user to maintain the security of the confidential information by password-protecting the
database.
∑ It helps in accessing information from any system connected in a networked system environment.
The DBMS used for maintaining a database always uses specific data model such as relational,
hierarchical and network that describes the physical and the logical arrangement of data in the database.
In the relational data model, different records are arranged in the form of tables containing rows and
222 Fundamentals of Computers

columns. In the hierarchical model, records are arranged in the form of a tree where each record is attached
with one parent node and one or more child nodes. In the network model, data is arranged in the form of a
network where each node is connected with one or more parent nodes as well as child nodes. Figure 10.11
shows the arrangement of records in different data models of the DBMS.

Fig. 10.11 Different data models used to design DBMS


Computer Software 223

DBMS comprises of different components, which are responsible for performing a specific task in the
database system. Some of the components of DBMS are as follows:
∑ Data structure Data structure refers to a storage mechanism that is used to store multiple values
as a single entity. In DBMS, different types of data structures are used to store the information related
to an entity. These data structures include:
❏ File It refers to a collection of multiple records.
❏ Record It refers to a collection of multiple values of different data types related to one entity.
❏ Field It refers to a set of different values having similar data type.
∑ Transaction mechanism DBMS always includes a transaction mechanism, which ensures that
the basic properties of the database system are not affected by the processing of the transactions.
A transaction mechanism included in a database system consists of the following properties:
❏ Atomicity The transaction mechanism should complete either all tasks included in a transaction
processing or none of them.
❏ Consistency The transaction mechanism should be capable of maintaining consistency in the
information stored in the multiple files of DBMS after the processing of a transaction.
❏ Isolation The transaction mechanism should not allow any sub process of the transaction to use
the intermediate data of another transaction.
❏ Durability The transaction mechanism should be capable of providing information related to
the transactions, which have been processed to change the information stored in the database.
∑ Database query language DBMS includes a query language system, which enables a user to
perform various operations such as searching and updating the information stored in the database.

10.5.4 Desktop Publishing System


Desktop publishing system enables the user to perform various activities required for publishing of a page
or set of pages. These activities include organising the content layout by setting margins and justification
properties of the page. In the desktop publishing system, a page layout software is installed on a computer
system that enables the end users to view the changes done at the time of designing the document. The
page layout software uses the ‘What You See Is What You Get (WYSIWYG)’ technique for displaying the
preview of the page being designed. Desktop publishing system is also referred as DTP.
Desktop publishing system is generally used in the publishing industry, where there is a need to publish
information either through print media or display media. It helps the users to design the desired page layout
containing different components such as text, graphics and images. Some of the commonly used DTP
application software include: Quark XPress, InDesign, Microsoft Publisher, Apple Pages.

10.6 UNIQUE APPLICATION PROGRAMS

There are situations where organisations need to develop their own programs to accomplish certain tasks
that are unique to their areas of operations. Similarly, individuals like scientists, engineers, accountants,
teachers and other professionals write their own programs to solve their problems. Such programs are
224 Fundamentals of Computers

known as unique application programs or application-specific programs. These programs are also referred
to as end-user application programs. Examples of unique applications include:
∑ Managing the inventory of a store
∑ Preparing pay-bills of employees in an organisation
∑ Processing examination results of students
∑ Reserving seats in trains or airlines
∑ Analysing mathematical models
∑ Computing personal income tax
∑ And many more
These programs are usually developed in one of the high-level languages, such as C, C++ or Java and
therefore, developing such programs in-house would require skilled programmers with deep knowledge not
only in programming languages but also in programming environment.
We will discuss below in this section two applications which are usually developed in-house to suit the
user’s unique requirements.

10.6.1 Inventory Management System


Inventory management system helps in keeping a record of the huge amount of items stored in warehouse
and storerooms. In order to keep a record of inventory or items, application software called inventory
management system, which makes use of DBMS, is used. DBMS is responsible for storing the information
related to the items in the form of various files and tables. It also helps in storing the information related
to the location, where a particular item is placed. Inventory management system enables a user to get a
report on the items stored in the warehouse or storeroom on the basis of the different conditions, such as
availability of items, shipping date of item, etc.
The database of the inventory management system identifies each item by a unique identification
number. The identification number is used as the primary key of an item in the database. Primary key refers
to an attribute, which must contain a unique value for each item of the database. The identification number
can be dependent on the various properties, such as type, model and
manufacturing date of the items, etc. Nowadays, the identification number
of an item is specified on the barcodes printed on each item. Barcode is a
group of small and black vertical lines of varying widths. The barcodes
are not understandable by a human being and is always read by an input
device called barcode reader. A barcode reader is similar to the handheld
scanner that scans the barcode of the item in order to enter the barcode in Fig. 10.12 Barcode of an item
the database. Figure 10.12 shows the sample barcode of an item.
The use of barcode technology with inventory management system saves a lot of time as the user is not
required to manually enter the item details. These details are automatically read by the barcode scanner
and stored in the database of the inventory management system. An inventory management system finds its
application in those organisations where a constant maintenance and updation of inventory information is
required.

10.6.2 Pay-roll System


Pay-roll system is the application software that enables us to perform the various activities related to pay-
roll accounting and pay-roll administration process. It is used by the HR department of an organisation
for the purpose of computation of salary of employees. A typical pay-roll processing system provides
an interface to the user through which the user can enter salary related details, such as attendance, tax
Computer Software 225

deduction, etc. A pay-roll system is an effective and efficient way of computing the salary of employees
as it eliminates the manual task of performing computations and automates most of the tasks related to
pay-roll processing.
A pay-roll system can be custom built or it can be an off-the-shelf application software. Several ERP
products include a dedicated module on pay-roll processing which is particularly used in enterprise-wise
implementation of pay-roll processing. A pay-roll system can also be used to print or e-mail the salary slips
of employees.

10.7 PROBLEM SOLVING

Problems that can be solved through a computer may range in size and complexity. Since computers do not
possess any common sense and cannot make any unplanned decisions, the problem, whether it is simple or
complex, has to be broken into a well-defined set of solution steps for the computer to implement.
Problem solving is the process of solving a problem in a computer system by following a sequence of
steps. The major steps that we need to follow for solving a problem are:
1. Preparing hierarchy chart A hierarchy chart shows the top-down solution of a problem. In case
of large problems, we can break them into parts representing small tasks, prepare several algorithms
and later combine them into one large algorithm.
2. Developing algorithm An algorithm is a sequence of steps written in the form of English phrases
that specify the tasks that are performed while solving a problem. It involves identifying the variable
names and types that would be used for solving the problem.
3. Drawing flowchart A flowchart is the graphical representation of the flow of control and logic in
the solution of a problem. The flowchart is a pictorial representation of an algorithm.
4. Writing Pseudocode Pseudocode is pretty much similar to algorithms. It uses generic syntax for
describing the steps that are to be performed for solving a problem. Along with the statements written
using generic syntax, pseudocode can also use English phrases for describing an action.

10.7.1 Hierarchy Chart


Hierarchy chart is a solution approach
that suggests a top-down solution of a
problem. We very often come across large
problems to be solved using computers.
It may be very difficult to comprehend
the solution steps of such large problems
at one go. In such situations, we can
decompose the problem into several parts,
each representing a small task which is
easily comprehensible and solvable. We can
then prepare solution steps for each task
independently and later combine them into
one large solution algorithm. Figure 10.13
Fig. 10.13 Hierarchy chart for pay-roll problem
illustrates a hierarchy chart for computing
226 Fundamentals of Computers

pay of an employee in an organisation. Since the chart graphically illustrates the structure of a program, it is
also known as a structure chart.
While developing a computer program, we may treat each subtask as a module and prepare computer
code for testing independently. This approach is popularly known as modular programming. Note that the
hierarchy chart does not provide any detail about program logic. We have to use the tools discussed below
to prepare logic for each task.

10.7.2 Algorithms
Algorithms help a programmer in breaking down the solution of a problem into a number of sequential
steps. Corresponding to each step a statement is written in a programming language; all these statements
are collectively termed as a program. The following is an example of an algorithm to add two integers and
display the result:

Algorithm to add two integers and display the result


Step 1 – Accept the first integer as input from the user.
(integer1)
Step 2 – Accept the second integer as input from the user.
(integer2)
Step 3 – Calculate the sum of the two integers.
(integer3 = integer1 + integer2)
Step 4 – Display integer3 as the result.

There is a time and space complexity associated with each algorithm. Time complexity specifies the
amount of time required by an algorithm for performing the desired task. Space complexity specifies the
amount of memory space required by an algorithm for performing the desired task. When solving a complex
problem, it is possible to have more than one algorithm to provide the required solution. The algorithm that
takes less time and requires less memory space is the best one.

10.7.3 Flowcharts
A flowchart can be defined as the pictorial representation of a process, which describes the sequence and
flow of the control and information in a process. The flow of information is represented in a flowchart in a
step-by-step form. This technique is mainly used for developing business workflows and solving problems
using computers.
Flowchart uses different symbols for depicting different activities, which are performed at different
stages of a process. The various symbols used in a flowchart are as follows:
∑ Start and end It is represented by an oval
or a rounded rectangle in a flowchart. It is used to
represent the starting and the ending of a process.
Every process starts and ends at some point so a
flowchart always contains one start as well as one Fig. 10.14 Start and end symbol
end point. Figure 10.14 shows the start and the end
symbols used in a flowchart.
∑ Input or output It is represented by a parallelogram in a
flowchart. It is used to represent the inputs given by the user
Fig. 10.15 Input or output symbol
to the process and the outputs given by the process to the user.
Figure 10.15 shows the input or output symbol.
Computer Software 227

∑ Action or process It is represented by a rectangle. It


represents the actions, logics and calculations taking place in
a process. Figure 10.16 shows the action or process symbol.
∑ Decision or condition It is represented by a rhombus or
a diamond shape in a flowchart. It represents the condition
or the decision-making step in the flowchart. The result of
the decision is a Boolean value, which is either true or false. Fig. 10.16 Action or process symbol
Each of these values takes the flow of the program to a certain
point, which is shown with the help of arrows. Figure 10.17
shows the decision or condition symbol.
∑ Arrow It is represented by a directed line in a flowchart.
It represents the flow of process and the sequence of steps in
the flowchart. It guides the process about the direction and
the sequence, which is to be followed while performing the Fig. 10.17 Decision or condition symbol
various steps in the process. Figure 10.18 shows the arrow
symbol.
∑ Connector It is represented by a circle in a flowchart. It represents the continuation of the flow
of steps when a flowchart continues to the next page. A character, such as an alphabet (a to z) or
a symbol (a, b or c), etc. can be placed in the circle at the position where the flow is broken and
the same character is also placed in the circle at the position from where the flowchart continues.
Figure 10.19 shows the connector symbol.

Fig. 10.18 Arrow symbol Fig. 10.19 Connector symbol

In order to understand how a flowchart represents flow


of information, consider an example of flowchart in which
addition of two numbers is represented. Figure 10.20 shows
the flowchart for addition of two numbers.

10.7.4 Pseudocodes
Analysing a detailed algorithm before developing a program
is very time consuming. Hence, there arises a need of a
specification that only focuses on the logic of the program.
Pseudocodes serve this purpose by specifying only the
logic, which is used by the programmer for developing a
computer program.
Pseudocode is not written using specific syntax of
a programming language rather it is written with a
combination of generic syntax and normal English language. Fig. 10.20 Flowchart of addition of two numbers
228 Fundamentals of Computers

It helps the programmer understand the basic logic of the program after which it is the programmer’s choice
to write the final code in any programming language.
The example of a pseudocode to add two numbers and display the result is shown below:

A pseudocode to add two numbers and display the result


Define: Integer num1, num2, result.
Input: Integer num1.
Input: Integer num2.
Sum: result = num1 + num2
Output: Display(result).

After the pseudocode for a computer program has been written, it is used to develop the source code
for the computer program. The source code is developed using a programming language, which can be
an assembly language or a high level programming language. After the source code has been written, the
programmer detects and eliminates any errors in the program so that the program generates the desired
output after its execution.

10.8 STRUCTURING THE LOGIC

While writing the pseudocode for a problem, it is necessary to define all the logics used in the pseudocode
for developing the program. Pseudocode of a problem should be able to describe the sequence of execution
of statements and procedures specified in the program. The sequence of the execution of instructions
determines the basic structure of a program or the logic used to solve a problem.
The basic structure of a program comprises of different sets of the statements, whose execution is
dependent on some conditions and decisions. These conditions and decision-making statements are
specified in a control structure. Depending upon the sequence of the execution of the statements, the control
structures are categorised into the following types:
• Sequence structure The execution of the statements in a sequence structure is done sequentially,
i.e., all the statements are executed in the same order as they are written in the program.
• Selection structure In the selection structure, two sets of statement blocks are written in a
program along with one or more conditions. The execution of a particular block’s statements occurs
only if the conditional statement specified at the beginning of the block is true. A selection structure is
also known as branching structure.
• Repetition structure In the repetition structure, a block of two or more instructions is specified
along with a conditional statement. The execution of these instructions is repeated many times if the
conditional statement is true. This structure is also known as looping structure.
We must incorporate these program constructs into the program design, whether as a flowchart or as a
pseudocode. We can also combine the constructs, if necessary. For example, a selection structure can be a
part of a looping structure.

10.8.1 Sequence Structure


In a sequence structure, multiple statements are written in a simple sequence in the program. The execution
of these statements is not affected by any condition. Generally, sequence structure is used for performing
Computer Software 229

simple computations, which do not require any decision-making. Figure 10.21 shows the representation of
statements in the sequence structure.

Fig. 10.21 Representation of statements in the sequential structure

10.8.2 Selection Structure


In the selection structure, the execution of a set of statements is done according to a pre-specified condition.
The selection structure is also known as decision-making structure because the decision to execute a
particular set of statements is made on the basis of the conditional statement. The selection structure is
categorised into the following types:
• If-Then In this selection structure, If and Then clauses are used to represent a condition as well as
set of statements. In the If clause, the conditional statement is written, while in the Then clause the
set of statements to be executed are specified. The execution of the statements specified in the Then
clause occurs only if the condition is true.
• If-Then-Else This selection structure is very much similar to the If-Then selection structure. The
only difference between the two is that in If-Then-Else selection structure two sets of statements are
specified. One set of statements is represented in the Then clause and another is represented in the
Else clause. If the condition given in the If clause is true, then all the statements specified in the Then
clause are executed; otherwise statements given in the Else clause are executed.
• Case Type In this selection structure, multiple sets of statements are specified. Each block of
statements is associated with a value. The selection of a particular set of statements is made on the
basis of the value of the variable given at the beginning of the selection structure.
230 Fundamentals of Computers

Figure 10.22 shows the representation of statements in the If-Then-Else selection structure.

Fig. 10.22 Representation of statements in the If-Then-Else selection structure

10.8.3 Repetition Structure


In the repetition structure, only one set of multiple statements is specified. The same set of statements is
executed several times on the basis of the condition specified along with the structure. The various types of
repetition structure are as follows:
∑ Do-while In the Do-while structure, a set of statements is given in the Do block and a condition is
given in the While block. The statements given in the Do block are executed till the given condition
is true. At each instance of execution of block statements, the condition is checked. If the condition is
true, then only the block statements are executed; otherwise the repetition structure is terminated.
∑ Repeat-until The Repeat-until structure is opposite to the Do-while repetition structure. In this
structure, the repetitive execution of statements given in the Repeat clause occurs only when the
condition given in the Until clause is false.
Computer Software 231

Figure 10.23 shows the representation of statements in the Do-while repetition structure.

Fig. 10.23 Representation of the statements in the Do-while repetition structure

10.9 USING THE COMPUTER

Whenever a user wants to use a computer for solving a problem, he/she has to perform various interrelated
tasks in a systematic manner. A user can not get the solution of a problem by simply providing input to the
computer without preparing the base for solving the problem. The working process of a computer is similar
to the human mind, which first analyses the complete situation of a problem, its causes and its parameters,
and then decides the way to solve the problem on the basis of available parameters. All the activities, which
have to be performed by a user in order to solve a problem using computer, are grouped into three phases:
∑ Understanding the problem
∑ Developing a program
∑ Executing the program
232 Fundamentals of Computers

1. Understanding the problem It is the first stage of problem solving using a computer. In this
stage, two basic activities are performed by the user. These activities are as follows:
❏ Identifying parameters and constraints A user has to identify the role of different
parameters in solving the problem, i.e., the user must have the knowledge about the relation
between the various parameters and the problem itself. After identifying the problem and its
parameters, the user has to identify the associated constraints that need to be considered in order
to generate an accurate solution of the problem. The identification of parameters and constraints
help in choosing the most appropriate method to solve the problem.
❏ Collecting information After analysing the problem and choosing the solution method, a
user has to collect the information related to the identified parameters of the problem. In order
to collect the information, a user can use the documents and reports pertaining to the previous
versions of the problem. The collected information helps in designing the layout of the output or
solution of the problem.
2. Developing a program After analysing the problem, a user has to plan for developing the
program, which will provide the solution of the program after execution. A program includes multiple
instructions having a specific syntax. For developing a program, a user has to perform the following
activities:
❏ Identifying the logical structure It is the most important activity in which a user prepares
the logical structure of the program by analysing the various tasks that need to be performed for
solving the problem. In order to prepare the logical structure of a program, a user performs the
following task:
(i) Writing algorithm to list the various steps.
(ii) Drawing flowchart to represent the flow of information.
(iii) Writing pseudocode to specify the programming specifications.
❏ Writing the computer program After preparing the logic, a user has to write the program
code in a particular programming language. The program code should be syntactically and
semantically correct in order to generate the desired result.
❏ Debugging the program After writing the complete program, a user has to apply the
debugging techniques for removing any possible errors in the program. Several programming
environments provide debugging tools that aid the users in effectively and efficiently remove the
errors in a program.
3. Executing the program After developing an error free program, it needs to be executed in order
to view the solution of the original problem.

Chapter Summary
Computer software is one of the most important components of a computer system. The other component of
a computer system is computer hardware. Computer software helps the computer hardware in carrying out their
functions in an effective manner. Computer software can be either system software or application software.
System software is responsible for managing and controlling the hardware resources of a computer system.
System software can be further divided into two major categories, which are system management programs and
system development programs. Operating system, utility programs and device drivers are some of the examples of
Computer Software 233

system management programs. Typical examples of system development programs include linkers, debuggers, and
editors.
Application software is specially designed to cater the information processing needs of end users. Like system
software, application software can be further divided into two major categories, which are standard application
programs and unique application programs. Word processor, spreadsheet, database manager, desktop publisher
and web browser are some of the standard application programs. The unique application programs are specially
developed by the users to meet their specific requirements. For examples, inventory management system and
pay-roll system comes under the category of unique application programs.
Computer based problem solving requires a series of steps such as preparing hierarchy charts, developing
algorithms, drawing flowcharts, writing pseudocodes, and developing and executing programs.

Key Terms to Remember


∑ Hardware: Hardware refers to various electronic and mechanical devices, which are responsible for performing
various operations, such as storing data into the storage devices, transferring data through buses and cables, etc.
∑ Software: Software is a set of programs and procedures containing a number of instructions for processing the
data.
∑ System software: System software is the program that directly controls the working of hardware components of
the computer system, and enables implementation of application software.
∑ Application software: Application software is the software that enables the end user to perform various tasks,
such as creating documents, preparing presentations, creating databases, developing graphics and images, etc.
∑ Operating system: Operating system is a set of various small system software, which control the execution of
various sub processes in a computer system.
∑ Utility program: Utility program refers to a small program that helps perform utility tasks in a computer system.
∑ Device driver: Device driver is a special software that enables a hardware device such as keyboard, monitor and
printer to perform an operation according to the command given by the end user.
∑ Editor: Editor is a program that allows the user to write and edit text in the computer system.
∑ Spreadsheet: Spreadsheet is a computer program that enables the user to maintain a worksheet in which
information is stored in different cells.
∑ Hierarchy chart: Hierarchy chart is a design tool that shows the top-down design of a problem solution.
∑ Pseudocode: Psuedocode is a set of instructions that describe the logic of a solution.
∑ Algorithm: Algorithm is a sequential structure of steps, which are performed to solve a particular problem.
∑ Flowchart: Flowchart is a pictorial representation of a process, which describes the sequence and flow of the
control and information in a process.
∑ Language translator: It is a program that converts a high-level language program into a low-level language
program. Compilers, assemblers and interpreters are examples of language translator.
∑ Compiler: It is a program that translates a high-level program into a machine language program.
∑ Assembler: It is a program that translates a program written in the assembly language into a machine language
program.
∑ Interpreter: It is a program that translates a high-level program into machine code statement-by-statement. That
is, a translated statement is executed before the next statement is translated.
∑ Linker: A program that combines several object code files into a single executable program.
∑ Debugger: It is a program used to detect errors and bugs in a program.
Chapter 19: MOBILE COMPUTING
INTRODUCTION
Rapid advances in Communication Technology have been witnessed. The mobile
revolution has happened and is happening further. Computers are a fact of life, but their
usage by the common man is still limited due to a variety of reasons. The foremost
amongst these reasons is the technicalities involved in using computers. Most people
are averse to using computers because they feel that they will require specialized
training and that even after that they may or may not be capable of using computers.
With the advent of mobile telephony, the acceptance of the mobile has been
unprecedented and this acceptance is increasing very rapidly as evidenced by the
number of mobile sets being sold throughout the world. In fact ‘mobility‘ is the
buzzword in the industry today. Mobility was associated with the mobile salesman who
could be contacted anywhere, anytime and anyhow. This concept found widespread
acceptance through GSM (Global System for Mobile Communication) in 1991.
This growing acceptance of the mobile by everyone, coupled with rapid
technological advancement, led to the natural conclusions that more and more services
and information, apart from telephony, could be made available by proper blending.
Things like accessing information through e-mail or shopping online through mobile
have been targeted and achieved comfortably.
In 1997, four major mobile/ telecommunication companies, viz., Ericsson,
Motorola, Phone.com and Nokia, came together and made a forum known as WAP
Forum. Even before this, Protocols had been developed for the type of additional
services required, separately in Japan and USA. It was felt by the major players in the
mobile telephony arena that coming together and evolving a common standard protocol
would benefit all by opening the world markets to everyone. The major task/objective
before this forum was to provide Internet access from mobile phones. In keeping with
this a WAP (Wireless Application Protocol) was developed and agreed upon.
WAP is a communication protocol and application environment for the deployment
of information resources, Internet access and telephonic services from mobile devices.
The first WAP phones appeared in the market in 1999. The time for Internet to move
from the personal computer to the mobile phone had arrived. But this encountered the
various limitations of Mobiles, as stated under:
1. Too much bandwidth is required for normal Internet applications, which is not
available in wireless.
2. The web page does not fit into the phone display.
3. The typical keyboard is missing in the mobile.
4. TCP/IP & HTTP are as such not suitable for mobile communication, as they
require large overheads as well as a very high processing power on the client
device.
5. Whenever information goes through the various elements of the mobile network, a
little delay is introduced at every element .The air interface, which is used to
transmit data has a limited bandwidth, and together with the accumulated delay,
creates a waiting period, called latency, which is undesirable. For example a
typical HTML page of 20 KB would have a download time of 3 seconds with a
56Kbps modem. This same page on the wireless network would take approximately
17 seconds to download since bandwidth would be 9.6Kbps. (Note with the advent
of GPRS this limitation has been by and large addressed)
Further, an average latency in a wireless network is around 1/2 second but can
be as high as 10 seconds. This can cause severe retransmission and subsequent
congestion.
6. The mobile device has limited memory and limited processing power.
Keeping in mind the above limitations, it is clear that a completely new protocol is
needed to tackle the new scenario for Internet.
THE WAP ARCHITECTURE
The main difference in the architecture, when compared with the Web is the presence of
a WAP Gateway for translating between HTTP and WAP. The goal of WAP was to use
the web structure in order to provide communication between the mobile devices and
the content providers in a more efficient manner than if the web protocols were used.
Refer to the line diagram, and you will notice the following steps that take place in
a WAP Communication:
1. The mobile user will enter the URL of a WAP site
2. The phone will convert the URL into a WSP request
3. The phone will send the WSP request to the WAP gateway
4. The WAP gateway converts the WSP request to an HTTP request
5. The WAP gateway sends the HTTP request to the Internet
6. The web/application server creates a WML page
7. The response is sent back to the WAP gateway
8. The WAP gateway converts WML to binary WML
9. The WAP gateway sends the binary WML using WSP
10. The phone converts binary WML to text WML and displays it
Having seen the elements and working of the WAP architecture, let us look at these
in a little bit more detail.
1. WAP Device: This is the physical device used to access WAP Content. It need not
be a mobile phone and can be PDA also, the only criterion being that it should be
WAP compliant.
2. WAP Client: The only requirement for a device to be WAP compliant is that it
must implement WAE User Agent, WTA User Agent and the WAP Stack.
WAE User Agent or Wireless Application Environment User Agent is the
micro-browser that enables the display of the content. The compiled WML,
WMLScript etc. is received by this browser and is executed or displayed on the
screen of the WAP device.
WTA User Agent or Wireless Telephony Application User Agent executes the
compiled files received from the WTA Server. It includes network functionalities
such as dialing, answering, location indication services, message management, etc.
Connecting to the WAP Gateway using WAP protocols is achieved through the
implementation of the WAP Stack.

Figure 19.1

3. WAP Gateway: The following steps are executed in a WAP session on one’s
mobile phone
l A connection is made between the mobile phone and a WAP gateway
l The address of the WAP site being requested by you is sent to the
gateway from the device’s micro-browser
l The gateway translates this WSP request into an HTTP request and
sends it to the server hosting the site
l The origin server sends back the requested information to the
gateway through HTTP
l The gateway translates and compresses the information and sends it
to the micro-browser in the mobile.
Here are some additional definitions.
Proxy: It is the intermediary element acting both as a client and a server in the
network, and is located between the client and the origin server, and normally caches
the information received from the origin server. This is used to connect wireless
network with the Internet. It contains protocol gateway and encoder/decoder functions.
The coder/decoder (CODEC) within the gateway is used to convert WML and
WMLScript content for low bandwidth, high latency as the situation demands.
Origin Server: is the Server where the WAP site resides.
Gateway: This is the server or element required to connect two different types of
networks. It receives a request directly from the client as if it were the origin server.
WAP INTERNAL STRUCTURE
WAP protocol stack is the set of all layers that form the set of protocols. It has 5
different layers as shown in the Figure below:

Figure 19.2: WAP Protocol Stack


WAP protocols are compact and lighter than TCP/IP used in the web, which have
high overheads and are not effective in high latency and low bandwidth networks.
Wireless Application Environment (WAE)
The Application Layer consists of all the elements related to the development and
execution of an application. This means that the Wireless application Environment will
allow the application developer to create specific services and formats meant for high
latency and low bandwidth devices/networks.
The main components of a WAE are:
l A Markup Language WML
l A Scripting Language WML Script

Wireless Session Layer (WSP)


The Session layer enables applications to share data amongst themselves in an
organized manner. This is done through session services protocols, which provide
functionalities to connect the client and server by using primitives (messages that a
client sends to the server to request a facility). Two types of protocols are mainly used
viz. the connection oriented session services and the connectionless session services.
Connection oriented session services operate over the Wireless Transaction
Protocol and provide facilities used to transmit reliable data and to manage a session.
Connectionless session services operate over the Wireless Transport Layer and provide
only non-confirmed services and unconfirmed push from server to client.
Wireless Transaction Layer (WTP)
The transaction layer provides services through the Wireless Transaction Protocol in
order to accomplish reliable and non-reliable transactions, which operate over the
WDP layer or over the Security layer. Three types of transactions can occur:
a. Reliable requests
b. Unreliable requests
c. Reliable requests with one result message
Wireless Transport Layer Security (WTLS)
Just as concerns of Privacy, Authentication, Data integrity are a matter of grave
importance on the web, likewise WAP also provides security through Wireless
Transport layer security, which is based on Transport layer security which in turn is
based on SSL (Secure Socket Layer used in Web). A WTLS session is initiated between
the mobile and the WAP gateway. At the same time a SSL session is initiated between
the WAP gateway and the web-server. Encrypted content is sent through this connection
from the web server to the gateway, which then translates it and sends it to the mobile
phone.
Wireless Datagram Protocol (WDP)
This is the bottommost layer of the WAP Stack and is extremely portable and inter-
operable on different mobile networks. It protects the upper layers from the bearer
services of the network so that data transmission can be done transparently over the
different bearers like SMS, CSD, USSD, CDMA.
The area or the geographic region which has to be covered by a wireless network is
divided into sections. Each section is called a cell. That is why wireless networks are
also sometimes referred to as Cellular networks. Each cell has an antenna, which is
called a Base Station, which communicates with the mobile phones.
These base stations are controlled by a controller, which is in turn attached to a
mobile switching centre. Base Station Controller has access to the entire wireless
network and, as such, subscribers are able to communicate with normal landlines as
well as mobiles. The mobile phone always communicates with the base station, which
in turns connects you or informs you of an incoming call. In case you are moving and
move out of the base station control, a handing over procedure takes place between the
new base station and the old one whose area you are leaving.
WIRELESS MARKUP LANGUAGE (WML)
The Wireless Markup Language is the HTML of WAP browsers and is transmitted via
the HTTP protocol. Files can be edited by any text editor (in word processors like
Word save as text only) and should have the extension .wml. These files can then be
uploaded to your web space provider with an ftp program. Please note that your
provider has to allow the retrieval of wml-files in the server settings. The current WML
specification can be found at WapForum.org, a short overview on changes from version
1.1 to 1.2 and 1.3 under WML1.3, as well as a Markup Reference and Comparison
Chart for all relevant languages.
Here in our examples, we are using SDK (Software Development Toolkit) to run
our WAP Programs. We have different simulators used for testing it on different
handsets. In this we will be using Nokia Toolkit to run the WAP enabled programs.
Elements
As WML is a language derived from XML, each element has an opening and a closing
tag; if no actual content exists, an abbreviation can be used. WML is, therefore, case-
sensitive; tags have to be given in lowercase letters.
<tag>Content</tag>
<tag/>
<tag attribute=”value1">Content</tag>
<tag attribute=”value”/>
Deck
A Deck is best compared to a traditional HTML page and consists of one or more
Cards. It is always the complete deck that is loaded to the device; therefore, the deck
should be small and contain logically pertaining cards. A Deck has a <wml> Tag at the
beginning (and a reciprocal closing </wml> at the end), and contains Meta-Tags and if
needed <do>-elements good for all cards of this deck.
Prolog
Every valid WML document must contain a prolog giving the used XML version and
WML Document Type Definition (DTD, in this case version 1.2).
<?xml version=”1.0"?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.2//EN”
“http://www.wapforum.org/DTD/wml_1.2.xml”>
We need to begin with Document Prologue, in which we have to give that we are
using xml version=”1.0” and above and in the second line we give the Document type
definition so that all the tags and the protocols which are designed byWAPFORUM.org
are properly taken care of.
<?xml version=”1.0"?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.2//EN”
“http://www.wapforum.org/DTD/wml_1.2.xml”>
Meta-Tags
These proliferate information to search engines and are surrounded by a <head> tag.
These are located at the head of the file after the prolog and the <wml> tag.
<head>
<meta name=”keywords” content=”keyword”/>
<meta name=”description” content=”a description”/>
<meta name=”author” content=”Thomas Ziegler”/>
</head>
Comments
Comments are not displayed in the browser.
<!—This is a comment—>
Files can be saved with the following extensions
Extension Description
.wml Wireless Markup Language
.wmlc Compiled Wireless Markup
Language
.wmls Wireless Markup Language Script
.wmlsc Compiled Wireless Markup
Language Script
.wbmp Wireless Bitmap Language

Cards
A Card is the part of a Deck where the user navigates. He jumps from one <card> to
another - which may reside in the same deck (in the same file) or somewhere else.
<card id=”cardid” title=”Card Title”>
<p>
Text on this card
</p>
</card>
Card Attributes
Id card id, used as jump target
(see Links)
Title A card title
Paragraph Attribute
Id Paragraph id
Align Left/Right/Center
Mode Wrap/Nowrap

Links
Links may be given in two ways, but the <a> tag is preferred.
<anchor>Go to URL<go href=”url.wml”/></anchor>
<a accesskey=”1" href=”#card”>Go to card</a>
<a href=”http://wml.domain.de/deck.wml/#card”>Go to card</a>

Attributes
Many elements (<a>, <input>, ...) can be attributed with positioning aids (for the order
in which a Tab key press traverses them or for a shortcut key directly selecting an
element).
<a tabindex=”1" accesskey=”1" href=”#card1"/>
tabindex: order of selection with the tab key
accesskey: key shortcut. In this example we have used <a> tag & <anchor> tag

<a href=”URL”>
<anchor> tag can’t work without tasks (<go> or<prev/>)

Text Masking
As with HTML special characters have to be masked to be displayed correctly.
&quot; Quotation Mark
&apos; Apostrophe
&amp; Ampersand
&lt; Less than
&gt; Greater than
&nbsp; Non-breaking space
&shy; "Soft hyphen", a conditional hyphenation

Formatting
<em>emphasized</em>
<strong>emphasized</strong>
<b>bold</b>
<i>italic</i>
<u>underlined</u>
<big>big</big>
<small>small</small>

Line Breaks
<br/>
Tasks
<go href=”URL”/> Used for Forward Navigation
<prev/> Used for Backward Navigation
<refresh/> Reloads the current Page
<noop/> No Operations

NAVIGATION

Forward Navigation
When you click on a forward button it will open a new card for you.
Backward Navigation

When you click on a back button it will take you to the previous page. Popping the
current card from the stack.

In this example when we are on the card of Namita Khullar and when we click on
Back it will pop this page and will take the NDIM card or us to the previous. But, if you
are on the BP card and then you click back button it will again open the first card, which
is NDIM.
Do
<do> handles Events.
<do> elements on Card level overwrite <do> tags on deck level with the same
name, with <noop> a deck level event handler can be disabled locally. On deck level
<do> has to be surrounded by <template> and </template>.
label Describes the element
type "accept", "prev", "options", “delete”,
“help”
name Name of the event handler
Now suppose we have created 10 cards in a deck and while pressing prev/back
button we need to come on the first card. We don’t need to key in the command
<do type=”prev”>
<prev/>
</do>
on each card, instead we can create a <template>

But if you see the first card it also has the back button, which is not required. So, we
can use <noop/> task to undo the operation.
Tables
<table title=”Title” columns=”3">
<tr>
<td>Line 1 Column 1</td>
<td>Line 1 Column 2</td>
<td>Line 1 Column 3</td>
</tr>
</table>
Title Title of the table
Columns Number of columns (mandatory)
Tr Begins a new line (Table Row)
Td Begins a new column (Table
Delimiter)

Images
The WBMP format (Wireless Bitmap) is used to code images under WML. Nokia has a
DOS based conversion utility.
<img src=”bild.wbmp” alt=”Text”>
src URL des Bildes
alt Alternative text (mandatory)
align "top", "middle", "bottom"
(alignment)
Events
Events have a Card react on certain triggers
Ontimer The expiration of a timer and the
entry into a card by <go> and <prev>.
Onenterforward When you click Forward
Onenterbackward When you click Backward

Interaction
Select Boxes
Used for user interaction
<select> <select multiple=”true”>
<option>Pass</option> <option>Reading</option>
<option>Fail</option> <option>Writing</option>
</select> </select>
Will display Radio Buttons Will be displayed as
Check-box
Reading Writing
Input
<input> generates a text entry field and validates the entry against a format
specification. The value is returned in a Variable.
<input name=”Name” value=”Template”/>
Name Name of the receiving Variable
Value Template
Type "text", "password"
Format Mask (e.g. A uppercase letters,
N numbers)
Maxlength Maximum length of entry field
Title Title

A <fieldset> groups input tags logically.


Variables
Variables are a powerful enhancement of HTML functionality. They are used to
proliferate status information or user entries from one Card to another or to the server.
Variables are prefixed by a dollar sign ($). Therefore if a $ sign should be used, you
have to write $$.
<p>Value of T is $T</p> Displays the text and the value of variable T.
Variables can be set in different ways:
<go href=”#card” method=”post”>
<postfield name=”x” value=”1"/>
<setvar name=”y” value=”2"/>
</go>
Method: “post”/”get” The known HTML mechanisms for data return.
The variable X is set to the value “1” and the URL #card is called with parameter
x=1 (as #card?x=1).
The variable y is set to “2”, if this link is selected. <setvar> can be used together
with <go>, <prev> and <refresh>.
REVISION EXERCISES
1. Define WAP.
2. Enumerate limitations of Mobile Phones for the internet to move from PC's to
mobile.
3. What do you mean by latency in WAP.
4. With the help of a diagram explain the WAP Architecture.
5. Briefly describe the WAP protocol stack.
6. Explain the following terms used in WML:
a. Elements
b. Deck
c. Meta tag
d. Prolog
e. Cards
f. Forward Navigation
g. Backward Navigation
Chapter 20: MULTIMEDIA
Multimedia is made up of two words multi and media. Multi means many and media
means the way by which we communicate. So multimedia can be said as collection of
ways by which communication can be done. Hence multimedia can be visualized as a
fusion of different modes of media. The personal computer (PC) can now deliver all
types of media-text, still images, graphics audio and full-motion video. The personal
computer brings to all of this media two other important functions, the ability to present
this media in an integrated way and in an interactive way. Multimedia systems combine
a variety of information sources into a variety of applications.
The complexity of multimedia applications stresses all the components of a
computer system. Multimedia requires great processing power to implement software
codes, multimedia file systems and corresponding file formats. The architecture must
provide high bus bandwidth and efficient I/O. Multimedia operating system should
support new data types, real time scheduling and fast interrupt processing. Storage and
memory requirements include very high capacity, fast access times and high transfer
rates. We also need new object oriented, user friendly software development tools, as
well as tools for retrieval and data management. When multiple sources of media are
played back in real time, either locally or in a distributed environment, it can be
difficult to maintain the temporal relationships among the media streams, but it is
required for coherent playback. These temporal relationships have been defined as
inter-media synchronization.
A multiple system consists of three major components; multimedia hardware for
video an audio, an operating system for graphical user interface and software
development and delivery tools supporting multimedia data. An ideal multimedia
system should be capable of handling both motion video and synchronized audio.
Also, a multimedia system should be capable of transmitting real-time video and
audio across a LAN or digital telephone network.
COMPRESSION
Multimedia system require data compression for three reasons: large storage
requirements of multimedia data, slow storage devices and insufficient network
bandwidth for real-time transmission of multimedia data.
For example, a typical multimedia application might store more than 30 minutes of
video, 2000 images and 40 minutes of stereo sound. That would require about 50 GB of
storage for video, 15 GB for images and 0.4 GB for audio. This means a total of 65.4
GB of storage space is required. You can very well imagine how large this space is ! At
the present stage of storage device technology the only solution is to compress the data
before storage and decompress it before playback. Compression techniques can be
classified into two categories: loss less and lossy approaches. Loss less techniques are
capable of perfectly recovering the original representation. Lossy techniques involve
algorithms that recover presentation similar to the original one. The lossy techniques
provide higher compression ratios, therefore, they are more often applied in image and
video compression then loss less techniques. Various groups have established standards
for digital multimedia compression based on existing JPEG, MPEG, etc.
For the past few years, a standardization effort known by the acronym JPEG, for
Joint Photographic Experts Group, has been working towards establishing the first
international digital image compression standard for continuous-tone (multi-level) still
images, other grayscale and colour. MPEG (Motion Picture Experts Group) is an
international standard for the compression of digital audio and video transmission.
MPEG was chartered by the ISO to standardize a coded representation of video and
audio suitable for digital storage media, such as compact disk-read only memory (CD-
ROM), digital audio tape (DAT) etc. The group’s goal, however, has been to develop a
generic standard, one that can be used in other digital video applications, such as
telecommunication. Digital audio compression allows the efficient storage and
transmission of audio data. The various audio compression techniques offer different
levels of complexity, compressed audio quality and amount of data compression.
COMPONENTS OF MULTIMEDIA
The main components of multimedia are text, graphics, sound, animation. Text is an
integral part of any multimedia production and used to add emphasis to presentations.
Graphics can be in the form of illustration, charts, maps, pictures, images, etc. Graphics
aids better understanding and makes presentation lively. Sound is in the form of voice,
music or special effects. Animation can be used to explain complex subjects that are yet
to become reality.
Tools and Accessories
l Sound
Sound can be added in a multimedia presentation work. MS windows comes
with a sound editor called sound recorder. The popular sound editor software
products are ware of widows, voyager ware player, etc.
l Drawing Software
There are many hardware and software accessories to create graphics. To
create graphics paint or drawing program is needed. These programs can create the
graphics ranging from simple squares and circles to complex images. Software
available are Corel draw, Adobe PhotoShop, Paint brush on MS windows, etc.
l Video
Creating video to use on computer is really just a matter of having right tools
and following right steps. The first tool is video camera, second is video capture
board. The video capture board goes inside the computer and enables the user to
capture the video from the video camera. The final tool for capturing the picture is
digital video software packages. With these software packages editing can be done
easily.
l Scanning
Another way to create graphics is by scanner. A scanner scans over an image
such as photo, drawing logo etc, converting it into an image and this image can be
seen on the screen. Using image editors, we can edit the image i.e. adding ,
removing colours, filtering etc. can be done.
l Animation Software
There are many animation software packages available that can be used to
create 2d and 3d animations. We can use Animation studio, Animator pro, GIF
animator, 3d studio max etc.
l Non-Linear Editing
Importing of audio and its integration with video is a very simple feature of
these software. The audio of two channels and the background and foreground audio
can be mixed. The software available is Adobe premiere, Media suite pro, etc.
l Authoring
Nonlinear editing with the capability of interactivity is called authoring.
Authoring is a tool by which we will be able to interactively give any graphics or
screens for the user according to his choice. The software available are
Macromedia director, Multimedia toolbook from Asymmetries etc.
HYPERTEXT AND HYPERMEDIA
In developing hypertext courseware specialized software commonly referred to as
authoring systems are used to manipulate and link text and graphics within the computer
environment. Hypertext based authoring systems allow documents to be built by defining
and manipulating objects on the screen. The author defines navigation buttons which
enable predefined links to be built into the hypertext documents; field buttons which are
set up to contain text and graphical buttons which can be created within the document or
can be exported from the sources. Typical hypertext documents allow the user to browse
materials via a computer’s GUI ( graphical user interface). A GUI is a visual metaphor
which uses icons to represent actual desktop objects that the user can access with a
pointing device. The user navigates through the document by clicking on the buttons or
hotspots defined by the author. The hypering text model supports the concept of learn
enhancing or deepening their knowledge base by establishing new links and new
dimensions to understanding by interacting with the material under consideration.
Hypertext documents can also provide users with the tool to alter or add to existing
material thus blurring the distinction between the developer, the teacher and the learner.
Latest Technologies
With the arrival of the desktop computers new technologies have been developed. Latest
trends are developed in the field of multimedia day-by-day. Some of these are:
l Motion Capturing System
This is a system by which the motion of various living things are captured and
integrated into the computer and assigned to the computer generated models so that
they also behave in a similar manner. This is achieved by fixing sensors all over the
body and allowing the person and the object to act accordingly whereby different
cameras are used to capture the motion from all sides.
l 3d Rapid Digitizer
These are the laser controlled scanners by which any object can be scanned
and the output rather than being a 2d images, is a 3d model. All the effects that are
applicable to 3d modeling and animation can be performed to this object.
l Motion Tracking Cameras
These provide a very flexible way of film making. These cameras record their
movement and motions and all parameters of the shoot. Later when a computer
generated shot is composited on the real shot the camera values can be clear
synchronization between the computer generated shoot and real shoot.
l Voice Recognition Systems
Multimedia is revolutionizing the way we interact with computers. Voice
recognition system enables the computers to recognize commands on voice input
using digital format. The first step towards this has already been taken by the
development of software like Dragon Naturally Speaking and IBM via voice.
l Virtual Reality
Virtual reality is a revolutionary facile attribute of the advanced computers of
today to envelop a user in a 3d simulated world of sight, sound, touch and
movement. There are two classes of virtual reality systems, immersive and desktop.
The most common tool used on the internet in terms of 3d graphics is VRML. It is a
language used to create 3d multimedia tools. VRML is an acronym for the Virtual
Reality Modeling Language. VRML is 3d analog to HTML. This means that VRML
serves as a simple, multiplatform language for publishing 3d web pages. This is
motivated by the fact that some information is best experienced three dimensionally,
such as games, engineering and scientific visualizations, educational experience and
architecture. Typically these types of projects require intensive interaction, animation
and user participation and exploration beyond what is capable with a page, text or
image based format. VRML provides the technology that integrates three dimensions text
and multimedia into a coherent model. When these media types are combined with
scripting languages and internet capabilities, an entirely new genre of interactive
applications are possible. Many have speculated that the 3d world model will
supersede and thus replace the popular 2d desktop model as the primary user interface
paradigm in the next decade. Of course, there are a variety of challenges that need to be
overcome before this is possible, such as 3d user interface and navigating and 3d
graphics performance.
Multimedia Application Areas
Multimedia finds application in various fields as:
l Entertainment
l Broadcasting
l Advertising
l Marketing
l World wide web
l Publishing etc.
Multimedia is being used in the supervision of highly automated industrial plants,
power stations, manufacturing units etc by way of integrating online electronic
documentation facility with the process control system and other video controlled
operations.
High speed networking has introduced opportunities for new multimedia
applications such as :
l Video conferencing
l Medical imaging
l Scientific visualization
REVISION EXERCISES
1. Multimedia system requires data compression. Why compression forms a very
important part of the multimedia application?
2. Illustrate the different components of multimedia.
3. What are the tools and accessories which forms the part of different multimedia
components, discussed above ?
4. Explain in brief
(a) Motion Capturing System
(b) 3d Rapid Digitizer
(c) Motion Tracking Cameras
(d) Virtual Reality
5. How can you effectively make use of different multimedia tools for making a
Educational web site?
Chapter 21: DATA WAREHOUSING
Heralded as the solution to the management information dilemma, the term ‘data
warehouse’ has become one of the most used terms in the IT vocabulary.

INTRODUCTION TO DATA WAREHOUSING


The concept of ‘data warehousing’ dates back at least to the mid-1980s and possibly
even earlier. In essence, it intended to provide an architectural model for the flow of
data from operational systems to decision support environments. It attempted to address
the various problems associated with this flow and the high costs associated with it. In
the absence of such architecture, there usually existed an enormous amount of
redundancy in the delivery of management information. In larger corporations it was
typical for multiple decision support projects to operate independently, each serving
different users but often requiring much of the same data. Legacy systems were
frequently being revisited as new requirements emerged, each requiring a subtly
different view of the legacy data.
Based on analogies with real life warehouses, data warehouses were intended as
large scale collection/storage/staging areas for legacy data, from where data could be
distributed to retail stores or data marts which were tailored for access by decision
support users. While the data warehouse was designed to manage the bulk supply of
data from its suppliers and to handle the organizations and storage of this data, the retail
stores or data marts could be focussed on packaging and presenting selections of the
data to end-users, often to meet specialized needs.
Somewhere along the way this analogies and architectural vision was lost, often
manipulated by suppliers of decision support software tools. Data warehousing ‘gurus’
began to emerge at the end of the 80s, often themselves associated with such companies.
The architectural vision was frequently replaced by studies of how to design decision
support databases. Suddenly the data warehouse had become the miracle cure for the
decision support headache and supplies jostled for position in the burgeoning data
warehousing marketplace. Despite the recent association of the terms ‘data
warehousing’ with OLAP and multidimensional database technology and the instance of
some people that data warehouses must be based on a ‘star scheme’ database structure,
it is wise to restrict the use of designs to data marts. The use of a star scheme or
multidimensional/OLAP (Online analytical processing) design for a data warehouse can
actually seriously compromise its value for a number of reasons:
l Such designs assume that all queries on the warehouse will be of a quantitative
nature- i.e. on aggregated numeric data. This overlooks the fact that data
warehouses can also offer enormous benefit as repositories of text-based or
qualitative data.
l Such designs require the pre-aggregation of data in the data warehouse. In doing
so and eliminating much of the original transactional data, much information can be
lost. If information requirements change, a star or multidimensional design will
quickly become obsolete. A normalized design which accommodates transactional
level data would be able to support any number of alternative aggregations. While
capacity and / or performance constraints may preclude this as an option for some
data, the storage of low level transactional data in a data warehouse should not be
ruled out.
l Optimized models such as star schemes are less flexible than normalized designs.
Changes to business rules or requirements are generally more easily accommodated
by normalized models.
DATA WAREHOUSING: AN EXPENSIVE CONCEPT
While the data warehousing concept in its various forms continues to attract interest,
many data warehousing projects are failing to deliver the benefits expected of them and
are excessively expensive to develop and maintain. The cost of data warehousing
projects are usually high. This is explained primarily by the requirement to locate, clean
and integrate data from different sources-often legacy systems. Such exercise is
inevitably labor-intensive and time-consuming, but is essential to the success of the
project. The cost of extracting cleaning and integrating data represents 60-80 percent of
total cost of a data-warehousing project.
Given the high costs, it is difficult to justify a data-warehousing project in terms of
short-term benefit. If a point solution to a specific management information need, a data
warehouse will often struggle to justify the associated investment. It is as a long-tern
delivery mechanism for ongoing management information need that data warehousing
reaps significant benefits. The focus must be on the reduction of the ongoing cost of data
extraction, cleaning and integration. Reasons for previous data warehousing projects
being very costly are:
l 80 percent of the data used by the various data warehouses access the corporation
from the same 20 percent of source systems.
l Each new data warehousing project usually carried out its own process to extract,
clean and integrate data from the various sources, despite the fact that much of the
same data had been the subject of previous exercises of a similar nature.
l The choice of data to be populated in the data warehouse was usually based on
needs of a specific group, with a particular set of information requirements. The
needs of other groups for the same data were rarely considered.
From these findings it is clear that there is a scope for economics of scale when
planning data warehousing projects. If focus were to be placed initially on the 20 per
cent of source systems which supplied 80 per cent of the data to decision support
systems, then an initial project which simply warehouses ‘useful’ data from these
systems would clearly yield cost benefit to future MIS projects requiring that data.
Benefits should be aimed at the wider audience for decision support. This would form
an invaluable foundation for an evolving data warehouse environment.
When building a data warehouse the use of multidimensional, star-scheme or other
optimized designs should be strongly discouraged, in view of the inherent inflexibility
in these approaches. The use of a relational, normalized model as the backbone of the
warehouse will ensure maximum flexibility to support future growth. If user query
access is then strictly limited to data marts, the data warehouse needs only to support
periodic extracts to data marts, rather than ad-hoc query access. Performance associated
with these extracts can be addressed in a number of ways, e.g., through the use of
staging areas (either temporary or permanent) where relational table structures are pre-
joined or ‘flattered’ to support specific extract process.
Emphasis can be placed on the growth of the warehouse as a global resource for
unspecified future decision support needs, rather than as a solution to specific
requirements at a particular time. In subsequent phases of development, new data, which
is likely to play a major role in future decision support needs, should be carefully
selected, extracted and cleaned. It can then be stored alongside the existing data in the
warehouse, hence maximizing its information potential. As new information need
energy, the cost of meeting them will be diminished due to elimination of much of the
costly functions usually associated with such systems.
Over a period of time, this environment will grow to offer a permanent and
invaluable repository of integrated and enterprise wide data for management
information and decision support systems. This will lead to massively reduced time and
cost to deliver new decision support offerings and to true cost justification.
Once in the warehouse, data can be distributed to any number of data marts for user
query access. These data marts can take any number of forms, from client-server
database to desktop databases, OLAP cubes or even spreadsheets. The choice of user
query tools can be wide and can reflect the preferences and experience of the users
concerned. If the warehouse data is well structured and quality is assured, then
exporting it to new data marts should be a routine and low-cost operation.
THE FIVE DATA WAREHOUSING MISTAKES
Whenever you may be in your data warehousing journey and what ever challenges you
may be facing, rest assured that scores of others have gone before you. And like true
pioneers in most endeavors, the data warehouse trailblazers made some egregious
mistakes. But, you can learn from their errors. According to data warehousing disciple,
Alan Paller (Co-founder and Director of Training, Data Warehousing Institute) the five
mistakes to avoid are:

Different Access Tools for Different Users


Remember the golden olden days, when IT would buy separate graphics packages for
each different word processing package? Many misguided IT professionals purchase
(and support) one kind of data access package for the ‘push-button’ or very novice user,
another package for the simple query user, another for the smart query user and still
another for the hard-core OLAP users and financial analysts. Apart from the expense of
the software and steady stream of upgrades, training users on multiple packages carries
its own financial penance. The vast majority of users need all four of these features at
different times. So it makes the most sense to shop for access and analysis tools that are
flexible and which span the spectrum of access features that users need.
Underestimation of User Demand
From studies of its user members, the Data Warehousing Institute (DWI) has formed that
the member of users double after three months, after six months and yet again a year
after that. Ironically, it is the very success of the warehouse that continually begets more
users-who is turn beget more users.
Is it any wonder that the cozy warehouse project for 200 that you budgeted for last
January has ballooned to 1,600 users in a mere 18 months? And at every step of this
torturous road to mass warehouse use, that IT has chronically misforecast hardware
needs?
Exacerbating the situation is a tendency on the part of hardware vendors to low-ball
initial hardware requirements, perhaps knowing fully well that IT will be moving for
more hardware in no time, presumably from the same vendor. And as warehouse data is
increasingly made available on corporate Intranets, network capacity planning comes to
the fore. Fortunately, the payback and return on investment of data warehousing is
prodigious. Justifying the cost of a warehouse is not the problem-unless you err by
miscaliberating from the outset and find yourself knocking on executive doors every few
months, begging for more hardware.
Confusing and Inconsistent Data Definitions
By doing so, your warehouse will more closely resemble a chaotic, confused tower of
Babel rather than a denormalized database easy for non-programmers to pursue. The
data warehousing Institute reported that one company’s database contained 27 different
definitions of sales. Historically, department managers command IT to build data
definitions in ways that reflect positively on their discrete departments. So for example,
‘sales’ to the shipping department is what needs to be delivered to customers. To the
financial department ‘sales’ is the difference between total revenues and returns. And to
the sales/marketing department, ‘sales’ is what clients have committed to buy. These are
all different definitions that are bound to create confusion over the time and will lead to
a data warehouse built on top of a foundation of inconsistent data definitions. Sales are
sales, right? When the warehouse architects fail to fight the battle for definition
reconciliation, the users can lose faith in the quality of data they’re analyzing.
Most Effort Spent in Cleaning the Data
THE DWL estimates that 70 percent or more of the work involved in a warehouse is in
the data transformation stage, or in prepping operational and third party data for
shipment to the warehouse. Much of that time is spent by IT programmers on niggling
issues, such as figuring out the best way to put monthly data into daily data files.
“Problems associated with cleaning up bits and pieces of data hare an uncanny way of
showing up at 4 PM on Friday afternoon, “ says Paller. The penance, in this case, is a
long weekend in the office resulting from incorrect estimates of programming intensity.
Another aspect is the basic failure to acknowledge that warehousing and OLTP are
fundamentally very different approaches by IT to database technology. As warehouse
users (non-IT people) gain experience, they expect the data they access to be in
aggregate form, such as sums and trends. Eventually they’ll want that data is
precalculated for them, ready to pop up on their screens with the click of a mouse. OLTP
data it isn’t.
Build an Underachieving Data Warehouse
Design, implement and manage a data warehouse that help your company know its
customers better than the competition does. Then give analysts dazzling new insights
into costs. You will gain unparalleled respect from upper management and users. Fail to
build such a value-added warehouse and you could end up on a different path altogether.
If you want to start small with your mistakes, oversee the construction of data marts
that lack a central architecture.
STRATEGIC VALUE OF DATA WAREHOUSES
Speed, flexibility and foresight are the primary characteristics that distinguish
successful organizations in this information age. Businesses of the 90’s must have
management processes in place to monitor and control the organizations while at the
same time decentralizing decision-making in order to react to competitive changes and
take advantage of unexpected opportunities. One central element that supports this
balance between control and flexibility is shared knowledge. Such knowledge, derived
from both internal and external data sources, is converted to information, which can be
readily interpreted. If knowledge and intellectual capital are becoming the key drivers
of competitive advantage, then the intelligent organization is the one that can
modularise, standardize and broadly share its knowledge both internally and in many
cases externally. These are the companies that continually transform their knowledge
bases in the context of a changing business strategy. Information systems play a role in
creating and distributing that knowledge. Specifically, the data warehouse, a central
repository of subject oriented data originating from the companies transactions systems
and external data sources, become a critical information system. The successful
implementation of a data warehouse can have a significant effect in fostering a culture of
knowledge sharing.
While business quest for knowledge has never been greater, slightly less than half of
data warehousing efforts have failed to deliver. On average, companies spend 5 million
dollars implementing data warehouses. Of these, approximately 60% will say the effort
did not successfully provide the return on investment. When on utilized correctly it can
provide insights performance, profitability, cost structures etc. but, like any well -
grounded research effort, the data that is collected and organized must relate
specifically to the areas of study or interest must be pursued later and in stages. Many
organizations have missed the mark by not setting specific objectives for the data
warehouse efforts that relate to the overall business strategy.
MANAGING INFORMATION AS AN ASSET
Intellectual Capital: The New Wealth of Organizations’, Thomas A. Stewart captures
the essence of one of the biggest problems with data warehouses today. He writes “
knowledge assets, like money or equipment exist and are worth activating only in the
context of strategy. You cannot define and manage intellectual assets unless you know
what you are trying to do with them. It's important to separate trivial and transitory
information from important intellectual assets, especially in an era of numbingly rapid
change.” Three key reasons for failure of enterprise data warehouses include:
l Their purpose is not defined and prioritized in the context of the overall strategy;
l They attempt to collect all information including that which may be “trivial or
transitory”, or peripheral to the real need; and
l They take too long to deliver so that the business has changed out from under
them.
In other words, they collect first and understand needs later. Ideally, the data
warehouse should be managed as a company asset. It should be continually reviewed in
the context of the investment objective and it should have high level resources dedicated
to managing it.
The Typical Data Warehouse Failure
The following is typical of a data warehouse effort gone away. A high growth company
adding three tele-sales service centers a month wishes to measure productivity of the
centers and evaluate the quality of those service centres. Nine months and eight hundred
thousand dollars later, nothing of tangible benefit has been delivered to the executive
and the project is halted. On inspection of what happened, it is uncovered that the
information systems organization has been frantically trying to deliver a 500 GB data
warehouse. The problems found are numerous and nearly ubiquitous in data
warehousing projects today.
They Include:
l Data that is required is not collected or not accessible.
l Initial database scope was too broad trying to contain too much information too
soon.
l Not enough time was spent prototyping or understanding the real business needs in
depth.
l Besides the initial project approval, senior management did not provide much
direction on terms of priorities, resulting in a disconnection between the data
needed and the data gathered.
Given the high rate of failure of data warehousing efforts, an alternative
methodology is required. By revisiting the data warehouse in the context of specific
business agendas, many organizations can reorient the data warehouse, establish
targeted applications via the use of data marts and add value to the business.
AN APPROACH TO DATA WAREHOUSING
Successful organizations will adopt a manufacturing paradigm to manage their
information assets. The need for just in time information will drive decisions regarding
the ‘how comprehensive the data warehouse will be’. Data alone is like inventory,
which is expensive to maintain, carrying excess inventory is inefficient and costly.
Likewise, data alone is useless and costly to maintain until it is turned into a finished
product in the form of delivered knowledge to the business users. As in manufacturing,
design begins with the end product in mind. Research is performed to determine which
of a variety of raw materials results in the best final product. Then, these raw materials
result in the best final product. Similarly in designing data warehouse there are
materials (data transactions) which are used to generate components (subject oriented
data warehouses). The components are assembled into products (data marts), which are
distributed via various means (Internet, Intranet, reports PC applications). The products
are then continually reviewed, enhanced, upgraded or discontinued. With this in mind
five important steps in approaching data warehousing are outlined below:
l Align the data warehouse with the business objectives. A data warehouse must be
driven by a specific need. The most successful data warehouse are often developed
in industries undergoing significant change. Some examples are, in health care as
managed care increases, utilities as deregulation is pending, or telecommunications
as long distance, local, cellular and cable services are merging.
l Create a business driven information architecture. An important step in
developing a data warehouse is the development of an information architecture plan
that aligns the business objectives of the users with the data that is required. Three
essential deliverables from the architecture plan should emerge.
v What data to include in the warehouse based on specific business relevance,
v What infrastructure changes must be made to support the data warehouse and,
v What the delivery mechanisms will be.
Organizations often rush to include all possible detail in the initial data
warehouse implementation when perhaps it is unnecessary. Often historical data can
be kept at a greater level of summarization than more current data and specific
detail transactions may not be required for the high priority needs. By creating an
information architecture plan, the trade off including certain pieces of data can be
assessed.
l Be focused-build the foundation in a modular fashion. Homebuilders do not lay
down 20,000 square foot foundations to support 3,000 square foot houses. They
also do not build all the foundations in a new development and then complete the
houses. They establish a plan that lay out the lots and placement of homes,
determine the infrastructure requirements and build the housing development
incrementally. This is the approach that should be adopted in building data
warehouses. Organizations that try to build the enterprise data warehouse to meet
all users’ needs at once inevitable fail. The building and maintaining of an
enterprise data warehouse is a time consuming, difficult and never ending task. By
first planning information architecture an overall design for the enterprise data
warehouse, but actually building it in increments, more focus can be put on the data
mart or delivery mechanisms for high priority business issues. Users desire
business value quickly which will fuel momentum for expanding the warehouse.
l Create dynamic data marts. Data marts are focussed applications utilizing a subset
of the information from data warehouse and embellishing that data by applying a
rich set of business rules and logic to generate a targeted analysis. A data mart is not
necessarily a “departmental” application. Churn analysis, a common application in
telecommunications among other industries is utilized not just by marketing, but by
customer service, sales and finance. These organizations need to determine what
causes churn, how much financial impact it has on the company and how the sales
and customer service areas may be able to prevent churn.
l Manage expectations about data quality and compromise.

IS YOUR DATA WAREHOUSE IN NEED OF REJUVENATION?


If your data warehouse has been subjected to scope creep, changing usage patterns or
inappropriate design, it may be suffering from suboptimal performance. Use the
stepwise approach to find out just how badly it is suffering.
Pick a Subject: Choose a subject area of your warehouse that satisfies a diverse
range of queries and that has been in use for at least six months.
Collect Sample Queries: Collect 10 queries that describe your chosen subject. The
queries collected must satisfy the following criteria:
l Actual “select” statements submitted by users – If you do not have a log of the
SQL submitted by users, find saved versions of queries on the users ‘PCs’.
l Machine written queries – Choose queries that have been generated by a business
intelligence tool, not ones that have been optimized by hand.
l Random sample – If you hand pick the queries, you will introduce a bias.
l Multiple sessions – choose queries from different users in order to avoid
collecting 10 queries from a single analysis.
Design for the Sample: Design a “10 query scheme”. This is a theoretical database
scheme. It includes only the data items that are required for your 10 sample queries. The
“10 query scheme” is not purely a reduced column version of the existing scheme.
Reconsider the degree of de-normalization and the granularity of the data in order to
come up with a design that will yield the least total I/Os for the 10 queries in your
sample.
Compare I/O: For each query, estimate the total I/O (in bytes) under the existing
warehouse design and under the “10 query scheme”. Add the I/O counts for the 10
queries to arrive at a grand total for each design.
If you already have your own reliable means of I/O country, use it. If not, use the
simplified method of I/O counting outlined as below:
Generic method for I/O counting:
l Work out the order in which the tables will be accessed by examining search
arguments, joins and indexes.
l Work out which index will be used for each table.
l Start with the first table and count the number of I/Os in bytes. Add the number of
I/Os for subsequent tables. Assume that the joins are accomplished by means of
nested iteration. If you know that your database engine uses a move optimal join
strategy, reduce the I/O count.
l Treat all I/O as “logical”. For this exercise, it is not necessary to make a
distinction between physical and logical I/Os.
The following formula will be useful:
I/Os for Table Scan – Table width (Bytes)* Total Row Count for Table.
I/Os for read using non-clustered index =(Index Width (Bytes)+Table Width
[Bytes]) * Number of rows read.
I/Os for read using clustered index = (Table width [Bytes])* Number of rows
read.
I/Os for nested iteration = Number of I/Os per iteration * No. Of Iterations
At the end of stop 4 you will have two figures – I/O count for existing design and
I/O count for sample design.
Draw Inference: Calculate the opportunity for rejuvenation by using the formula
below:
Opportunity for rejuvenation = log [(I/O count for existing design)/ (I/O count for
sample design)]
Your warehouse design can be improved, but if improvements are made at the
expense of additional complexity, expert the benefit to be marginal. Look to make
simple improvements. E.g. try and find and remove any excess baggage from your
warehouse.
There are definite opportunities to benefit from design changes to your warehouse.
Consider narrowing the scope of the subject, introducing more levels of granularity,
redesigning your diversion tables, or adopting a decision support architecture that is
less performance hungry.
DATA WAREHOUSING: POSSIBLE PROBLEMS AND COMPLEXITIES
You are going to spend much time extracting, cleaning and loading data. The data
warehousing books, estimates that, in average, 80 percent of the time building a data
warehouse will be spent on this type of work.
Despite best efforts at project management, data warehousing project scope will
increase. To paraphrase, traditional projects start with requirements and end with data.
Data warehousing projects start with data and end with requirements. Once warehouse
users see what they can do with 1990’s technology, they will want much more. Which is
fine! One piece of advice for the warehouse builder is never to ask the warehouse user
what information he wants. Rather, ask what information he wants next.
You are going to find problems with systems feeding the data warehouse, problems
that have gone undetected for years will pop up. You are going to have to make a
decision on whether to fix the problem in what you thought was the ‘reading-only’ data
warehouse or fix the transaction processing system. In this case the data warehouse
developer faces the processing system or building a system dedicated to capturing the
missing information.

Need for Validation


You will need to validate data not being validated by transaction processing systems.
Typically once data are in warehouse many inconsistencies are found containing
‘descriptive’ information. For example, many times no controls are put on customer
names. Therefore, you could have ‘DEC’, ‘Digital’ and ‘Digital Equipment’ in your
database. This is going to cause problems for a warehouse user who expects to perform
an ad hoc query selecting on customer name. The warehouse developer, again, may have
to modify the transaction processing systems or develop (or buy) some data scrubbing
technology.
Some transaction processing systems feeding the warehousing system will not
contain detail. This problem is often encountered in customer or product oriented
warehousing systems. Often it is found that a system which is feeding information to the
warehousing systems does not contain information down to the product or customer
level. By the way, this is what some people label as a granularity problem.
You will under budget for the resources skilled in the feeder system platforms. In
addition to understanding the feeder systems data, you may find it advantageous to build
some of the “cleaning” logic on the feeder system platform if that platform is a
mainframe. Often cleaning involves a great deal of sort/merging tasks at which
mainframe utilities often excel. Also, you may find that you want to build aggregates on
the mainframe because aggregation also involves substantial sorting.
Training for What?
Many warehouse end users will be trained and never or seldom apply their training. A
study claimed that only one quarter of the people who get training in a query tool
actually become heavy users of the tool.
After end users receive query and report tools, requests for IS written reports may
increase. This phenomenon was seen with many of the information centers of the 1980’s.
it comes about because the query and report tools allow users to gain a much better
appreciation of what technology could do. However, for many reasons the users are
unable to use the new tools and to realize the potential. By the way, if this happens do
some honest research on why. Granted these are many reports that are so complex that
IS expertise is going to be required no matter what tool the end user has. However,
many times this phenomenon points to training needs.
The Right Business Rule
Your warehouse users will develop conflicting business rules. Many warehouse tools
allow users to perform calculations. The tools will allow users to perform the same
calculation differently. For instance, suppose you are summarizing beverage sales by
flavor category. Also suppose that the flavor category includes cherry and cola. If you
have a cherry cola brand there is a chance that two users will classify the brand in
different categories. You will find that there are means to incorporate some of the
business rules in your warehouse. However, the number of possible business rules is so
large that you will not be able to incorporate all rules.
Large scale data warehousing can become an exercise in data homogenizing. Data
have quirks! Sometimes when developers combine detailed data for different subjects,
in their efforts to make everything ‘fit’ they can take the life out of the data. For instance,
if your company sells dog food and auto tires, you want to be careful if you are building
a sales data warehouse for both lines of business. You have to make a judgement call as
to whether these businesses fit the same logical and/or physical model.
Space War
‘Overhead’ can eat up great amounts of disk space. A popular way to design a decision
support relational database is with star or snowflake schemes. Personnel taking this
approach usually also build aggregate fact tables. If there are many dimensions to the
data, be aware that and indexes to the fact tables and aggregate fact tables can eat up
many times more space than the raw data. If you are using multidimensional databases,
be ware that certain products pre-calculate and store summarized data. As with
star/snowflake schemes, storage of this calculated data can eat up for move storage thin
the raw data.
The time it takes to load the warehouse will expand to the amount of the time in the
available window. You’ll do yourself well by understanding the different ways to
approach updating the warehouse. Before you decide that you can do complete
refreshes, be aware that “There’s all day Sunday to load the database!” have been
famous last words of more than a handful of warehouse developers.
Right to Access
Assigning security cannot be done with a transaction processing system mindset. At a
conference a speaker discussed how data ware housing requires a philosophical shift
from the “need to know” to the “right to know”. So, if you are building a sales
information system, if you are letting the Midwest manager for bon-bons see only his
sales and are excluding him from seeing the western region sales for crusty rolls, think
twice! There may be some information useful for bon-bon sales in that crusty roll
information. By the way, this is not necessarily advocating wide open access. It is just a
warning for you that if you deal with security (and many organizations are, to great
danger, avoiding it), you will have both a technical and philosophical challenge.
You are building a high maintenance system. Reorganizations, product introductions,
new pricing schemes, new customers and changes in production systems etc., are going
to affect the warehouse. If the warehouse is going to stay ‘current’ (and being current
will be a big selling point of the warehouse), changes to the warehouse have to be made
fast.
You will fail if you concentrate on resource optimization to the neglect of project,
data and customer management issues and an understanding of what adds value to the
customer. If you provide a system that is fast and technically elegant but adds little value
or has suspect data, you will probably loose your customer from day one and will have
a tough time getting him back. For the most part, use of data warehousing systems is
optional. The customer has to want to use the system.
INTELLIGENT WAREHOUSING FOR ERP SYSTEMS

Thousands of companies around the world have made substantial investments in


Enterprise Resource Planning (ERP) systems and they now expect (not unreasonably) to
earn returns on those investments. However, while ERP systems have straitened day-to-
day processes and satisfied a variety of operational concerns, they have not and they
themselves cannot deliver substantial and lasting competitive advantages. Achieving
such advantages requires a different category of software – information
delivery/decision support software – which can access ERP data and organize it for
business – intelligence purposes.

The ERP Rush


In many respects, ERP is clearly a major advance. Organizations are no longer
committed to writing hundreds of thousands of lines of Cobol or other third – generation
software languages to perform standard tasks such as order fulfillment and logistics.
ERP vendors such as SAP, People Soft, Baan and JD Edwards have developed
predefined solutions, so organizations can invest in ready-made standard business
applications.
And once it has been adopted as “the corporate standard”, the whole company can
adapt to it. Everything is linked together, so that when the company issues on invoice, it
does not just register in the financial module, but also anywhere else that is relevant;
materials management, logistics and so on. Compared with the traditional way of
running things, with high maintenance costs, application backlogs and poor system
documentation and integration, ERP had to be a better way of doing things. For many,
ERP holds the promise of an integrated enterprise, bringing improved operational
efficiency, better productivity and increased profitability.
Consequently organizations are prepared to invest significant amounts of resources
into ERP systems. Ironically though, it seems that the bulk of the expenditure goes into
the constancy and systems integration fees that must be thrown at ERP systems to make
them work. IDC estimates that revenue generated from consulting and integration
services for enterprise resource planning (ERP) systems will exceed $34 billion by
2002. Interestingly, IDC found that organizations are spending nearly three times as
much on ERP related consultancy and integration services as they are on ERP software
itself.
Nevertheless, most large organizations have been smitten by ERP. At least 70 per
cent of fortune 1000 firms have, or soon will have, ERP systems in place. What is less
clear is whether organizations are truly convinced of the benefits of ERP or simply
fearful of the consequences if they do not follow their competitors. ERP is seen as very
good for process-management purposes, so it is highly regarded by the middle managers
responsible for operations. But questions and doubts are beginning to surface at the
more senior levels of management, where the costs are immediately apparent, but less
so the benefits.

Competitive Parity or Advantage


Thomas H. Davenport has very eloquently articulated a new concern in his 1998
Harvard Business Review paper, putting the Enterprise into the Enterprise System.
According to Davenport, “when developing information systems in the past, companies
would first decide how they wanted to do business and then choose a software package
that would support their proprietary processes. They often remote large portions of the
software code to ensure a tight fit. With enterprise systems, however, the sequence is
reversed. The business often must be modified to fit the system. An enterprise system is,
after all, a generic solution. Its design reflects a series of assumptions about the way
companies operate in general. Venders try to structure the systems to reflect best
practices, but it is the vendor, not the customer, that is defining what ‘best’ means ….
“An enterprise system, by its very nature, imposes its own logic on a company’s
strategy, organization and culture”. Devenport asks chief executives to ask themselves
the following question: “How similar can our information flows and our processes to be
those of our competitors before we begin to undermine our own sources of
differentiation in the market?”.
Commentators like Devensport acknowledge the tremendous advantage that ERP
systems bring to organizations. But ultimately, the standardization of business processes
can only lead to one conclusion Competitive Parity. The returns on efficiencies
achieved through standardization of business processes will diminish, because
competition will drive all organizations to the same standard levels of efficiency. As
everybody’s business processes become the same, business costs are drives down to a
common base level.
So how will businesses compete in the future? Davensport quotes an ironic remark
from the CEO of a large chemical firm: “Competitive advantage in this industry might
just come from doing the best and cheapest job at implementing SAP”.
Liberating ERP Data
In reality, the outlook is not so bleak.
With the ERP systems, the focus has been essentially on the capture of data and
using that data to fuel the organizations business processes as efficiently as possible.
The problem is that the data has stayed locked into the ERP system and the challenge is
to liberate it for other, more creative purposes. ERP data has the potential to tell an
organization a great deal about its business processes, the organizations customers, its
suppliers, the competitive environment, core competencies and how best to deploy the
organizations resources. If the organization can succeed in getting at this data and
converting it into useful information, it has the opportunity to discover unique
advantages that will take it beyond competitive parity. But, as long as the data in locked
into the ERP system, it is useless for these purposes.
ERP software permits organizations to manage resources across the enterprise and
enables the integration of various standard operational functions. The key word here is
operational. ERP is concerned with the day-to-day processes that are similar in all
businesses. Indeed, as we have seen, ERP software has a tendency to eliminate all
differences in business processes between one organization and the next, a tendency to
make these processes identical, this is not to downplay the importance of achieving
efficiencies in day-to-day processes -in today’s business environment, any organization
that fails to do so will not survive. Operational systems create sizable amounts of raw
data, which has the potential to provide the organization with tremendous amounts of
information about its business performance, customers, competitive environment, sales
channels and so on.
So why do ERP systems fail to deliver this information?
Some key strengths of SAP R/3 and other ERP systems are precisely the barriers
preventing them from becoming effective for information delivery, which SAS Institute
defines as “the process of turning raw data into meaningful information to support
successful decision making”. For example, the business rules-based structure that is
central to process efficiencies makes ERP very ineffective for providing high-level
overviews of the organization.
Information delivery requires maximum flexibility in the data structure. If you need
to restructure data every time you query an operational system, the wait times for a
report become intolerable – assuming it is possible to get the information you want at
all. ERP systems are sufficient if you want to find out the latest status of, say, a sales
order. But to see and predict trends, companies need consolidated historical
information, which ERP systems are not designed to provide. Information delivery
solutions gather information at regular intervals, “time stamp” it and can combine it with
external data sources. This creates the basis for comparisons and thus leads to better
decision making.
The technology at the heart of information delivery is data warehousing. The
fundamental distinguishing characteristics of a data warehouse, as compared with data
systems in the operational environment, are as follows:
l Subject-orientation
l Time-variance
l Non-volatility
l Integration of heterogeneous data sources.
Data is organized by subject to ensure easier and faster reporting. For example
information about customers from several sources can be summarized and consulted.
Additionally, time is an implicit part of the information held in a data warehouse. In an
operational system, the data always reflects the state of business activity as of now. By
contrast, the information in a data warehouse supports, among other things, trend
analysis. Therefore the data is loaded with a “snapshot” of the same information at
different times, to allow trend analysis. Information available in data warehouse is there
to be read, not modified. The information is therefore nonvolatile. Updating or
refreshing the data warehouse means loading a new snapshot of data to the existing data.
As data is loaded into the warehouse, it must be integrated into a consistent structure
that meets business intelligence needs. Moreover, data organizing is for business
intelligence purposes and we exploit it by using business intelligence tools such as
OLAP and data mining. Any solution must be flexible, allowing it to easily meet new
and changing business needs. It is not simplify a once-and-for-all data storage
mechanism.
DATA WAREHOUSING FROM ERP VENDORS
The promise of client/server computing was more than just putting data on desktops. It
was to enable managers at all levels to understand and manage their business from their
desktops. ERP has failed to deliver on this promise; that is to say, while it has increased
the level of process automation it has not significantly improved management’s ability to
exploit information. ERP-centric data warehouse solutions have done little to reverse
this situation. Although third-party tools are required to access non-ERP data, there are
ERP-specific data warehousing solutions in the market that do not address the central
requirement of an enterprise data warehousing strategy, to be able to access and
integrate heterogeneous data sources. These heterogeneous data sources could be
internal (legacy systems), external data sources and multiple instances of an ERP
system(s) such as R/3. If there is a divergence between the business rules governing
these disparate data sources, this inevitable adds to the complexities involved in
extracting and combining R/3 data and non-R/3 data for reports. Alternatively, the data
sources could be external (from suppliers and partners, or from information suppliers
such as credit ratings, demographic and market research data and market feeds). For this
reason many analysts insist that the optimum strategy is to buy on the basis of core
competence. Invest in ERP from an ERP vendor and data warehousing from a date
warehousing vendor. This is particularly important if any of the following conditions
apply:
l Legacy data has to be combined with ERP data.
l There is more than one instance of the ERP system.
l There is more than one data source.
When selecting a data warehousing solution, the future as well as current
requirements should be considered. Data is only likely to remain homogenous up until
the next merger or the next reorganization. A major advantage of a truely intelligent data
warehousing solution is that it is robust, flexible, open and scalable enough to allow the
rapid integration of virtually and new data source.
Since speed of response is key to operational systems, it makes sense from the ERP
perspective to separate ERP from data warehousing. The increased level of process
automation with ERP brings faster response times, however, when combined with
decision support requests, their response times may decline significantly each time the
data is exploited. For example, if a bank’s customers are forced to wait for service at a
teller machine every time management query is being executed, they are likely to take
their business elsewhere! However, there is an important organizational dimension to
this: separation of the technology does not imply separation in management.
DATA MINING: THE NEW PARADIGM

Over the past three decades, computers have been used to capture details of business
transactions such as banking and credit card records, retail sales, manufacturing
warranty and telecommunications etc. The data from these transactional system have
thumb prints of the key trends that impact various aspects of each business – products
that sell together, sources of profits, factors that affect manufacturing quality etc. This
data is gathered over time and stored in a separate database called a data warehouse.
While operational data deals with daily activities, the warehouse data is historical
in nature and is used to obtain perspective on the business trends. In time the insights
gathered from the analysis of historical data are used to improve business decisions.
Data mining is the automatic extraction of patterns of information from historical
data, enabling companies to focus on the next important aspects of their business –
telling them what they did not know and had not even thought of asking.
Industry surveys clearly indicate that over 80 per cent of Fortune 500 companies
view data mining as a critical factor for business success by the year 2000. Many such
companies now collect and refine massive quantities of data in data warehouses.
These companies realize that to succeed in a fast-paced world, business users need
to be able to get information on demand. And they need to be pleasantly surprised by
unexpected, but useful, information. There is never enough time to think of all the
important questions – the computer should do this itself. It can provide the winning edge
in business by exploring the database itself and brings back in valuable nuggets of
information. Many organizations now view information as one of their most valuable
assets and data mining allows a company to make full use of these information assets.

Decision Support
Decision support is a broad term referring to the use of information as a strategic
corporate asset, enabling companies to utilize their databases to make better decisions.
Decision support systems have traditionally realized on three types of analysis.
l Query and Reporting
Where a user asks a question like “what were the sales for a specific product”.
l OLAP
This arguments to the processing of queries along multiple dimensions such as state,
month, etc.,
l Data Mining
This provides influence factors and relationships in data like, “What impacts sales
in New York for a given product”.
We can view the progress of the field over the last 30 years in terms of a series of
steps each providing better and more refined information.
With statistics and reports, just summaries of data were available to business users.
And, the data could only be obtained by request from an analyst. With data warehousing,
some query and reporting could be performed by business users on their own.
With OLAP, multidimensional summery questions could be addressed by business
users, like finding out the total of sales by product, by channel, by month. With data
mining, analysts and a sophisticated subset of business users could gain insight into the
influence factors and trends in data. But often significant analysis was needed before
key questions could be answered.
With knowledge access, almost all the relevant patterns in the data are found
beforehand and stored for use by business users. Business users get the interesting
patterns of change every week or month or can query the pattern – base at will.
Because large databases often provide too much of a good thing, approaches based
on Query and OLAP usually encounter a problem known as “The maze of a million
graphs” – a user can build a million pie charts and yet not see the forest for the trees
because there is so much data. Data mining, on the other hand, draws its power from the
ability to search through the data with its own initiative, discovering key patterns by
itself.
Although the three approaches above are useful, they share a common trait in that
the user has to perform analysis to gain knowledge, this is called the Data Analysis
Paradigm. A morel and unique approach to empowering business users with refined
information is the Knowledge Access Paradigm pioneered by Information Discovery.
With the knowledge access paradigm data analysis is performed beforehand and the
user just looks up the premined knowledge on demand.
To distill information from a database we obviously need to perform analysis at
some time. The key question is when. In other words, does the analysis takes place at
the time the user needs the knowledge or is it done beforehand, with the knowledge
ready to access? Traditionally, data mining analyses were performed upon user request.
The knowledge access paradigm rescues users from delayed analyses by pre-mining
refined knowledge. Hence there are two distinct paradigms for empowering users with
knowledge:
l Data Analysis Paradigm
In this users operate on data to discover information. This paradigm relies on
the analysis on demand approach.
l Knowledge Access Paradigm:
In this the analysis is automatically done beforehand, refined patterns are pre-
generated and users just get knowledge when needed.
The knowledge access paradigm forever changes the game in favor of the business
user. The user can just reach for refined knowledge when needed, without the need for
analysis. Taking this a step further, the knowledge transfer system makes life even easier
for the business user. There is no longer a need to even ask questions, all a business
user does is interact with a web-based system that transfers knowledge to the user with
its own initiative, determining what the user needs to know. It provides a multitude of
benefits to the business user:
l Condensed Information
Because of disk space limitations, many organizations only store 12 or 24 month
worth of historical data. However, because knowledge is so much more compact than
data, the pattern – base is only a fraction of the size of the database, allowing many
years worth of patterns to be stored with ease, even when the data is no longer
available.
l Easy to Use, yet powerful
Business users without technical knowhow can access knowledge without training –
they just click a graphic user interface from within a web-browser. And, the knowledge
access approach is more powerful because multiple types of powerful patterns are
automatically merged to answer serious questions.
l Fast Response and Overall Efficiency
When a user requests knowledge, no analysis is needed and following-up questions
are answered quickly, without delay. Because patterns are not recomputed each time for
each user, the overall system efficiency is much higher. Computations take place only
once and users access the refined knowledge again and again.
l Accuracy and Quality
Because sampling and extract files are avoided, the discovered patterns correspond
to the entire database and have high accuracy resulting in better decisions. And because
patterns are stored in a single repository, all users get similar answers, rather than
relying on fragmented analysis.
l Up-to-date Knowledge
Because the pattern-base is incrementally updated, recent patterns are always
possible.
The knowledge access paradigm is a truly revolutionary idea with a multitude of
business and technical benefits that reinforce each others. It will forever change the way
you access your corporate knowledge.
GEOGRAPHICAL INFORMATION SYSTEM
Several years ago, telecommunications carrier GTE tracked the progress of its fibre-
optic network by policy pins into maps handed out by a car rental agency. Today,
Geographical Information System (GIS) provide a much more sophisticated way for
companies such as GTE to gather a wide range of information and display it on
computer generated maps.
Geographical information is one of the most important information. This is a vital
component in decision making of a firm. A firm's venders, dealers, distributors,
customers etc. are located all over the region. So there has to be some kind of software
which makes it easy and efficient to manipulate the geographical data.
GIS always creates an usage of the software used for geographical surveys. But they
are applicable to business and corporate world. GIS can be used in almost all the
functioned areas of business.
GIS is a computer based system which stores, manipulate and retrieve the
information related to graphical decisions of a company.
The number of business applications of GIS has grown significantly in the last few
years. For example, Mobil Oil used a GIS product called Map Info for crisis
management in the event of an oil spill or task explosion and levi strauss uses GIS to
match stores product mix with customer demographics.
Therefore GIS is a very important tool used for information sharing between
various departments on the basis raw material, etc. This geographical information
utilized at the right time can lead to immense profits.
REVISION EXERCISES
1. Give a brief introduction to data warehousing.
2. Why does the use of a star schema or multidimensional / OLAP (On-line
analytical processing) design for a data warehouse seriously compromises its
value? How can one overcome the problems?
3. Why data warehousing sometimes can be an expensive preposition?
4. How can a data warehousing person can effectively understand the users
requirement?
5. Explain the terms
(a) cleaning the data
(b) data definition
(c) strategic value of data warehouses
(d) data warehousing from ERP vendors
6. Explain briefly the important steps in approaching data warehousing?
7. What is the need for validation in data warehousing?
8. Prepare a project on data warehousing for the automobile industry.
9. What are the main reasons behind a Data warehouse failure?
10. Illustrate various steps involved in rejuvenating the data warehouse structure.
11. Explain the complexities and problems associated with data warehouse.
12. Define the Relationship between data warehousing and ERP concept.
13. Explain in detail the approach of data mining.
14. Why GIS is important from the corporate point of view?
15. What kind of Geographic Information would be an educational institution
interested in?

You might also like