0% found this document useful (0 votes)
17 views64 pages

Reference Computer Application Management

The document provides an introduction to computer systems, covering their evolution, architecture, data representation, and classification. It highlights the significance of computers in modern life, their characteristics, and the historical development of various computer generations. Additionally, it categorizes computers into types such as analog, digital, microcomputers, minicomputers, workstations, mainframes, and supercomputers.

Uploaded by

msc1011jan2024
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)
17 views64 pages

Reference Computer Application Management

The document provides an introduction to computer systems, covering their evolution, architecture, data representation, and classification. It highlights the significance of computers in modern life, their characteristics, and the historical development of various computer generations. Additionally, it categorizes computers into types such as analog, digital, microcomputers, minicomputers, workstations, mainframes, and supercomputers.

Uploaded by

msc1011jan2024
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

------------------------------------------------------------------------------------------------------------

INTRODUCTION TO COMPUTER SYSTEM


------------------------------------------------------------------------------------------------------------
Structure

1.1 Introduction
1.1.1 Evolution of Computers
1.1.2 A Brief History of Computers
1.1.3 Characteristics
1.1.4 Classification
1.1.5 Generations

1.2 Computer Architecture


1.2.1 Components of Computer System
1.2.2 Computer Memory

1.3 Data Representation


1.3.1 Number Systems

1.4 Review Questions

------------------------------------------------------------------------------------------------------------
1.1 INTRODUCTION
------------------------------------------------------------------------------------------------------------
Computer has been the premier invention of this century. Now a days Computer plays an
important role in almost every part of our lives, and their importance is so great that
without them we would not be able to live the way we do. Look around you and you
would find computers scattered all over the places, starting with the machine of computer
to washing machine to refrigerator to car to mobile and to life saving devices with the
doctors; everywhere a small computer working for your convenience and they seem
performing almost any task in the world. Computers have had a tremendous impact on
the way information is processed with in the organization. Although information have
been processed manually throughout the history but with modern management where
decision-making is so fast and the era of corporate governance is not possible without the
help of information system managed by computers.

The word “computer” comes from word compute, which means to calculate. “A
computer is a programmable machine (or more precisely, a programmable sequential
state machine) that operates on data and is used for wide range of activities”.

Computer is an electronic device or combination of electronic devices, which solves


problem after accepting the data and supply the result to the user. Computer is a

5
tool, which can be used to read and write stories, draw and look at images, and send and
receive e-mail. They can store large information and perform various scientific and
mathematical tasks.

Basically Computer system are a combination of the five elements i.e. Hardware,
Software, People, Procedure and Data / information. The computer organization often
compared with the human brain. Just think of a human brain how it works, first of all it
can store the data with its five senses (Just like input devices in computer), it can process
the gathered information and could reach to some conclusion drawing from the raw data
(Just like the processing of computer system) and then it can deliver the output or result
with speech or with expression (Just like the output device).

Fig. 1.1: A Basic Personal Computer System

6
1.1.1 Evolution of Computers

7
8
1.1.2 A Brief History of Computers
"History reveals a clear pattern in the evolution of computers. Processing power increases
rapidly after the introduction of the new technology. The rate of growth eventually slows
down as the technology is exploited to its full potential. While in the background other
technologies are nurturing and one ultimately supersedes the other to become the
dominant technology and this cycle is repeated.

Under the right conditions the shift to the new technology can lead to possible increase in
processor speed of hundred to thousand times. In order to have a better idea of the

9
evolution of computers it is worthwhile to discuss some of the well- known early
computers. These are as follows:

1. The Mark I Computer (1937-44): Also known as Automatic Sequence Controlled


calculator, this was the first fully automatic calculating machine designed by Howard A.
Aiken of Harvard University in collaboration with IBM (International Business
Machines) Corporation. It was an already developed for punched card machines.

Although this machine proved to be extremely reliable, it was very complex in design
and huge in size. It used over 3000 electrically actuated switches to control its operations
and was approximately 50feet long and 8 feet high. It was capable of performing five
basic arithmetic operations: addition, subtraction, multiplication, division, and table
reference on numbers as big as 23 decimal digits. It took approximately 0.3 second to add
two numbers and 4.5 seconds for multiplication of two numbers. Obviously, the machine
was very slow as compared to today’s computers.

2. The Atanasoff- Berry Computer (1939-42): Dr. John Atanasoff developed an


electronic machine to solve certain mathematical equations. The machine was called the
Atanasoff Berry Computer or ABC after its inventor’s name and his assistant, Clifford
Berry. It used 45 vacuum tubes for internal logic and capacitors for storage.

3. The ENIAC (1943-46): The Electronic Numerical Integrator and Calculator (ENIAC)
was the first all electronic computer. It was constructed at the Moore School of
Engineering of the University of Pennsylvania, U.S.A by a design team led by Professors
J. Presper Eckert and John Mauchly.
The team developed ENIAC because of military needs. It was used for many years to
solve ballistic related problems. It took up wall space in a 20 x 40 square feet room and
used 18,000vacuum tubes. It could add two numbers in 200 microseconds and multiply
them in 2000 microseconds.

4. The EDVAC (1946-52): A major drawback of ENIAC was that its programs were
wired on boards that made it difficult to change the programs. Dr. John Von Neumann
later introduced the” stored program” concept that helped in overcoming this problem.
The basic idea behind this concept is that a sequence of instructions and data can be
stored in the memory of a computer for automatically directing the flow of operations.
This feature considerably influenced the development of modern digital computers
because of the ease with which different programs can be loaded and executed on the
same computer. Due to this feature, we often refer to modern digital computers as stored
program digital computers. The Electronic Discrete Variable Automatic Computer
(EDVAC) used the stored program concepts in its design. Von Neumann also has a share
of the credit for introducing the idea of storing both instructions and data in binary form(
a system that uses only two digits – 0 and 1 to represent all characters), instead of
decimal numbers or human readable words.

5. The EDSAC (1947-49): Almost simultaneously with EDVAC of U.S.A.; the


Britishers developed the Electronic Delay Storage Automatic Calculator (EDSAC). The

10
machine executed its first program in May 1949. In this machine, addition operations
took 1500 microseconds and multiplication operations took 4000 microseconds. A group
of scientists headed by Professor Maurice Wilkes at the Cambridge University
Mathematical Laboratory developed this machine.

6. The UNIVAC I (1951): The Universal Automatic Computer (UNIVAC) was the first
digital computer that was not “one of a kind”. Many UNIVAC machines were produced,
the first of which was installed in the Census Bureau in 1951 and was used continuously
for 10years. The first business use of a computer, a UNIVAC I, was by General Electric
Corporation in 1954.

In 1952, the International Business machines (IBM) Corporation introduced the IBM-701
commercial computer. In rapid succession, improved models of the UNIVAC I and other
700- series machines were introduced. In 1953, IBM produced the IBM-650, and sold
over 1000 of these computers. UNIVAC marked the arrival of commercially available
digital computers for business and scientific applications.

1.1.3 Characteristics
The ever-increasing use of computer is due to its special characteristics. Computer is not
just a calculating machine; they also have the capability of doing complex activities and
operation. Main characteristics of the computer are given bellow:

1. Speed: Computer is very fast and accurate device. Since electronic pulses travel
at incredible speed and they are electronic device its internal speed is virtually
instantaneous. A microcomputer can process millions of instruction per seconds
over and over again without any mistake.

2. Accuracy: Computers physical circuits rarely make errors, if the data and
instruction are correctly fed. Most errors which occur in computers are either
hardware error or human error

3. Storage: Computers have a large amount of memory to hold a very large amount
of data, we can store large amount of data information in the secondary storage
device.
4. Programmability: A computer is programmable; i. e. what computer does
depend on the lines of instruction (Program) it is using.

5. Diligence: Computer is free from problems like lack of concentration, and


confusions etc. Computer is never confused like humans and it can perform
instruction again and again without failing or getting bored.

6. Versatility: We can perform many different types of tasks on computer, one


moment it might be busy in calculating the statistical date for annual performance
evaluation of a business organization and next moment it might be working on
inventory control.

11
7. Power of remembrance: Unlike humans, computer can store things for unlimited
period of time. It has great remembering power.

1.1.4 Classification
Computers can be classified many different ways -- by size, by function, and/or by
processing capacity. We will study the classification of computers by size. The size of a
computer often determines its function and processing capacity. The size of computers
varies widely from tiny to huge and is usually dictated by computing requirements. For
example, it is clear that the IRS will have different requirements than those of a college
student.
There are two basic kinds of computers: analog and digital.

A. Analog computers
Analog computers are analog devices. That is, they have continuous states rather than
discrete numbered states. An analog computer can represent fractional or irrational values
exactly, with no round off. Analog computers are almost never used outside of
experimental settings. They handle or process information, which is of physical nature.

Fig. 1.2 Analog Computers

B. Digital Computer
Digital computer is a programmable-clocked sequential state machine. A digital
computer uses discrete states. A binary digital computer uses two discrete states, such as
positive/negative, high/low, on/off, used to represent the binary digits zero and one. They
process data, which is essentially in a binary state.

Now these days, we rarely came across of analog computers in routine life. Digital
computer does not get evolve in sparks time. It took more than five decades to emerge it
as the most usable devise today. Let’s take the glimpse of its siblings.

12
Fig.1.3 Digital Computer

1) Micro Computers: A microcomputer’s CPU is a microprocessor. The microcomputer


originated in late 1970’s. The first microcomputers were built around 8-bit
microprocessor chips. What do we mean by an 8-bit chip? It means that the chip can
retrieve instructions/data from storage, manipulate, and process an 8-bit data at a time or
we can say that the chip has a built- in 8-bit data transfer path. 8088 was a 8/16 bit chip
i.e. an 8-bit path is used to move data between chip and primary storage (external path),
but processing is done within the chip using a 16-bit path (internal path) at a time 8086 is
a 16/16 bit chip i.e. the internal and external paths both are 16 bit wide. Both these chips
can support a primary storage capacity of up to 1 Mega byte (MB).

Fig. 1.4 Micro Computer

2) Minicomputers: The term minicomputer originated in 1960s when it was realized


that many computing tasks do not require an expensive contemporary mainframe
computers but can be solved by a small, inexpensive computer. Initial minicomputers
were 8 bit and 12 bit machines but by 1970’s almost all minicomputers were 16 bit
machines. The 16 bit minicomputers have the advantage of large instruction set and
address field; and efficient storage and handling of text, in comparison to lower bit
machines. Thus, 16-bit minicomputer was more powerful machine, which could be used
in variety of applications and could support business applications along with the scientific

13
applications. With the advancement in technology the speed, memory size and other
characteristics developed and the minicomputer was then used for various stand alone or
dedicated applications. The minicomputer was then used as a multi-user system, which
can be used by various users at the same time. Gradually the architectural requirement of
minicomputers grew and a 32-bit minicomputer, which was called super mini, was
introduced. The super mini had more peripheral devices, larger memory and could
support more users working simultaneously on the computer in comparison to previous
minicomputers.

Fig. 1.5 Mini Computer

3) Workstation is a powerful stand-alone computer of the sort used in computer aided


design and other applications requiring a high-end, expensive machine with considerable
calculating or graphics capability. Machines using Intel Processor P2 at 400 MHz is an
example of workstation. Now these day’s computers having P-4 or AMD Athlon type
microprocessor also come in the classification of workstation.

4) Mainframe Computers are very powerful, large-scale general-purpose computers.


Their word length may be 48,60 or 64 bits, memory capacity being in some megabytes
and storage capacity in some terabytes etc. A mainframe is simply a very large computer.
And totally different from what you have on your desk. Don't say: what seems to be a
mainframe today is on your desktop tomorrow. Apart from the CPU's (processors) that is
far from true. Mainframe is an industry term for a large computer. The name comes from
the way the machine is build up: all units (processing, communication etc.) were hung
into a frame. Thus the main computer is build into a frame, therefore: Mainframe and
because of the sheer development costs, mainframes are typically manufactured by large
companies such as IBM, Amdahl, and Hitachi. Their main purpose is to run commercial
applications of Fortune 1000 businesses and other large-scale computing purposes. Think
here of banking and insurance businesses where enormous amounts of data are processed,
typically (at least) millions of records, each day. They are used where large amount of
data are to be processed or very complex calculations are to be made and these tasks are
beyond the capacities of mini computers. They are used in research organizations, large
industries, airlines reservation where a large database has to be maintained. Examples are
IBM 4300 series, IBM Enterprise system/9000 series.

14
Fig. 1.6 Mainframe Computer

5) Super Computers processing capabilities lies in the range of GIPS2, word length
64-128 or may be in 256 or so. Memory capacity in some gigabytes or in
terabytes and storage capacity in pixabytes. It contains a number of CPU’s, which
operate in parallel to make it faster, giving them their speed through parallel
processing. They are used for weather forecasting, weapons research and
development, rocketing, aerodynamics, atomic, nuclear and plasma physics.
Supercomputers have limited use and limited market because of their very high
price.

Fig.1.7: Super Computer

They are being used at some research centers and government being used at some
research centers and government tasks. Examples of users of these computers are
governmental agencies, such as the IRS, the National Weather Service, and the
National Defense Agency. Also, they are used in the making of movies, space
exploration, and the design of many other machines. Supercomputers are used for
tasks that require mammoth data manipulation.

15
1.1.5 Generations
‘Generation’ in computer talk is a step of changing technology. It provides the framework
for the growth of computer industry. There are five generations of computer with the first
generation computers being those, which became commercially available in the early
1950s.

First Generation Computers (1951- 1958)


The first generation of computer was marked by the use of vacuum tubes for the
electronic components and by the use of either electrostatic tubes (i.e., cathode ray tubes)
or mercury delay lines for storage. Examples of such first generation machines are
EDSAC (operational in 1949), SEAC (1950, the first stored program computer
operational in the US), EDV AC (1951) and IAS (1952). This generation lasted until the
end of the 1950s and computers in this era had their basis in wired circuitry and
thermionic valves.
Their outstanding features were:

• Vacuum Tubes Circuit


• Drum Primary Storage
• Batch processing
• Few thousand instructions per second is the processing speed
• Machine language was the language used
• It produce large amount of heat
• Very expensive
• Poor reliability
• ENIAC, EDVAC, EDSAC, UNIVAC are some of the first generation computers
• Quite large and, because they generated a lot of heat, required special housing
• The medium of internal storage was magnetic drum.

Second Generation Computers (1959-1964)


The second-generation machines were initially marked by either magnetic drum or
magnetic core storage and, later, by the use of the transistor in place of vacuum tubes.
The second generation, which covered the first half of the 1960s, saw the introduction of
printed circuits and the replacement of vacuum by transistors. Typical computers were
the ICT (ICL) 1300 and the IBM 140J.
The outstanding features of this generation were:

• Transistors and diodes were used


• Magnetic primary storage
• Tape secondary storage
• One million instructions per second is the processing speed
• Assembly and Fortran were the language used
• Very expensive
• Better reliability
• Faster then the faster generation
• Reduced generated heat

16
• Required less power to operate
• Increase storage capacity

Third Generation Computers (1965- 1975)


The arrival of the third generation in the mid-1960s proved to be an important milestone
in the evolution of computers. The advances over the previous generation were very
significant and, although relatively expensive, allowed an increasing number of
organizations to reap the undoubted benefits which computerization could bring. Because
of the 'high costs involved and the need to get maximum utilization from the machine, the
computer service bureau business was spawned. This in itself was important in that it
allowed companies to avail themselves of the new technology and to take advantage of
the continuing developments. Many of the computers acquired by companies during this
period are still in use.
The following are the outstanding features of this generation:

• Magnetic Disk Secondary Storage


• On-Line Real Time Processing
• Used operating System
• Multiprogramming Operating System
• Development of the micro computer
• Integrated Circuits
• Faster than the previous generation of the computer
• Better storage device (tape)
• Improved input and output device
• Transistor replaced by Integrated Circuits
• IBM- 370, NCR 395 were the third generation computers

Fourth Generation Computers (1975- present)


The fourth generation of computers arrived in the mid-1970s. The distinguishing
marks were the introduction of standard architecture, which was provided for greater
mobility of systems, the introduction of micro-technology and significant software
developments. The IBM-4300 and ICL-2900 ranges coincided with the start of this
era. Micro-technology gave rise to the availability of microcomputers, word
processors and intelligent terminals.
The outstanding features of this generation are:

• Further reductions in the size of the hardware


• Better price performance
• Large scale and very large scale Integrated Circuits (LSI/VLSI)
• Semiconductor primary storage
• Online real time processing
• User friendly software
• Widespread use of CRT terminals
• Development of t electronic spreadsheet
• High-level languages

17
• Microprocessor used
• Increase cost of software
• Data base management system
• Distributes processing
• Graphics manipulation
• Pentium/AMD based are the fourth generation computers

Fifth Generation Computer


It is very difficult to define the fifth generation of the computer. The most famous
example of this generation computer is fictional HAL9000 from Arutur C. Clarke’s novel
HAL performed all of the functions currently envisioned for real time fifth generation
computer

• Organic chips
• Decreasing cost of software
• Decreasing cost of hardware
• Artificial Intelligence
• Multi point input-output
• Large storage facility
• Auto decision
• High speed
• Under development in USA, Japan and UK
------------------------------------------------------------------------------------------------------------
1.2 COMPUTER ARCHITECTURE
--------------------------------------------------------------------------------------------
We have seen that computer affects our life in a big way by increasing the efficiency and
enhanced ability. Now we will have to look for the anatomy of computer. What it is made
up of? The architecture of a simple and basic computer system. The parts of computer as
we know did not appear all at once in one machine by one person. It is a continuously
evolving process starting as early as 17th century when people began to work on
machines that would automate task and to your surprise the first such machine was
developed in 17th century by mathematician and philosopher Blaise Pascal but it was not
an electronic device. It was purely a mechanical machine, which used meshed gears to
add and multiply the numbers. But after him there was a long gap when an idea emerged
from Charles Babbage to process information although he could never successfully
develop such mechanical machine but his idea was of million dollar worth. That’s why he
is known as a first father of computer. Modern electronic computer started taking shape
in 1940 with the invention of Mark – I Computer since then there have been a lot of
research and new inventions in the technology of computer.

1.2.1 Components of Computer System (I/O Devices)


A computer system has the following main components:

Input Unit/Devices
Output Unit/Devices

18
Central Processing Unit
Memory Unit/Storage Devices

All these components are basically the integral parts of general-purpose computers. These
may be the Desktop systems or Workstations. The diagram of a generalized architecture
of a computer system is shown here

Fig. 1.8: Architecture of a Computer System

Input/ Output Unit


We know that the computer is a machine that processes the input data according to a
given set of instructions and gives the output. Before a computer does processing, it must
be given data and instructions. After processing, the output must be displayed or printed
by the computer. The unit is used for getting the data and instructions into the computer
and displaying or printing output is known as an Input/Output Unit (I/O Unit).

There are many peripheral devices, which are used as input/output units for the computer.
The most common form of input device is known as a terminal. A terminal has an
electronic typewriter like device, called keyboard along with a display screen, called
Visual Display Unit (VDU) or monitor. Keyboard is the main input device while the
monitor can be considered both as an input as well as an output device.

A) Input Devices
Input unit performs following functions:
a) It accepts (or reads) instructions and data from outside world.

19
b) It converts these instructions and data in computer acceptable form.
c) It supplies the converted instructions and data to computer system for further
processing.

Input Devices are used to input data, information and instructions into the RAM. We
may classify these devices into the following two broad categories:

• Basic Input Devices


• Special Input Devices

Basic Input Devices


The input devices, which have now days become essential to operate a PC, may be called
as Basic Input Devices. These devices are always required for basic input operations.
These devices include Keyboard and Mouse.

Special Input Devices


The input devices, which are not essential to operate a PC, are called as Special Input
Devices. These devices are used for various special purposes and are generally not
required for basic input operations. These devices include Trackball, Light Pen, Touch
Screen, Joystick, Digitizer, Scanner, OMR, OCR, Bar Code Reader, MICR and Voice
Input Devices.

B) Output Devices
An Output unit performs following functions:

a) It accepts the results produced by a computer, which are in coded form and hence, we
cannot easily understand them.
b) It converts these coded results to human acceptable (readable) form.
c) It supplies the converted results to outside world.

Output devices are hardware components, which are used to display or print the
processed information. We are discussing below the structure, working and uses of the
common output devices:

Monitor
Visual Display Unit (VDU) commonly called, as monitor is the main
output device of a computer. It consists of a Cathode Ray Tube (CRT),
which displays characters as an output. It forms images from tiny dots,
called pixels that are arranged in a rectangular form. The sharpness of the
image (screen resolution) depends upon the number of pixels.

Printer
Printer is the most important output device, which is used to print information on paper.
Printers are essential for getting output of any computer-based application.

20
PRINTER

Impact Non Impact

Example: Dot Matrix, Daisy Wheel Example: Inkjet, Laser,


Thermal, LED

Table 1.9 Classifications of Printers

Central Processing Unit


Central Processing Unit (CPU) is the main component or "brain" of a computer, which
performs all the processing of input data. Its function is to fetch, examine and then
execute the instructions stored in the main memory of a computer. In microcomputers,
the CPU is built on a single chip or integrated Circuit (IC) and is called as a
Microprocessor. The CPU consists of the following distinct parts:

• Arithmetic Logic Unit (ALU)


• Control Unit (CU)
• Registers
• Buses
• Clock

Memory Unit
Memory Unit is that component of a computer system, which is used to store the data,
instructions and information before, during and after the processing by ALU. It is
actually a work area (physically a collection of integrated circuits) within the computer,
where the CPU stores the data and instructions. It is also known as a
Main/Primary/internal Memory.

1.2.2 Computer Memory


Memory in a computer system is required for storage and subsequent retrieval of the
instruction and data. A computer system uses variety of devices for storing the instruction
and data, which are required for its operations. Normally we classify the information to
be stored on computer in two basic categories: Data and the instructions.

21
“The storage device along with the algorithm or information on how to control and
manage these storage devices constitutes the memory system of computer”. A memory
system is a very simple system yet it exhibits a wide range of technology and types. But
unfortunately, faster memory technology is more costly. In addition fast memories
require power supply till the information needs to be stored. These things are not very
convenient, but on the other hand the memories with smaller cost have very high access
time, this is the time taken by CPU to access a location in the memory in high, which will
result in slower operation of the CPU. Thus, the cost versus access time anomaly has lead
to a hierarchy of memory where we supplement fast memories with larger, cheaper,
slower memories. This memory unit may have different physical and operational
characteristics, therefore, making the memory system very diverse in type, cost,
organization, technology and performance. This memory hierarchy will be fruitful if the
frequency of access to slower memories is significantly less than the faster memories.

Cache
Fast, Small,
Experience Main Memory (RAM)

Magnetic Disk
Slow,
Large, Cheap Magnetic Tape

Thus, a memory system can be considered to consist of three groups of memories. These
are:
1) Internal Processor Memories: These consist of the small set of high speed
registers which are internal to a processor and are used as temporary locations
where actual processing is done.

2) Primary memory or main memory: It is a large memory, which is fast but not
as fast as internal processor register. Processor directly accesses this memory. It
is mainly based on integrated circuit.

3) Secondary or Auxiliary Memory: Auxiliary memory is in fact much larger in


size than main memory but is, slower than main memory. It normally stores
system programs, and data files. These cannot be accessed directly by
processor.

Memory
Memory- is also known as the primary storage or main memory/ internal memory. It is a
apart of microcomputer that hold data for processing, instruction for processing the data
(the program) and information (processed data) .It is of the following three types:

22
1. Read Only Memory (ROM)
2. Random Access Memory (RAM)
3. Complementary Metal Oxide Semiconductor Memory (CMOS)

1. Read Only Memory


Read Only Memory is an essential component of the memory unit. We know that the
computer, being a machine, itself has no intelligence or memory and requires
instructions, which are given by a person. Whenever the computer is switched on, it
searches for the required instructions. The memory, which has these essential
instructions, is known as Read Only Memory (ROM). This memory is permanent and is
not erased when the system is switched off. As appears with its name, it is read only
memory i.e. it can be read only and not be written by user/ programmer. The memory
capacity of ROM varies from 64 KB to 256 KB (I Kilobyte = 1024 bytes) depending on
the model of computer.

Types of ROM
There are many types of ROM available for microcomputers like Mask ROM, PROM,
EPROM, EEPROM and EAPROM.

Mask ROM: Mask ROM is the basic ROM chip. In this type of ROM, the information
is stored at the time of its manufacturing. So, it cannot be altered or erased later on.

PROM: PROM stands for Programmable Read Only Memory. In this type of ROM, the
information is stored by programmers after its manufacturing. It also cannot be altered or
erased later on.

EPROM: EPROM stands for Erasable Programmable Read Only Memory. It is similar
to PROM, but its information can be erased later on by ultra violet light and it can be
reprogrammed.

EEPROM: EEPROM stands for Electrically Erasable Programmable Read Only


Memory. It is similar to EPROM, but its information can be erased by using a high
voltage current.

EAPROM: EAPROM stands for Electrically Alterable Read Only Memory. As


compared to EPROM and EEPROM, the information stored in EAPROM can be altered
later.

2. Random Access Memory


Random Access Memory (RAM) is another important component of the Memory Unit.
It is used to store data and instructions during the execution of programs. Contrary to
ROM, RAM is temporary and is erased when the computer is switched off. RAM is a
read/ write type of memory, and thus can be read and written by the user/ programmer.
As it is possible to randomly use any location of this memory, therefore, this memory is

23
known as random access memory. The memory capacity of RAM varies from 640 KB to
several megabytes (1 Megabyte = 1024 KB) with different models of PC.
Types of RAM
There are two types of RAM used in PCs - Dynamic and Static RAM.

Dynamic RAM (DRAM): The information stored in Dynamic RAM has to be refreshed
after every few milliseconds, otherwise it is erased. DRAM has higher storage capacity
and is cheaper than Static RAM.

Static RAM (SRAM): The information stored in Static RAM need not be refreshed, but
it remains stable as long as power supply is provided. SRAM is costlier but has higher
speed than DRAM.

3. Complementary Metal Oxide Semiconductor Memory


Complementary Metal Oxide Semiconductor (CMOS) memory is used to store the
system configuration, date, time and other important data. When the computer is
switched on, BIOS matches the information of CMOS with the peripheral devices and
displays error in case of mismatching.

------------------------------------------------------------------------------------------------------------
1.3 DATA REPRESENTATION
------------------------------------------------------------------------------------------------------------
We know that data is usually combination of numbers, characters and special
characters. This data has to be worked upon by the computer as well as it has to be
transported from place to place, i.e. data has to flow from place to place within the
computer hardware. As the computer is a electronic device and it works with electronic
pulses, this data or information should be in the form which is machine readable and
understandable, for this reason, data has to be represented in the form of electronic
pulses.

The data has to be converted into electronic pulses and each pulse should be identified
with a code. For these reasons, the data is converted into numeric format first, by using
world wide standard called ASCII i.e. American standard code for Information
Interchange, where each and every character, special character and keystrokes have
numerical equivalent. We will have a detail discussion on ASCII codes in the codes
section. Thus using this equivalent, the data can be interchanged into numeric format.
For the numeric conversion we use number systems, each number system has a radix or
base, which indicates the number of digits in that number system. Lets have a quick
look at number systems.
1.3.1 Number System

Most modern computer systems do not represent numeric values using the decimal
system. Instead, they typically use a binary or two’s complement numbering system. To
understand the limitations of computer arithmetic, you must understand how computers
represent numbers.
In any number system there is an ordered set of symbols known as digit with rules

24
defined for performing arithmetic operations like addition, multiplication etc. A
collection of these digits makes a number which in general has two parts

1. Integer part
2. Fractional part

These two parts are separated by a point (.).

(N)b = dn-1dn-2dn-3———————d1d0.d1d - 2d -3————————-d - m


Where
N = A number
b = radix or base of the number system
n = number of digits in integer portion
m = number of digits in fractional portion
d n -1 = most significant digit (msd)
d -m = least significant digit (lsd)

Let’s understand it:


You are quite familiar with the decimal number system that is the number system we
are using in our daily life. Here base is 10 as it has 10 digits (0…9)
Suppose you are having a number
N = 1 2 3. ……….8 9
d1 d0.d-1d-2
where d represents the digits

The base is 10
n is 3
m is 2

Now I think you got the basic criteria to distinguish the one number system from another.
Now based on this lets come to the types of number system

Types of Number Systems


Basically there are 4 types of number system. They are as follows

• Binary number system;


• Decimal number system;
• Octal number system;
• Hexadecimal number system.

25
Now lets see the characteristics of these number systems:

Number system Base or radix (b) Symbols or digits used Example


(d)
Binary System 2 0, 1 1011.11

Octal System 8 0,1,2,3,4,5,6,7 3567.25

Decimal System 10 3947.89


0,1,2,3,4,5,6,7,8,9

Hexadecimal System 16 0,1,2,3,4,5,6,7,8,9, 3FA9.9A


A, B, C, D, E, F

Table 1.1

-------------------------------------------------------------------------------------------------------------
1.4 REVIEW QUESTIONS
---------------------------------------------------------------------------------------------
1. What are supercomputers and where they are used?
2. What is the different between analog and digital computer? You have to explain in
your own words?
3. What is the difference between second and the fourth generation of the computer?
4. Do the comparative studies of the various generations of the computer based on power
and space occupied by them
5. What are the characteristics of computer?
6. Draw a block diagram to illustrate the basic organization of a computer system and
explain the functions of various units.
7. Which component of a computer is generally called 'brain' of computer and Why?
Describe the functions of the distinct parts of this component.

26
---------------------------------------------------------------------------------------------------------
COMPUTER SOFTWARE
------------------------------------------------------------------------------------------
Structure
2.1 What is Software?
2.1.1 Relation between Hardware and Software

2.2 Types of Software


2.2.1 System Software
2.2.2 Application Software

2.3 Software Development Life Cycle

2.4 Introduction to Algorithm

2.5 Flowcharts
2.5.1 Problem Solving, Step by Step
2.5.2 How to Draw Flowcharts
2.5.3 Basic Flowcharting Shapes
2.5.4 Advantages of Flowcharts

2.6 Review Questions

---------------------------------------------------------------------------------------------------------
2.1 WHAT IS SOFTWARE?
---------------------------------------------------------------------------------------------------------
A Computer cannot do anything on its own. It must be instructed to do a job desired by us.
Hence, it is necessary to specify a sequence of instructions a computer must perform to
solve a problem. Such a sequence of instructions written in a language understood by a
computer is called a computer program. A program controls a computer’s processing
activity, and the computer performs precisely what the program wants it to do. When a
computer is using a program to perform a task, we say, it is running or executing that
program.

The term software refers to a set of computer programs, procedures, and associated
documents (flowcharts, manuals, etc.) describing the program, and how they are to be used.

A software package is a group of programs that solve a specific type of job. For example, a
word processing package may contain programs for text editing, text formatting, drawing
graphics, spelling checking, etc. Hence, a multipurpose computer system, like a personal
computer in your home, has several software packages, one each for every type of job it
can perform.

27
2.1.1 Relation between Hardware and Software
For a computer to produce useful output its hardware and software must work together.
Nothing useful can be done with the hardware on its own, and software cannot be utilized
without supporting hardware.

To take an analogy, a cassette player and its cassettes purchased from the market are
hardware. However, the songs recorded on the cassettes are its software. To listen to a
song, that song has to be recorded on one of the cassettes first, which is then mounted on
the cassette player and played. Similarly, to get a job done by a computer, the
corresponding software has to be loaded in the hardware first and then executed.

Following important points regarding the relationship between hardware and software are
brought out by this analogy:

1. Both hardware and software are necessary for a computer to do useful job. Both are
complementary to each other.
2. Same hardware can be loaded with different software to make a computer perform
different types of jobs just as different songs can be played using the same cassette
player.
3. Except for upgrades (like increasing main memory and hard disk capacities, or adding
speakers, modems, etc.); hardware is normally a one- time expense, whereas software
is a continuing expense. Like we buy new cassettes for newly released songs or for
songs whose cassettes, we do not have, we buy, new software to be run on the same
hardware as and when need arises, or funds become available.

---------------------------------------------------------------------------------------------------------
2.2 TYPES OF SOFTWARE
---------------------------------------------------------------------------------------------------------
Software is broadly classified into following two types:
• System Software
• Application Software

2.2.1 System Software


Software that is required to control the working of hardware and aid in effective execution
of a general user's applications are called System Software. This software performs a
variety of functions like file editing, storage management, resource accounting, 1/0
management, database management, etc. Some of the examples of system software are
DOS (Disk Operating System), Windows, BASIC, COBOL and PC TOOLS. This
software is developed by System Programmers.

Types of System Software


System software can be further categorized into following three types:
• System Management Software (Operating Systems, DBMSS, Operating
Environments)

28
• System Development Software (Language Translators, Application Generators,
CASE Tools)
• System Software Utilities

Assemblers: Assemblers translate the assembly language code (source program) into
machine language code (object program). After assembling, a linker program is used to
convert the object program into an executable program. The Microsoft assembler program
(MASM) and Borland Turbo assembler program (TASM) are two popular assemblers.
Assemblers are used mainly in development of system software.

Interpreters: Instructions of a high-level language are coded in many statements. At the


time of their execution, they are converted statement by statement into machine code, by
using system software, called Interpreters. For example, programs written in BASIC
language are executed by using BASICA or GWBASIC interpreters. Programs written in
some fourth generation languages, like dBase III plus are also executed using dBase
interpreter.

There are certain disadvantages of interpreters. As instructions are translated and executed
simultaneously using interpreters, they are very slow for executing large programs. Hence,
interpreters are not suitable for most of applications development.

Compilers: As contrast to interpreters, compilers provide faster execution speed.


Compilers do not translate and execute the instructions at the same time. They translate the
entire program (source code) into machine code (object code). Using linker, the object
code is converted into executable code. Compilers are widely used in translating codes of
high-level languages (e.g. COBOL, FORTRAN, PASCAL, Turbo/ Quick BASIC, Turbo/
Microsoft C etc.) and fourth generation languages (dBase IV, FoxPro etc.). As compared to
interpreters or assemblers, compilers are preferred in development of application software.

2.2.2 Application Software


Software that is required for general and special purpose applications like database
management; word processing, accounting etc. are called Application Software. Some of
the examples of application software are dBase, Word Star, Tally etc. Application software
is developed using system software by Application Programmers. Application software
can be further classified into following two types:

• General Purpose Application Software (Database Management Packages, Word


Processors, Spreadsheets etc.)
• Special Purpose Application Software (Accounting, Inventory, Production
Management etc.)

29
SOFTW

SYSTEM APPLICATION

Operatin File Word Image


g System Mgmt P P

Assemble Compilers
Spreads Databas

Debugger Utilities Communica


Games

Fig 2.1 Types of Software

---------------------------------------------------------------------------------------------------------
2.3 SOFTWARE DEVELOPMENT LIFE CYCLE
---------------------------------------------------------------------------------------------------------
Software Development Life Cycle or SDLC is a model of a detailed plan on how to create,
develop, implement and eventually fold the software. It’s a complete plan outlining how
the software will be born, raised and eventually be retired from its function. All software
needs to be developed by someone. Developing software and putting it to use is a complex
process involving following steps:
1. Analyzing the problem at hand, and planning the program (s ) to solve the problem;
2. Coding the program (s);
3. Testing, debugging, and documenting the program (s);
4. Implementing the program (s);
5. Evaluating and maintaining the program (s).

30
Fig 2.2 Software Development Life Cycle

Importance of Software Development Life Cycle


Because software can be very difficult and complex. We need the SDLC as a framework to
guide the development to make it more systematic and efficient.

We will be able to tell how long it will take to complete the project, to test and deploy. Not
only that, you'll have an easier time debugging and finding flaws in the software program
or make enhancement to it.
---------------------------------------------------------------------------------------------------------
2.4 INTRODUCTION TO ALGORITHM
---------------------------------------------------------------------------------------------------------
Planning a program involves defining its logic (the correct sequence of instructions needed
to solve the problem at hand). The term Algorithm refers to the logic of a program. It is a
step – by – step description of how to arrive at a solution. To a given problem. It is defined
as a sequence of instructions that when executed in the specified sequence, the desired
results are obtained. In order to qualify as an algorithm, a sequence of instructions must
possess the following characteristics:
1. Each instruction should be precise and unambiguous.
2. Each instruction should be executed in a finite time.
3. One or more instructions should not be repeated infinitely. This ensures that the
algorithm will ultimately terminate.
4. After executing the instructions (when the algorithm terminates), the desired results
are obtained.

31
Therefore, in simple terms, we can say that an algorithm is a procedure to accomplish a
specific task. It is the idea behind any computer program. To be interesting, an algorithm
has to solve a general, well-specified problem. An algorithmic problem is specified by
describing the complete set of instances it must work on and what properties the output
must have as a result of running on one of these instances. This distinction between a
problem and an instance of a problem is fundamental. To gain insight into algorithms, let
us consider a simple example.

Example: There are 50 students in a class who appeared in their final examination. Their
mark sheets have been given to you. Write an algorithm to calculate and print the total
number of students who passed in first division.

Algorithm:

Step 1: Initialize TOTAL FIRST DIVISION and TOTAL MARKSHEETS CHECKED to


zero.

Step 2: Take the mark sheet of the next student.

Step 3: Check the division column of the mark sheet to see if it is FIRST. If no, go to step
5.

Step 4: Add 1 to TOTAL FIRST DIVISION.

Step 5: Add 1 to TOTAL MARKSHEETS CHECKED.

Step 6: Is TOTAL MARKSHEETS CHECKED = 50? If no, go to step 2.

Step 7: Print TOTAL \FIRST DIVISION.

Step 8: Stop.

It must be clear to you from this example that even for every simple problems, the
development of algorithms is not as simple as it might initially appear and requires some
thinking. It may also be noted from the given example that in order to solve a given
problem, each and every instruction must be strictly carried out in a particular sequence. It
is this fact, which a beginner to problem solving by computers finds difficult to appreciate.

---------------------------------------------------------------------------------------------------------
2.5 FLOWCHARTS
---------------------------------------------------------------------------------------------------------
A Flowchart is a pictorial representation of an algorithm. Programmers often use it as a
program – planning tool for visually organizing a sequence of steps necessary to solve a
problem using a computer. It uses boxes of different shapes to denote different types of
instructions. The actual instructions are written within these boxes using clear and concise
statements. Solid lines having arrow marks connect these boxes to indicate the flow of

32
operation, that is, the exact sequence in which to execute the instructions. The Process of
drawing a flowchart for an algorithm is known as flowcharting.

2.5.1 Problem Solving: Step by Step


Before we begin to learn the kinds of steps that a computer has to perform to solve a
problem, let us think about problem solving, in general.

Think of what you might do if I asked you to write a set of instructions for brushing your
teeth. What are the steps you might write down? Would you write this down?

(1) Put toothpaste on toothbrush.

(2) Brush teeth with toothbrush.

(3) Put toothbrush away.

If you write only these three instructions, it means that the person must somehow know
where the toothbrush and toothpaste are located, how to get the toothpaste out of the tube,
what it means toothbrush, and how to put the toothbrush away. You cannot assume that the
person knows these things. You have not taken care of any possible problems that might
arise. You would have to be much more detailed in you writing. Let try it again
(1) Go to the bath-room.

(2) Open door.

(3) Take out toothpaste.

(4) If toothbrush is not there, look for toothbrush.

(5) If toothbrush is not found, go to step 18.

(6) Remove toothpaste.

(7) If toothpaste is not there, look for toothpaste.

(8) If toothpaste cannot be found, go to step 12.

(9) Take cap of toothpaste.

(10) Squeeze toothpaste onto toothbrush.

(11) If toothpaste does not come out of the tube, check tube.

(12) Put toothbrush into mouth and rub on teeth.


(13) Spit out.

33
(14) Fill glass with water.

(15) Rinse mouth with water.

(16) Wash face.

(17) Replace toothbrush.

(18) Put toothpaste away if you had toothpaste.

(19) Wash face.

(20) Clean sink.

(21) Rinse glass.

(22) Put glass back.

It took twenty-two instructions to replace the three instructions and I have left out one
instruction did you spot it?!Did not put the cap back on the toothpaste!

Sometimes, if you Java out a step like that, the computer will just stop. It may say
something to you or it may not. It may continue to do things, but they may not be the things
you want you do. It may give you an answer, but the answer may not be the correct one.
The computer did not make a mistake. It did all the steps you asked it to do. If the computer
does not do what you want it to do, it may be because you did not tell it the right steps. It
may be because you left out a choice that made a change in the program.

Did you notice that I included what you had to do if anything went wrong? If there were no
toothbrush or toothpaste or if the toothpaste did not come out of the tube, you were
instructed to do something. You must plan 'for all the things that could happen when the
computer is running its program. What if a number gets to be too big or someone gives the
wrong answer to a question? You must have something for the computer to do in every
base.

You are making a plan for the computer to follow, just as the architect makes a plan for the
carpenters to follow. Before we begin to make plans for a computer to follow, let’s try to
plan some things for people to do and then have you follow the plans. Some actions you
might write instructions for are typing a shoelace of a necktie, putting on makeup, or riding
bicycle. If you don’t put in enough steps, you may find someone in a very strange position.

2.5.2 How to Draw Flowcharts


A flowchart illustrates the steps in a process. By visualizing the process, a flowchart can
quickly help identify bottlenecks or inefficiencies where the process can be streamlined or
improved.

34
Example: Two Flowcharts for a Common Process

Suppose your research revealed that you always want fries and a drink with your burger.
You decide to streamline your process by ordering the combo meal, which automatically
includes fries and a drink. The two flowcharts show at a glance that you omit two decisions
and two order steps by using the streamlined order process.

2.5.3 Basic Flowcharting Shapes


Flowcharts use special shapes to represent different types of actions or steps in a process.
Lines and arrows show the sequence of the steps, and the relationships among them.

35
The terminator symbol marks the starting or ending point of the system. It usually
contains the word "Start" or "End."

A box can represent a single step ("add two cups of flour"), or and entire sub-
process ("make bread") within a larger process.

A printed document or report.

A decision or branching point. Lines representing different decisions emerge


from different points of the diamond. The box where the computer can make
decisions like finding out which numbers is bigger or smaller or equal than
another number, depending on the information it receives. These are diamond –
shaped boxes. The computer can decide with the help of decision taken by the
diamond box, which route is to be followed further.

Represents material or information entering or leaving the system, such as


customer order (input) or a product (output).

Indicates that the flow continues on another page, where a matching symbol
(containing the same letter) has been placed.

Lines indicate the sequence of steps and the direction of flow.

36
Basic Flowchart
A basic Flowchart identifies the starting and ending points of a process, the sequence of
actions in the process, and the decision or branching points along the way.

2.5.4 Advantages of Flowcharts


The following benefits may be obtained from flow charts:

1. Better Communication

2. Effective analysis

3. Effective synthesis

4. Proper program Documentation

5. Effective coding

6. Systematic debugging

7. Systematic testing

37
---------------------------------------------------------------------------------------------------------
2.6 REVIEW QUESTIONS
------------------------------------------------------------------------------------------
1. Differentiate between system and application software. Give 4 examples of each
2. What are the various flowcharting symbols?
3. Draw a flow chart of getting the maximum of three numbers input.
4. What is algorithm? What are the characteristics necessary for a sequence of
instructions to qualify as an algorithm?
5. Define the terms hardware and software.
6. Describe the functions of the various basic flowcharting symbols.

38
---------------------------------------------------------------------------------------------------------
OPERATING SYSTEMS
---------------------------------------------------------------------------------------------------------
Structure
3.1 Introduction
3.1.1 Layers of Operating System
3.1.2 Functions of Operating Systems
3.1.3 Characteristics of an Operating System
3.1.4 Measuring System Performance

3.2 Evolution of Operating Systems


3.2.1 Serial Processing
3.2.2 Batch Processing
3.2.3 Multiprogramming

3.3 Types of Operating System


3.1 Batch Processing Operating Systems.
3.3.2 Time Sharing Operating Systems
3.3.3 Real Time Operating Systems

3.4 Operating System Techniques


3.4.1 Multiprogramming
3.4.2 Multiprocessing
3.4.3 Multitasking
3.5.4 Multithreading

3.5 Some Popular Operating Systems


3.5.1 Disk Operating System
3.5.2 UNIX
3.5.3 Linux
3.5.4 Microsoft Windows
3.5.5 Microsoft Windows NT

3.6 Review Questions


---------------------------------------------------------------------------------------------------------
3.1 INTRODUCTION
---------------------------------------------------------------------------------------------------------
What is human body without life giving Oxygen, the same is the case of a computer, its
existence is immaterial, without an operating system, such is the importance of the
Operating System. Operating System falls under the category of System software. The goal
of this unit is to introduce the concept related to operating system and what is the function
of operating system.

The Operating System is not the command interpreter alone, as people perceive. The
Operating System is the program that must be running all the time, and cannot be replaced

39
without it being a different O/S. Let us look into this most important component of the
Computer System, the Operating System.

Definition 1:
“An operating system can be defined as the set of instructions or programs, which make the
computer work”

Definition 2:
“An Operating System or OS is a software program that enables the computer hardware to
communicate and operate with the computer software”

Definition 3:
“An operating system is software, which controls the computer and its peripherals
and makes the computer ready to use by a process called booting”

Without an Operating System a computer would be useless.

An Operating System (OS) is an integrated set of programs that is used to manage the
various resources and overall operations of a computer system. It is designed to support the
activities of a computer installation. Its prime objective is to improve the performance and
efficiency of a computer and increase facility, the ease with which a system can be used.
As we have seen that an operating system is software, which makes the computer ready to
use by a process called booting. Before, discussing more on the operating systems, let us
first see what exactly do you mean by booting:

When we switch on the computer, the instructions stored in ROM are automatically
executed. These instructions help the computer to load the operating system from external
storage device (disk) to internal storage (RAM). This process of loading of operating
system from disk to RAM is called booting.

Fig 3.1 Component of Computer System

40
3.1.1 Layers of Operating System
Each group of computers may have its own and unique operating system although not
necessarily only one. Operating system programs are commonly stored in hard disk. When
we switch on the computer the booting program know as BIOS (Basic I/O System) which
is stored in the ROM (Read only memory) fetches the OS from hard disk to primary
storage (RAM). An OS tells the computer how to conduct him self. The architecture of
Operating System is designed with many layers in the core of it is Hardware/Kernel, above
it is loaded an OS which in turn controls everything inside a computer and make an
interface with the application program loaded in to the computer. It interconnects the
application program to CPU through Compiler or Interpreter.

Fig 3.2 Layers of Operating System

3.1.2 Functions of Operating Systems


Operating systems in general take care of all the housekeeping tasks. They do read and
write files, maintain disk directories, allocate memory to application programs, and usually
handle mechanical chores such as reading the keyboard when you press keys and updating
the screen when something needs to be displayed. These tasks require a surprising amount
of software and every computer requires software to do these jobs.

Due to the fact that there is close-knit cooperation between operating systems and
applications programs, each and every application program must be designed such that it is
able to work with a particular operating system. All operating systems essentially do the
same things but they do it in different ways, some features may be additional which add to
the functionality. This makes the point clear that an application program may work with all
operating systems, with slight modifications. An operating system performs, basically the
following functions:

1. Communication with the computer user or operator by means of terminals or


Consoles, and through the use of monitor commands and responses. It acts as

41
system start up device also. The operating system is automatically loaded into
hardware's main memory (RAM) when computer is turned on. Then the OS either
waits for you to give it a command of it brings a pre selected program into a read to
operate condition. This sequence is known as boot strapping or simply booting.

2. Assigning Priorities: Usually, the OS has several levels of priorities. For instance, a
report generating program may continue to run until the system receives a
command or query from the terminal, (a priority in computer lingo). Then the
system responds to the request from the terminal before continuing with the report
program.

3. The scheduling and loading of programs, or subprograms is necessary in order to


provide a continuous job processing sequence or to province appropriate responses
to events- job to job - processing and job as counting.

4. Control over hardware resources e.g. control over the selection and operation of all
peripheral devices used to input, or storage. The operating system also directs the
movement and processing of information required by your applications programs. It
transfers data to and from storage and input output devices like terminals or
printers.

5. Managing the data and program files: The operating system directs the information
storage and retrieval functions using one or more filing methods. These may include
sequential (magnetic tape), random (as on disk, units) or data base storage
structures.’ the latter method uses special identifiers for each file to locate
information more rapidly and to avoid- redundant information storage.

6. Provide utility functions that provide the user with tools for some operations like:
• Loading programs
• Transferring files from one floppy to another, backing up and copying.
• Formatting a disk to accept data Program.
• Sending information to I/O devices like printer, or a modem.
• Displaying the directory of contents of a disk.

7. Handling errors when they occur and using corrective routines where possible.

8. Protecting hardware, software and data from improper use.

9. Furnishing a complete Account of what has happened during operation. Some


details of this log may be stored for accounting purposes.
The more sophisticated a computer's operating system, the better the computer system can
manage itself, the less human intervention is required, and the more data computer can
process. This is one reason why today's mainframe operating systems are large, complex
programs involving thousands of instructions and costing thousands of dollars.

42
3.1.3 Characteristics of an Operating System
Let us try to identify the main characteristics of an operating system:

• Concurrency: being able to handle events as they occur and executing multiple
tasks in parallel;
• Sharing the resourced for a number of reasons:
1. Cost
2. Using the work of others
3. Sharing data: use the same data in several different programs possibly
used by several different users.
• Removing redundancy;
• Long-term storage of information (privacy, integrity, security);
• Non determinacy: an operating system must be able to handle events occurring
in an unpredictable order.

3.1.4 Measuring System Performance


Efficiency of an operating system and overall performance of a computer system are
measured usually in terms of the following parameters:

1. Throughput: Throughput is the amount of work that a system is able to do per unit
time. It is measured as the number of jobs (processes) completed by the system per
unit time. For example, if a system is able to complete n processes in t seconds, its
throughput is n/t processes per second during that interval. Throughput is measured
normally in processes per hour. Note that the throughput of a system does not
depend on its jobs processing efficiency only, but also on the number of jobs
processed. For long process, throughput of a system may be one process/hour;
whereas for short processes, it may be 100 processes /hour for the same system.
2. Turnaround time: From the point of view of an individual user, an important
criterion is how long it takes a system to complete a job submitted by him/her.
Turnaround time is the interval between the time of submission of a job to the
system for processing to the time of completion of the job. Although, higher
throughput is desirable from the pointy of view of overall system performance,
individual users are more interested in better turnaround time for their jobs.
3. Response time: Turnaround time is not a suitable measure for interactive systems
because in such a system a process can produce some output early during its
execution and can continue executing while previous results are being output to the
user. Hence, another measure used in case of interactive systems is response time. It
is the interval between the time of submission of a job to the system for processing
to the time of the system producing the first response for the job. In any computer
system, it is desirable to maximize throughput and minimize turnaround time and
response time.

43
---------------------------------------------------------------------------------------------------------
3.2 EVOLUTION OF OPERATING SYSTEMS
--------------------------------------------------------------------------------------------------------
An operating system may process its task serially (sequentially) or concurrently (several
tasks simultaneously). It means that the resources of the computer system may be dedicated
to a single program until its completion or they may be allocated among several programs
in different stages of execution. The feature of operating system to execute multiple
programs in interleaved fashion or different time cycles is called as multiprogramming
systems. In this topic, we will try to trace the evolution of operating system. In particular,
we will describe serial processing, batch processing and multiprogramming.

3.2.1 Serial Processing


Programming in 1's and 0's (machine language) was quite common for early computer
systems. Instruction and data used to be fed into the computer by means of console
switches or perhaps through a hexadecimal keyboard. Programs used to be started by
loading the program computer register with the address of the first instruction of a program
and its result (program) used to be examined by the contents of various registers and
memory locations of the machine. Therefore, programming in this style caused a low
utilization of both users and machine.

Advent of Input Output devices, such as punched cards paper tape and language translators
(Compiler/Assemblers) brought a significant step in computer system utilization. Program
started being coded into programming language are first changed into object code (binary
code) by translator and then automatically gets loaded into memory by a program called
loader. After transferring a control to the loaded program, the execution of a program
begins and its result gets displayed or printed. Once in memory, the program may be re-run
with a different set of input data. The process of development and preparation of a program
in such environment is slow and cumbersome due to serial processing and numerous
manual processing. In a typical sequence first the editor is called to create a source code of
user program written in programming language, translator is called to convert a source
code into binary code and then finally loader is called to load executable program into main
memory for execution. If syntax errors are detected, the whole process must be restarted
from the beginning. The next development was the replacement of card decks with
standard input/output and some useful library programs, which were further linked with
user program through system software called linker. While there was a definite
improvement over machine language approach, the serial mode of operation is obviously
not very efficient. This results in low utilization of resources.

3.2.2 Batch Processing


Utilization of computer resources and improvement in programmer's productivity was still
a major prohibition. During the time that tapes were being mounted or programmer was
operating the console, the CPU was sitting idle. The next logical step in the evolution of
operating system was to automate the sequencing of operations involved in program
execution and in the mechanical aspects of program development. Jobs with similar
requirements were batched together and run through the computer as a group. For example,

44
suppose the operator received one FORTRAN program, one COBOL program and another
FORTRAN program. If he runs them in that order, he would have to set up for FORTRAN
program environment (loading the FORTRAN compiler tapes) then set up COBOL
program and finally FORTRAN program again. If he runs the two FORTRAN programs as
a batch, however he could set up only once for FORTRAN thus saving operator's time.

Batching similar jobs brought utilization of system resources quite a bit. But there were still
problems. For example, when a job is stopped, the operator would have to notice that fact
by observing the console, determine why the program stopped and then load the card reader
or paper tape reader with the next job and restart the computer. During this transition from
one job to the next, the CPU sat idle.

To overcome this idle time, a small program called a resident monitor was created which is
always resident in the memory. It automatically sequenced one job to another job. Resident
monitor acts according to the directives given by a programmer through control cards
which contain information like marking of job's beginnings and endings, commands for
loading and executing programs, etc. These commands belong to job control language.
These job control language commands are included with user program and data. Here is an
example of job control language commands.

$COB - Execute the COBOL compiler


$JOB - First card of a job
$END - Last card of a job
$LOAD - Load program into memory
$RUN - Execute the user program

Figure 3.3 shows a sample card deck set up for a simple batch system.

With sequencing of program execution mostly automated by batch operating system, the
speed discrepancy between fast CPU and comparatively slows input/output devices such as
' card readers, printers emerged as a major performance bottleneck. Even a slow CPU
works in the microsecond range, with millions of instructions per second. But, fast card

45
reader, on the other hand, might read 1200 cards per minute. Thus, the difference in speed
between the CPU and its input/output devices may be three orders of magnitude or more.
The relative slowness of input/output devices can mean that CPU is often waiting for
input/output. As an example, an Assembler or Compiler may be able to process 300 or
more cards per second. A fast card reader, on the other hand, may be able to read only 1200
cards per minute. This means that assembling or compiling a 1200 card program would
require only 4 seconds of CPU time but 60 seconds to read. Thus, the CPU is idle for 56
out of 60 seconds or 93.3 per cent of the time. The resulting CPU utilization is only 6.7 per
cent. The process is similar for output operations. The problem is that while an input/output
is occurring, the CPU is idle, waiting for the input/output to complete; while the CPU is
executing, input/output devices are idle.

Over the years, of course, improvements in technology resulted in faster input/output


devices. But CPU speed increased even faster. Therefore, the need was to increase the
throughput and resource utilization by overlapping input/output and processing operations.
DMA (Direct Memory Access) chip which directly transfers the entire block of data from
its own buffer to main memory without intervention by CPU was a major development.
While CPU is executing, DMA can transfer data between high speed input/output devices
and main memory. CPU requires to be interrupted per block only by DMA. Apart from
DMA, there are two other approaches to improving system performance by overlapping
input, output and processing. These are buffering and spooling.

Buffering is a method of overlapping input, output and processing of a single job. The idea
is quite simple. After data has been read and the CPU is about to start operating on it, the
input device is instructed to begin the next input immediately. The CPU and input device
are then both busy. With luck, by the time that the CPU is ready for the next data item the
input device will have finished reading it. The CPU can then begin processing the newly
read data, while the input device starts to read the following data. Similarly, this can be
done for output. In this case, the CPU creates data that is put into a buffer until an output
device can accept it. For output, the CPU can proceed at full speed until, eventually all
system buffers are full. Then the CPU must wait for the output device. This happens with
input/output bound jobs where the amount of input/output relation to computation is very
high. Since the CPU is faster than the input/output device, the speed of execution is
controlled by the input/output device, not by the speed of the CPU.

More sophisticated form of input/output buffering called SPOOLING (simultaneous


peripheral operation on line) essentially use the disk as a very large buffer (figure 3.4) for
reading and for storing output files reading and for storing output files.

Buffering overlaps input, output and processing of a single job whereas Spooling allows
CPU to overlap the input of one job with the computation and output of other jobs.
Therefore this approach is better than buffering. Even in a simple system, the spooler may
be reading the input of one job while printing the output of a different job.

46
Fig 3.4 Spooling

3.2.3 Multiprogramming
Buffering and spooling improve system performance by overlapping the input, output and
computation of a single job, but both of them have their limitations. A single user cannot
always keep CPU or I/O devices busy at all times. Multiprogramming offers a more
efficient approach to increase system performance. In order to increase the resource
utilization, systems supporting multiprogramming approach allow more than one job
(program) to utilize CPU time at any moment. More number of programs competing for
system resources, better will be resource utilization. The idea is implemented as follows.
The main memory of a system contains more than one program (Figure 3.5).

Figure 3.5: Memory layout in multiprogramming environment

The operating system picks one of the programs and start executing. During execution
process program1 may need some I/O operation to complete. In a sequential execution
environment (Figure 3.6a), the CPU would sit idle. In a multiprogramming system, (Figure
3.6b) operating system will simply switch over to the next program (Program2).

When that program needs to wait for some I/O operation, it switches over to Program 3 and
so on. If there is no other new program left in the main memory, the CPU will pass its
control back to the previous programs.

47
Multiprogramming has traditionally been employed to increase the resource utilization of a
computer system and to support multiple simultaneously interactive users (terminals).
Compared to operating system which supports only sequential execution,
multiprogramming system requires some form of CPU and memory management strategies

Figure 3.6: Multiprogramming

---------------------------------------------------------------------------------------------------------
3.3 TYPES OF OPERATING SYSTEM
---------------------------------------------------------------------------------------------------------
As computers have progressed and developed so have the types of operating systems.
Many types of operating systems are available for computers, which can be divided into the
following two broad categories -

(a) Single-user operating systems.


(b) Multi-user operating systems.

(a) Single-user operating systems: These operating systems are used for mainly
computers having only one terminal (stand-alone PCs). MS DOS (Microsoft Disk
Operating System) and PC DOS (Personal Computer Disk Operating System) are the two
important single user operating systems. Both systems are almost identical and are simply
called DOS. OS/2 and Windows NT are other popular single-user multi-tasking operating
systems for microcomputers.

48
(i) Microsoft DOS - MS DOS, developed by 'Microsoft Inc.' in 1981, is the
most widely used operating system of IBM-compatible microcomputers.
The latest version identification number of a release of software) of MS
DOS is 7.
(ii) PC DOS - PC DOS is essentially the same operating system as MS DOS,
but developed and supplied by IBM for its personal computers.

(b) Multi-user operating systems: These operating systems are used for those computers
(micro to mainframe), which have many terminals (multi-user systems). The popular
operating systems used for multi-user systems are UNIX, NETWARE, MVS, OS/400,
VMS and Linux.

Multi-user operating systems are used on networks of computers and allow many different
users to access the same data and application programs on the same network. It also allows
users to communicate with each other.

Modern computer operating systems may also be classified into three other groups, which
are distinguished by the nature of interaction that takes place between the computer user
and his or her program during its processing. The three groups are called batch, time-
shared and real time operating systems.

3.3.1 Batch Processing Operating Systems.


If there was a lot of work to be done, then these works are pooled and the collections of
these instructions would be given to the computer to work on overnight. Since the
computer was working on batches of instructions, this type of operating system was called
a Batch Processing Operating System.

Batch processing operating systems are good at churning through large numbers of
repetitive jobs on large computers. Jobs like: printing of invitations for AGM,
consolidation of marks and presenting result, working out the pay of each employee in
large firm; or processing all the questionnaire forms in a large survey.

In a batch processing operating system environment users submit jobs to a central place
where these jobs are collected into a batch, and subsequently placed on an input queue at
the computer where they will be run. In this case, the user has no interaction with the job
during its processing, and the computer’s response time is the turnaround time-the time
from submission of the job until execution is complete, and the results are ready for return
to the person who submitted the job.

3.3.2 Time Sharing Operating Systems


Time-sharing is a mechanism to provide simultaneous interactive use of a computer system
by many users in such a away that each one feels that he/she is the sole user of the system.
It uses multiprogramming with a special CPU scheduling algorithm to achieve this.

A time-sharing system has many (even hundreds of) user terminals connected to the same
computer simultaneously. Using these terminals, multiple users can work on the system

49
simultaneously. Multiprogramming feature allows multiple user programs to reside
simultaneously in main memory, and special CPU scheduling algorithm allocates a short
period of CPU time one-by-one to each user process (from the first one to the last one, and
then again beginning from the first one). The short period during which a user process gets
to use CPU is known as time slice, time slot, or quantum, and is typically of the order of
10 to 100 milliseconds. Hence, when CPU is allocated to a user process, it uses the CPU
until the allotted time slice expires (system's clock sends an interrupt signal to CPU after
every time slice), or it needs to perform some I/O operation, or it completes its execution
during this period. Notice that CPU is taken away from a running process when the allotted
time slice expires. Figure 3.7 shows the process state diagram of a time-sharing system

Figure 3.7 Process state diagrams for a time-sharing system.

In this environment a computer provides computing services to several or many users


concurrently on-line. Here, the various users are sharing the central processor, the memory,
and other resources of the computer system in a manner facilitated, controlled, and
monitored by the operating system. The user, in this environment, has nearly full
interaction with the program during its execution, and the computer’s response time may be
expected to be no more than a few second.

Advantages of Time-sharing Systems: Although time-sharing systems are complex to


design, they provide the following advantages to their users:

1. Reduces CPU idle time. A user's thinking and typing speed is much slower than a
computer's processing speed. Hence, during interactive usage of a system, while a user is
engaged in thinking or typing his / her input, a time-sharing system services many other
users. Hence, time-sharing systems help in reducing CPU idle time and, in turn, provide
increased system throughput.

2. Provides advantages of quick response time. The special CPU scheduling algorithm
used in time sharing systems ensures quick response time to all users. This feature helps in
improving programmers' efficiency by making interactive programming and debugging
much simpler and quicker. Multiple programmers can work simultaneously for writing,

50
testing, and debugging their programs, or for trying out various approaches to a problem
solving.

3. Offers good computing facility to small users. Small users can gain direct access to
more sophisticated hardware and software than they could otherwise justify or afford. In
time-sharing systems, they merely pay a fee for resources used and are relieved of
hardware, software, and personnel problems associated with acquiring and maintaining
their own installation.

Multitasking Operating Systems: Multi-tasking operating systems are now very


common. They enable the computer to run more than one piece of software at the same
time. It is quite common to sit at your computer and have a word-processor open and
running, as well as an Internet browser, and an audio CD player all at the same time.

The operating system allows you to switch between the applications and even transfer data
between them (for example, it helps you to copy a picture from an internet site shown on
your browser application and paste it into your DTP application).

Multitasking Operating systems allow multiple software processes to be run at the same
time. Operating systems that would fall into this category are:
• System 7.x
• System 8.x
• UNIX
• Windows 2000
• Windows 95
• Windows 98
• Windows NT 4.0
Multitasking operating systems allow a user to do more than one thing at the same time.

Multi-user Operating Systems: Multi-user operating systems are used on networks of


computers and allow many different users to access the same data and application programs
on the same network. It also allows users to communicate with each other.
There are many different types of Network Operating System, each one suited to a
different.

Multi - User - Allows multiple users to utilize the computer and run programs at the same
time. Operating systems that would fall into this category are:
• System 7.x
• System 8.x
• UNIX
• Windows 2000
• Windows 3.1x
• Windows 95
• Windows 98

51
• Windows NT

3.3.3 Real Time Operating Systems


A Real-Time Operating System (RTOS) is a multitasking operating system intended for
real-time applications. Such applications include embedded systems (programmable
thermostats, household appliance controllers), industrial robots, spacecraft, industrial
control (see SCADA), and scientific research equipment. It is another form of operating
system which is used in environments where a large number of events mostly external to
computer systems, must be accepted and processed in a short time or within certain
deadlines. Examples of such applications are flight control, real time simulations etc. Real
time systems are also frequently used in military application.

Real Time Operating Systems are designed to service those applications where response
time is of the essence in order to prevent error, misrepresentation or even disaster.
Examples of real time operating systems are those, which handle airlines reservations,
machine tool control, and monitoring of a nuclear power station. The systems, in this case,
are designed to be interrupted by external signal that require the immediate attention of the
computer system.

A primary objective of real-time system is to provide quick response times. User


convenience and resource utilization are of secondary concern to real-time system. In the
real-time system each process is assigned a certain level of priority according to the relative
importance of the event processes. The processor is normally allocated to the highest
priority process among those which are ready to execute. Higher priority process usually
pre-empte execution of lower priority processes. This form of scheduling called, priority
based pre- emptive scheduling, is used by a majority of real-time systems.

In fact, many computer operating systems are hybrids, providing for more than one of these
types of computing service simultaneously. It is especially common to have a background
batch system running in conjunction with one of the other two on the same computer. A
number of other definitions are important to gaining an understanding of operating
systems:

A multiprogramming operating system is a system that allows more than one active user
program (or part of user program) to be stored in main memory simultaneously. Thus, it is
evident that a time-sharing system is a multiprogramming system, but note that a
multiprogramming system is not necessarily a time-sharing system. A batch or real time
operating system could, and indeed usually does, have more than one active user program
simultaneously in main storage. Another important, and all too similar, term is
‘multiprocessing’.
A multiprocessing system is a computer hardware configuration that includes more than
one independent processing unit. The term multiprocessing is generally used to refer to
large computer hardware complexes found in major scientific or commercial applications.
This Operating system allows multiple processors to be utilized. Operating systems that
would fall into this category are:

52
• UNIX
• Windows 2000
• Windows NT 4.0

A networked computing system is a collection of physical interconnected computers. The


operating system of each of the interconnected computers must contain, in addition to its
own stand-alone functionality, provisions for handing communication and transfer of
program and data among the other computers with which it is connected.

A distributed computing system consists of a number of computers that are connected


and managed so that they automatically share the job-processing load among the
constituent computers, or separate the job load as appropriate particularly configured
processors. Such a system requires an operating system, which, in addition to the typical
stand-alone functionality, provides coordination of the operations and information flow
among the component computers.

The networked and distributed computing environments and their respective operating
systems are designed with more complex functional capabilities. In a network operating
system the users are aware of the existence of multiple computers, and can log in to remote
machines and copy files from one machine to another. Each machine runs its own local
operating system and has its own user (or users).

A distributed operating system, in contrast, is one that appears to its users as a traditional
unprocessed system, even though it is actually composed of multiple processors. In a true
distributed system, users should not be aware of where their programs are being run or
where their files are located; that should all be handled automatically and efficiently by the
operating system.

Network operating systems are not fundamentally different from single processor operating
systems. They obviously need a network interface controller and some low-level software
to drive it, as well as programs to achieve remote login and remote files access, but these
additions do not change the essential structure of the operating systems.
---------------------------------------------------------------------------------------------------------
3.4 OPERATING SYSTEM TECHNIQUES
---------------------------------------------------------------------------------------------------------
There are several techniques used in Multi-user operating systems for enabling many users
to concurrently share the single or multiple CPU (e.g. Multiprogramming and
Multiprocessing). Some techniques are used in single-user operating system to handle
multiple tasks (Multitasking). We will now discuss these common techniques used in
different operating systems.
3.4.1 Multiprogramming
It is a process by which single CPU works on two or more programs simultaneously.
Using this technique, the operating system keeps the CPU busy. Multiprogramming allows
the processor to handle either multiple batch jobs at a time (Batch Multiprogramming) or

53
multiple interactive jobs shared among multiple users (Time Sharing Multiprogramming).
Time-sharing is a technique that allows a CPU to simultaneously support the activities of
several users by allocating fixed time slots (in milliseconds). Examples of operating
systems that support multiprogramming are OS/2, UNIX and Macintosh System 7.

3.4.2 Multiprocessing
It refers to the use of two or more CPUs to perform a coordinated task simultaneously.
Figure 3.8 shows the architecture of a computer with its CPU, memory, and I/O processors.

Fig 3.8 Architecture of a computer system with its CPU, memory, and I/O processors.

The idea of using I/O processors to improve system performance was carried a step further
by designing systems with multiple CPUs. Such systems are called multiprocessing
systems because they use multiple processors (CPUs) and can execute multiple processes
concurrently. Multiple CPUs of these systems are used to process either instructions from
different and independent programs or different instructions from the same program
simultaneously. Figure 3.9 shows basic organization of a typical multiprocessing system.

Figure 3.9 Basic organization of a typical multiprocessing system

For example, MVS, VMS and Windows NT support multiprocessing.

3.4.3 Multitasking
It refers to the ability of an operating system to execute two or more tasks concurrently. In
multitasking environment, the user opens new applications without closing the previous
ones and the information can be easily moved among a number of applications.

54
Technically speaking, multitasking is same as multiprogramming. Many authors do not
distinguish between multiprogramming and multitasking because both refer to the same
concept. However, some authors prefer to use the term multiprogramming for multi-user
systems (systems that are used simultaneously by many users such as mainframe and server
class systems), and multitasking for single-user systems (systems that are used by only one
user at a time such as a personal computer or a notebook computer). Note that even in a
single-user system, it is not necessary that the system processes only one job at a time. In
fact, a user of a single-user system often has multiple tasks being processed by the system.
For example, while editing a file in foreground, a sorting job can be given in background.
Similarly, while compilation of a program is in progress in background, user may be
reading his/her electronic mails in foreground. In this manner, a user may work
concurrently on many tasks. In such a situation, status of each of the tasks is viewed on
computer's screen normally by partitioning the screen into multiple windows. Progress of
different tasks is viewed on different windows in a multitasking system.

Hence, for those who like to differentiate between multiprogramming and multitasking,
multiprogramming is interleaved execution of multiple jobs (of same or different users) in
a multi-user system, while multitasking is interleaved execution of multiple jobs (often
referred to as tasks of same user) in a single-user system. Typically, computer systems used
for such purposes are uni-processor systems (having only one CPU). Typically, computer
systems used for such purposes are uni-processor systems (having only one CPU). For
example, Windows NT and OS/2 operating systems use this technique.

3.5.4 Multithreading
Threads are a popular way to improve application performance. In traditional operating
systems, the basic unit of CPU utilization is a process. Each process has its own program
counter, its own register states, its own stack, its own address space (memory area allocated
to it). On the other hand, in operating systems, with threads facility, the basic unit of CPU
utilization is a thread. In these operating systems, a process consists of an address space
and one or more threads of control [see Figure 3.10(b)]. Each thread of a process has its
own program counter, its own register states, and its own stack. However, all the threads of
a process share the same address space. Hence, they also share the same global variables.
In addition, all threads of a process also share the same set of operating system resources,
such as open files, signals, accounting information, etc. Due to sharing of address space,
there is no protection between the threads of a process. However, this is not a problem
because process (and hence all its threads) is always owned by a single user. Therefore,
protection between multiple threads of a process is not necessary. Protection between
multiple processes is needed because different processes may belong to different users.

Threads share a CPU in the same way as processes do. At a particular instance of time, a
thread can be in anyone of several states - running, blocked, ready, or terminated. Due to
these similarities, threads are often viewed as mini processes. In fact, in operating systems
with threads facility, a process having a single thread corresponds to a process of a
traditional operating system [see Figure 3.10(a)]. Threads are often referred to as
lightweight processes and traditional processes are referred to as heavyweight processes.

55
Fig 3.10 (a) Single-threaded and (b) Multithreaded processes.

Operating systems that allow different parts of software program to run concurrently.
Operating systems that would fall into this category are:
• UNIX
• Windows2000
• Windows95
• Windows98
• Windows NT 4.0
---------------------------------------------------------------------------------------------------------
3.5 SOME POPULAR OPERATING SYSTEMS
---------------------------------------------------------------------------------------------------------
3.5.1 Disk Operating System
What is DOS and what do DOS mean? DOS is an acronym for Disk Operating System.
Though this doesn't say exactly what DOS does it tells you what it is. An operating system
is a program that is run on a computer that allows the user to communicate with it in a way
the user understands. Imagine if you had to talk to the computer on its level! No one would
want to work with computers if that were the case.

DOS allows you to perform tasks on the computer by telling the computer what to do in
terms of English like commands such as COPY and MOVE are infinitely better than
10001110101110111! Designed for microcomputers (your PC is a microcomputer), DOS
makes it easier for you to work with the information on your disks whether they are floppy
disks or hard disks. But before we look deeper into how to use DOS we need to have a little
background on how DOS looks at information on the computer.

Rebooting the Computer: Sometimes it may happen that your system crashes down
because of any reason. In This process is called Warm Boot or Reset. This will again get
things going. But it is advisable to use it as a last alternative when all other efforts of
resuming work fail. At times, Warm Boot also fails to restart the computer. This means the
instructions that are given by the keyboard are no longer valid and are not interpreted by
the system. In this case, switch off the power supply such a situation, hit < Ctrl + Alt + Del

56
> Keys together. This will restart your computer and wait for a few minutes. Then turn on
the power supply and start working. Sometimes, due to unknown reasons the system is
unable to boot from the hard disk, in such a situation, you are required to boot the system
from the bootable floppy (floppy that contains DOS).

Concept of Files and Directories: File is a collection of related information. Any kind of
text, data or program that is entered is stored in a file. Now, it is very essential to organize
your files in an ordered manner. This makes file search easier. Otherwise, it can really be a
difficult and time consuming job to search for a particular file out of the whole lot of files
stored on the disk. An example of library can make the explanation of the concept clearer.
As you must have already observed, the books in a library are put in big cabinets. Each
cabinet is divided into many shelves and sub shelves. Each shelve or sub-shelve contains
books on a particular subject. So, the required book on a particular subject can be found out
very easily without wasting much time and effort.

On similar grounds, all the files that are related to each other are clubbed at one place. This
is known as a Directory Structure or simply a Directory. A directory structure resembles
an inverted tree. The main directory becomes the Root directory. The directories and files
become the branches of this directory tree. Any number of files and directories can be
added to it, thus, making the tree grow big downwards. Let us take an example. Suppose
we wish to store two kinds of files on our disk: ACCOUNT and EXPENSE. Further, we
wish to keep two more kinds of files (say CASHSALE and CREDSALE) under
ACCOUNT sub-directory. DOS can very much help you in organizing your files through
directory structure.

1. On the top of the directory structure, there is a Root directory. This directory is
always present and is shown by \(backslash) for referencing. Any file or directory
that is created is always under the Root directory.
2. EXPENSE is the sub-directory of the Root directory.
3. ACCOUNT is the parent directory of the directories CASHSALE and CREDSALE.
It can also be said that the CASHSALE and CREDSALE are the sub-directories of
the ACCOUNT directory. Thus, a directory under a directory is called a sub-
directory / (Root).
• ACCOUNT EXPENSE
• CASHSALE CREDSALE [Link]
• [Link]
It can be clearly seen that the files relating to a particular subject can be put under a
directory. For example, all the files relating to expenses can be put under EXPENSE
subdirectory whereas all the files relating to cash sales can be stored under the subdirectory
CASHSALE.

Referencing Files
It’s time to learn as to how to locate a file. The directory structure has two sub-directories
under the Root directory. The sub-directory EXPENSE has two files under it. DOS allows
you to go from one directory to another by following a certain path. In the beginning, the
user is always resident in the Root directory. While traveling from one directory to another

57
certain rules have to be followed. A user cannot go directly from ACCOUNT subdirectory
to EXPENSE sub-directory. To go from one sub-directory to another, you have to first go
to its parent directory or the Root directory. Thus, for going from ACCOUNT sub-directory
to EXPENSE sub-directory, you first have to go to Root directory. Similarly for going from
the file [Link] to [Link], you have gone to the EXPENSE sub-directory first.
Thus, in other words, while moving from one directory to another, you have to its parent
directory first. Now, in order to reach out to the file [Link] the following path has to
be followed:

C:\>Expense\[Link]
12345
Here,
1. Is the drive name where the file is resident in;
2. Is the path which DOS takes to reach for a file;
3. Is the directory under the Root;
4. Is the primary name of the file that is to be accessed;
5. Is the extension name of the same file.

The \ (backslash) has to be used for tracing out the path. First backslash takes you to the
Root directory. The subsequent backslashes separate the directories, sub-directories and the
filename that are given in the whole path. File Naming Conventions There are certain rules
that have to be followed while giving names to your files. A filename has two parts:

1. Primary Name
2. Extension (Secondary Name)

A dot (.) separates a primary name from an extension. Let see the two parts of the file
named [Link]. A primary name cannot have more than eight characters and
similarly an extension can contain only up to three characters. Filename having only the
primary name and no extension is absolutely valid because it is absolutely optional to give
an extension to a filename. An extension is generally given by language or software used
by the file. For example, if you entering BASIC and PASCAL programs, their filenames
would have extension BAS and PAS respectively. A filename can contain the following
characters:

1. An Alphabet (A-Z) or (a-z)


2. A number (0-9)
3. Special characters such as etc.
Except *, ?, full stop (.) and space

It is a good practice to give meaningful names to your files. However, no two files can have
exactly the same name on disk. Thus, a name given to a file on a disk has to be unique. A
look at a few valid and invalid filenames:

58
The rules for naming a directory are the same as that of naming files.

Dos Commands:
DOS offers a variety of commands to perform various functions. With the help of DOS
commands, you can display the list of files and directories that are present on the disk,
create new files and directories; remove unwanted files and directories and much more.
DOS commands can be entered either in uppercase or lowercase letters. The format of a
DOS command is called syntax. All DOS commands begin with command name. When
DOS carries out the instructions given by you, is called the execution of DOS command.
All DOS commands can be classified into two categories: Internal Commands and External
Commands.

Internal Commands
The commands which are a part of the main files of DOS [Link] and two
hidden files) are known as Internal Commands. They are loaded in the RAM as soon as the
computer is switched on. The important internal commands are DIR, COPY, DEL, REN,
MD, CD, RD, TYPE, COPY CON, DATE, TIME, CLS, ECHO, PROMPT and PATH.

External Commands
External commands are those commands, which are stored disks as separate program files.
These files have the same primary name as the command name. The extension of these
files is either COM or EXE. So, at the time of execution of these commands, the
corresponding program file should be present in the DOS sub-directory of the hard disk and
DOS sub-directory should also be in the path search. The commonly used external
commands are- FORMAT, DISKCOPY, CHKDSK, XCOPY and LABEL.
Let us discuss some of the important DOS commands in detail.
• CD or CHDIR

To change the directory path.


Syntax
CHDIR [drive:][path]
or
CD [drive:][path]
Switches Used
cd\ - Goes to the highest level the root of the drive.
cd.. - Goes back one directory. For example if you are within
C:\WINDOWS\COMMAND> directory this would take to C:\WINDOWS>

59
CD windows - If present would take you into the Windows directory. Windows can be
substituted with any other name. Example Suppose you are under the EXPENSE sub-
directory and you want to access the files or directories in the ACCOUNT subdirectory.
This would involve the changing of directory from EXPENSE to ACCOUNT. This will
make the ACCOUNT directory active. The task of changing directories can be
accomplished with the help of CD command. Look at the following example:
C:\>CD ACCOUNT <Enter>

The above command will take you to the sub-directory ACCOUNT as shown by following
prompt:

C:\ACCOUNT>

If you want to go to the sub-directory CASHSALE from the sub-directory EXPENSE,


issue the following command:

C:\>CD ACCOUNT\CASHSALE <Enter>

After the above command, the following prompt C:\ACCOUNT\CASHSALE>

The command for going to the root directory from prompt is:

C:\ACCOUNT\CASHSALE>CD\ <Enter>
But, the command for going to the parent or previous (whether it is root or subdirectory) is:
C:\ACCOUNT\CASHSALE>CD.. <Enter>
If you are in the sub-directory CASHSALE, the command will take you to ACCOUNT
sub-directory below:
C:\ACCOUNT>
Suppose you are under the EXPENSE sub-directory want to access the files or directories
in the ACCOUNT subdirectory. This would involve the changing of directory.

EXPENSE to ACCOUNT. This will make the directory active. The task of changing
directories accomplished with the help of CD command. Look following example:
C:\>CD ACCOUNT <Enter>
where CD stands for Change Directory
The above command will take you to the sub-directory ACCOUNT as shown by following
prompt:

C:\ACCOUNT>-
If you want to go to the sub-directory CASHSALE from the sub-directory EXPENSE,
issue the following command:

C:\>CD ACCOUNT\CASHSALE <Enter>

After the above command, the following prompt

60
C:\ACCOUNT\CASHSALE>_
The command for going to the root directory from prompt is:

C:\ACCOUNT\CASHSALE>CD\ <Enter>
But, the command for going to the parent or previous
(whether it is root or subdirectory) is: C:\ACCOUN-RCASHSALE>CD.. <Enter>
If you are in the sub-directory CASHSALE, the command will take you to ACCOUNT
sub-directory below:
C:\ACCOUNT>-
The command for displaying the name of the currently directory is:
C:\>CD <Enter>
• DIR
Displays a list of files and subdirectories in a directory.

Syntax
DIR [drive:][path][filename] [/P] [/W] [/A[[:]attributes]] [/
O[[:]sort order]] [/S] [/B] [/L] [/V]

Example
dir = Lists all files and directories in the directory that you are currently in.

dir /ad = List only the directories in the current directory.

61
dir /s = Lists the files in the directory that you are in and all sub directories after that
directory, if you are at root “C:\>” and type this command this will list to you every file and
directory that is on the computer.

dir /p = If the directory has a lot of files and you cannot read all the files you can use this
command and it will display all files one page at a time.

dir /w = If you don’t need the info on the date / time and other information on the files you
can use this command to list just the files and directories going horizontal taking as little as
space needed.

dir /s /w /p = This would list all the files and directories in the current directory and the sub
directories after that in wide format one page at a time.

• COPY CON
This command is used to create a file.

Syntax
Copy con <filename>
Once you have entered the above command this will create the file by the name specified.
Once you have typed all the lines you wish to be in the file press and hold CTRL + Z. This
should enter ^Z, once on the screen press the enter and one file should be copied.

Example
C:\>copy con [Link]
• MD
This command is used t make a directory.

Syntax
MD <directoryname>

Example
C:\>md dir1
This will create a directory named dir1 under root.
• COPY
Copies one or more files to another location.

Syntax
COPY Source Destination
Example
copy *.* a: = This would copy all files in the directory currently in to the floppy disk in
drive a:
copy [Link] c:\dir1\[Link] = This would copy [Link] to a directory dir1 under root
with a different name [Link].

62
copy [Link]+[Link] = This command would copy the contents in [Link] and
combine it with the contents in
[Link]
• DEL
Deletes one or more files.

Syntax
DEL [drive:][path]filename
Examples
del [Link] = Deletes the [Link] in the directory that you currently are in, if the file
exists.
del c:\windows\[Link] = Delete the c:\windows\[Link] in the windows directory if it
exists.
del c:\windows\temp\*.* = (* is for wild character(s)) *.* indicates that you would like to
delete all files in the c:\windows\temp directory.
del c:\windows\temp\?[Link] = (? is a single wild character for one letter) This command
would delete any file ending with [Link] such as [Link] or [Link]
• EDIT
Edit allows a user to view, create and or modify their computer files. The disadvantage of
copy con is that you cannot modify a file. So we use edit.

Syntax
EDIT <filename>
Example
Using edit you can also create files, for example if you wanted to create a file called
[Link] you would type:
edit [Link] <press enter>
This would bring up a blank edit screen, as long as the file is saved upon exit this will
create the file [Link].
• MOVE
Allows you to move files or directories from one folder to another or from one drive to
another.

Syntax
MOVE source destination
Example
C:\>move [Link] c:\dir1\[Link]
This would move a file named [Link] to directory dir1 with the same name.
• REN OR RENAME
Used to rename files and directories from the original name to a new name.

Syntax
Ren oldfilename newfilename
Example
C:\>ren [Link] [Link]
This will change the name of [Link] to [Link].

63
• CLS
cls is a command that allows a user to clear the complete contents of the screen and leave
only a prompt.

Syntax
cls
• Format
Format is used to erase all of the information off of a computer diskette or fixed drive.

Syntax
Format <drive>
Example
C:\>Format a:
This will erase all the contents of the floppy disk inside floppy drive.

3.5.2 UNIX
UNIX was developed by some of the members of the Multics team at the bell labs starting
in the late 1960’s by many of the same people who help created the C programming
language. The UNIX today however is the not just the work of a couple of programmers.
Many other organizations, institutes and various other individuals contributed significant
additions to the system we now know to day.

UNIX is primarily a command line oriented operating system you can get additional
applications such as X-Window which allows you to have a graphic oriented operating
system similar to Windows 3.x / Windows 95 / Windows 98. However while this is
available UNIX is still primarily used from the command line. Because the UNIX
operating system is an open operating system you will discover that there are various
shells. A shell is a large add-on / modification of the UNIX operating system, to determine
the shell you can type echo $shell at the UNIX prompt. When typing this you will receive a
response such as / bin/csh which in this case indicates that the UNIX you are logged into is
a C shell. Another popular shell is the Borne shell which is / bin/ sh and Korn shell that the
UNIX you are logged into is a C shell. Another popular shell is the Borne shell which is /
bin/sh and Korn shell.

3.5.3 Linux
Linux is an open- source operating system enhanced and backed by thousands of
programmers worldwide. It is a multi tasking, multiprocessing operating system designed
originally for use on personal computers. The name “Linux” is derived from its inventor
Linus Torvalds. Torvalds was a student at the University of Helsinki, Finland in early
1990s when he wrote the first version of an UNIX- like kernel as a toy project. He later
posted the code on the Internet and asked programmers across the world to help him build
it into a working system. The result was Linux. Torvalds holds the copyright but permits
free distribution of source code. That is, he oversees development of kernel and owns its
trademark. When someone submits a change or a feature, Torvalds and his core team of
kernel developers review the merit of adding it to kernel source code.

64
3.5.4 Microsoft Windows
It is a series of software operating systems and graphical user interfaces produced by
Microsoft. It was developed by Microsoft to overcome the limitations of its own MS-DOS
operating system. Microsoft first introduced an operating environment named Windows in
November 1985 as an add-on to MS-DOS in response to the growing interest in graphical
user interfaces (GUIs). Microsoft Windows came to dominate the world's personal
computer market, overtaking Mac OS, which had been introduced previously. The most
recent client version of Windows is Windows Vista; the most recent server version is
Windows Server 2008. Vista's successor, Windows 7 (currently a release candidate), It is a
family of operating systems for personal computers. Windows dominates the personal
computer world, running, by some estimates, on 90% of all personal computers. The
remaining 10% are mostly Macintosh computers. Like the Macintosh operating
environment, Windows provides a graphical user interface (GUI), virtual memory
management, multitasking, and support for many peripheral devices. Main Features of
Microsoft Windows are as follows:

Its native interface is a GUI. Hence, for a new user it is easier to learn and use a computer
system.

A Microsoft window was designed to be not just an operating system but also a complete
operating environment. That is, all its programs conform to a standard way of working. For
example, a Microsoft Windows word processor works similarly the way a Microsoft
windows spreadsheet (or any other type of Windows program) works. This means that
experience gained by learning one Windows program is useful while using any other
Microsoft Windows program.

It is single- user, multitasking operating system. That is, a user may run more than one
program at a time. For example, while editing a file in foreground, a sorting job can be run
in background. Monitor’s screen can be portioned into multiple windows and progress of
different programs can be viewed on different windows.

65
Fig 3.11 Microsoft Windows

3.5.5 Microsoft Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of


which was released in July 1993. It is an operating system developed by Microsoft for
high-performance processors and networked systems. In 1993, when it was first released,
Microsoft Windows NT was Microsoft's platform of choice for high-end systems. The
current version, 4.0, is intended for use as a network server (NT Server) or a workstation
(NT Workstation). Windows NT did not replace Windows 95. While Windows NT
contains the Windows 95 interface, it is entirely 32-bit.

Technical features of Windows NT


• Interface
o Contains the Windows 95 interface and features like the Start button,
Taskbar, Explorer, Network Neighborhood, and Briefcase
• Networking
o NetWare client and login script support
o Enhanced meta-file (EMF) spooling for improved network printing speed

66
o Support for 15 network protocols
o Peer-to-peer and FTP server capabilities
o Client software for both telnet and FTP services
• Messaging Capabilities
o Windows Messaging Subsystem
o Microsoft Exchange and Microsoft Schedule+ included
o WINCHAT, NET MESSAGE, or Net DDET
• Remote Management
o Remote management utilities such as Event Viewer, Performance Monitor,
Service Controller, and Registry Editor
o Dial-out capability to remote servers
o Remote dial-in capability
• Remote Access Services (RAS)
o Internet access to Windows NT Server and DNS names for resource
connections
o Dial-out capability to remote servers, including Internet services
o Remote dial-in ability to any workstation
o Full network functionality over remote links using NetBEUI, IPX/SPX, and
TCP/IP protocols
o Dial-in capability to remote NetWare servers using RAS
o Multi-link capability for channel aggregation of multiple modem
connections
• Security
o Per-file and per-directory security with the NT file system (NTFS)
o Local desktop security; user ID and password required for access
o Account lockout capabilities to prevent unlimited login attempts
o Network security with single network login using challenge/response
protocol
• Application Support
o Native support for all applications based on Windows 95, Win32, 16-bit
Windows, 16-bit MS-DOS, 16-bit OS/2, and POSIX 1003.1
o Separate memory spaces for 16-bit applications (multiple virtual MS-DOS
machines)
o Preemptive multitasking for 16-bit and 32-bit applications
o 486 emulator allows 386-enhanced 16-bit applications to run on RISC
machines
o OLE support between all 16-bit and 32-bit Windows based applications
o Asynchronous I/O queue for improved responsiveness
o Structured exception handling for easy troubleshooting
• Graphics and Multimedia
o Significant performance gains for graphic intensive applications
o OpenGL APIs for high-performance three-dimensional color graphics
o 16-bit and 32-bit API support for the Video for Windows 1.1 feature set
• Utilities
o File compression with NTFS
o User Manager for configuration and security

67
o Disk Administrator for graphical disk configuration
o Diagnostics utility that details basic system information
o Performance Monitor for local and remote troubleshooting
o Tape backup
o Event Viewer and logging utility for local and remote troubleshooting
o Long filename support on FAT and NTFS
o Configuration details managed in registry database
• Hardware Support
o Multiple hardware configuration; you can specify a hardware profile at start
time, including services, devices, and video resolutions
o Intel, Alpha AXP, MIPS, and PowerPC platforms
o Symmetric multiprocessing (SMP) support

---------------------------------------------------------------------------------------------------------
3.6 REVIEW QUESTIONS
---------------------------------------------------------------------------------------------------------
1. Discuss about the role of System Software?
2. Comment on the role of Operating System as a System Software.
3. What components are involved in determining the performance of computer
system?
4. What factors affect the performance of computer system?
5. Explain the role of classifying criteria for the Operating Systems.
6. Explain the working of Single User Operating Systems.
7. Explain the working of Multi User Operating Systems.
8. Explain the Concept of Multi Tasking
9. List some of the Technical features of Microsoft Windows NT.

68

You might also like