Sie sind auf Seite 1von 166

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer
Systems

Courses

Course Objective
The Objective of this course is to have an insight that what is a
computer, how it works in collaboration with another computer or various
devices that connect to it using wires or without them. This collaboration of
various physically and geographically distant computers serves as the medium
for communication, information sharing and processing. This collaboration of
computers forms a computing environment.This course also explains the
basics of system software and the different programs associated with system
software like assemblers,compilers, loaders, linkers and interpreter.

Course Content
1.

Introduction to Computer Technology


i.
ii.
iii.

2.

Components in a Computer System


Computer Language

Computer Organization and Architecture


i.

ii.
iii.
3.

What is a Computer

Organization of a small Computer

a.

Central Processing Unit (CPU)

b.

Input and Output Devices

c.

Memory Unit

Bus
Addressing Mode

Systems Software
i.

Assembler

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/index.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

4.

ii.

Assembly language

iii.

Loaders and Linkers

iv.

Compilers

v.

Interpreters

Introduction To Operating Systems


i.

ii.
5.

Basic Resources Managed By Operating System

a.

Basics Of Memory Management

b.

Process Management

c.

File Management

d.

Device Management

Resource Sharing Management

Computing Environments
i.
ii.

Mainframe Computing Environment


Networks

iii.

Internet

iv.

Websites

Courses

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/index.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1. Introduction
Computers have become an indispensable part of our daily life.
Be it connecting with our friends, shopping, gaming, booking tickets, getting
the score updates, listening music, watching movies as well as live TV
programs and so on (refer Figure 1.1,1.2,1.3 and 1.4). Computers have made
our life not only easier but more interesting also. It is an advantage to us that
we are living in the period of such technological revolutions. So let us explore
What Computer Technology actually is and how it works.

Figure 1.1 : Connecting with friends, shopping, gaming

Figure 1.2 : Booking Tickets, Getting Score updates, listening music

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.1_introduction.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 1.3 : Watch Movies

Figure 1.4 : Live news and TV programs


Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.1_introduction.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.1 What is a Computer


A computer is a machine that executes a set of arithmetic or
logical instructions. The sequence of these instructions can be changed to
perform a variety of operations and get various outputs.
For example, it can perform arithmetic instructions (instructions
used for calculations) like Add, Multiply, Subtract or Divide. It can calculate
and store 2 + 3 =5 as result in the memory.
Logical instructions have some conditions that evaluate to either
true or false (called boolean values). Based on these conditions they derive a
result. For example, We want to calculate the grade of a student based on the
total marks as follows: If total marks is greater than 180 then Grade of Student
should be A. Else if total marks is between 150 to 180 then Grade of Student
should be B. Otherwise (that is both the previous conditions evaluated to false)
the Grade of the Student will be C. So, if Tom has his total marks as 175 then
his grade will be B as the second logical condition evaluates to true in this case.
Simply put, We can describe computer as an electronic device
which takes some input like your name and birth date and displays your age.
Also it can remember your name and greet you the next time you start it.
Hence it uses information to calculate results. Also it stores and remembers
information.
For example,
if you have entered name
as Tom and birth date as
1st January 1995 and if
the current year is 2013,
the computer will display
the result as Welcome
Tom. Your age is 18 years.
The
evolution of Computer
Figure 1.5 : Difference Engine
Technology has been an
interesting journey and starts with its pioneer Charles Babbage.
Charles Babbage ,the father of computer, designed the first
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.2_what-is-a-computer_1.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

automatic computing engine. It was to operate on steam and was called the
Difference Engine (refer Figure 1. 5).

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.2_what-is-a-computer_1.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.1 What is a Computer


Harvard
Mark-I (refer Figure 1. 6)
computer was built as a
partnership
between
Harvard and IBM in 1944.
It
was
the
first
programmable
digital
computer made in the
U.S.
But it was
Figure 1.6: Harvard Mark -I :An electronot a purely electronic
mechanical computer
computer. The Mark-I
computer was constructed out of switches, clutches, relays and rotating shafts.
The machine weighed 5 tons, contained 500 miles of wire, was 51
feet long and 8 feet tall, and had a 50 ft rotating shaft, turned by a 5
horsepower electric motor.
The first completely electronic computer is well known as ENIAC
(Electronic Numerical Integrator And Calculator - refer Figure 1.9 on next
page) and was developed by University of Pennsylvania in 1946. This was
followed by many evolutions and then came Apple I Computer (refer
Figure 1.7)in 1976, which could be setup as a Do It Yourself Kit.

Figure 1.7: Apple I Home Computer

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.2_what-is-a-computer_2.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 1.8 : Integrated Circuit


The computers that we use today is a transformation which was a
result of the invention of the microprocessor. A microprocessor (uP) is a
computer that is fabricated on an integrated circuit (IC - refer Glossary).
It is a single integrated circuit that is sufficiently complex enough
to perform the processing part of the information processing cycle (that is the
arithmetic and logical calculations discussed above in section 2.1. where
considering information like marks, we have derived the grade of a student. ).
In other words, it must have enough circuitry to process data, perform
calculations, and facilitate interface with memory, input, output and storage
devices(Refer section 2.2 for more details on Input, Output and Storage
devices).
A microprocessor can perform calculation at a super speed with
accuracy. For example,the following calculation is performed really fast
producing accurate results.
147369852
*
58937.42
399788222207794191356873.69597904

698532.47

65893.6598=

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.2_what-is-a-computer_2.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer Technology

Course Contents | Prev : Next

1.1 What is a Computer


Computers had been around for 20 years before the first microprocessor was developed by
Intel (one of the leading companies that manufactures hardware) in 1971. The micro in the name
microprocessor refers to the small physical size. Intel did not invent the electronic computer. But they
were the first to succeed in designing an entire computer on a single chip (IC).
Thus Intel 4004, the first microprocessor (uP) came into existence. The 4004 consisted of
2300 transistors and was clocked at 108 kHz (108,000 times per second). Compare this to the 42 million
transistors and the 2 GHz clock rate ( 2,000,000,000 times per second) used in a Pentium 4. Pioneer 10
spacecraft, the man-made object farthest from the earth has Intel's 4004 chips.
Intel followed the 4004 with the 8008 and 8080.The Intel Pentium 4 used in today's PCs is
still compatible with the Intel 8088 used in IBM's first PC.
In 1993 Apple released its first tablet computer named Newton Message Pad 100 and then
iPad in 2010 followed by a series of tablets (refer Figure 1. 9)and we still have more innovations on the
way.
The evolution of computer has changed it from that of the size of a room to the one that fits
in your palm with multiple times more computational ability and speed.

Figure 1.9: Evolution from ENIAC to Desktop Computer to Laptop and Tablet

details)

Few of the latest use of computer technology can be listed as below. (Refer glossary for

Digital Signature verification


Natural Language Speech to Text
Augmented Reality
Cloud Computing
Phablets
Omnidirectional Imaging
Social Networking

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.2_what-is-a-computer_3.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.2_what-is-a-computer_3.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2 Components in a Computer System


A computer consists of following components:
Hardware
Software
Firmware

1.2.1 Hardware
Hardware constitutes the tangible parts of computer like its
keyboard, mouse, visual display unit (VDU or monitor), circuits, etc. It is best
described as all the physical parts of a computer, the parts you can actually see
and touch.

Hardware constitutes the following parts of computer:


I.

Case or body of computer

II.

Power supply

III.

Input peripherals

IV.

i.

Mouse

ii.

Keyboard

Output peripherals
i.

V.

Monitor

Memory Device

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_1.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

VI.

VII.

Motherboard
i.

Central Processing Unit

ii.

RAM

iii.

Ports

Expansion cards

Figure 1.10: Hardware Components


Out of the components listed above, We will focus our discussion
on the following parts of hardware:
I.

Mouse

II.

Keyboard

III.

Monitor

IV.

Memory Device

V.

Central Processing Unit


Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_1.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.1.1 Mouse
A Mouse is an input device and probably has at least two buttons
on it. The left button is called the primary mouse button, the right button is
called the secondary mouse button or just the right mouse button. There can
be a small wheel called Scroller between the two mouse buttons. The mouse
can be used as follows:
Click: Point to the item, then tap (press and release) the left
mouse button. Like you click links on a website
Double-click: Here, point to the item and press the left mouse
button twice in rapid succession.
Right-click: Point to the item, then tap the right mouse button.
Drag: Point to an item, then hold down the left mouse button as
you move the mouse. Then release the left mouse button to drop
the item.
Right-drag: Point to an item, then hold down the right mouse
button as you move the mouse. Then release the right mouse
button to drop the item.

Figure 1.11: Mouse


https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_2.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_2.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.1.2 Keyboard
A Keyboard is an input device and is usually used when we need
to type some text input or fill a form. Various keys are explained below.
The function keys have some definite function depending on the
application or program that you are using on your computer.
There are twelve function keys from F1 to F12. F1 can always be
used to display help for your current application, F2 can be used
to change name of any file, F3 can be used to search any text or
file on the computer. Similarly each function key can be used to
perform a specific action.
The direction keys or Arrow keys can be used to move the typing
cursor (the blinking short vertical line on monitor that indicates
the position of text insertion) at desired location.
The numeric keys can be used to enter numbers if we have
pressed the Num-Lock key which can be indicated by the light
on Lock Key indicators. Otherwise, the Numeric keys behave as
direction keys and allows you to change your cursor location.
Ctrl and Alt keys are generally used in combination with other
keys to perform some specific task that is, you can press all
these combination keys together to produce a single input.
Shift Key is also a special key which can be used to change the
lower case letter to upper case and vice-versa while typing. It is
also used to display the parenthesis (), the question mark (?) ,
the exclamation point (!), and the colon(:). Also, it helps in
displaying other special characters like @,$,# that are present on
the horizontal numeric keypad.
Tab key allows you to move the cursor by a fixed number of
spaces. It is helpful if you want to write something in a tabulated
form. It can also be used to move to the next input field while
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_3.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

filling a form.
Caps Lock Key sets an input mode in which typed letters are
uppercase(in capital letters) by default . The keyboard remains
in caps lock mode until the key is pressed again. It can be useful
when you are typing a heading or filling a form which requires
only capital letters.
Enter Key causes a form, or any other computer operation to
perform its default function. This is typically an alternative to
pressing an OK button. It can also be used to move to next line
starting position while typing.
Esc (Escape) key can be used to cancel a task or to go back to a
previous task.

Figure 1.12: Keyboard

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_3.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.1.3 Monitor
Also called VDU (Visual Display Unit), the Monitor is the
primary output device. It looks like a Television and has the similar purpose of
displaying videos or output of programs. Monitors are built using technologies
like Cathode Ray Tube (CRT monitors- refer Glossary) and Thin Film
Transistor Liquid Crystal Display (TFT- LCD monitors - refer Glossary) . We
now generally have these monitors or screens made of TFT-LCD.

Figure 1.13: Computer Monitor

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_4.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.1.4 Memory Devices


These are the devices which store the information.
The term primary memory is used for the information in physical
systems which functions at high-speed. For example, it is capable of
performing complex calculations and displaying the results at the same time.
Secondary memory devices are physical devices for program and
data storage which are slow to access but offer higher memory capacity.
memory.

Primary memory stored on secondary memory is called virtual

RAM (refer Figure 1. 14, Glossary), and Computer cache (refer


Glossary)are examples of Primary memory storage. Magnetic tapes, Compact
Disks (CDs), Digital Versatile Disks(DVDs - refer Figure 1. 15) are all examples
of Secondary Memory Storage.
The memory is organized into memory cells each storing one
binary bit (0 or 1). The memory cells are grouped into words of fixed length, for
example 1, 2, 4, 8, 16, 32, 64 or 128 bit. Each word in the memory can be
accessed by a binary address (refer Glossary)of N bit, making it possible to
store 2 raised by N words.

Figure 1.14: RAM Storage Device

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_5.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 1.15: DVD: Digital Versatile Disk


Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_5.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.1.5 Central Processing Unit


The Central
Processing Unit (CPU) or
the computer processor
performs
calculations,
processes
information,
stores data in memory
and controls the flow of
data. The conventional
Figure 1. 16 : Dual Core Processor
processors are small in
size and have all the
circuits integrated on a single chip. Because of its small size, the processor is
also known as microprocessor. It is also called the Brain of computer.
A minimal hypothetical microprocessor might only include an
arithmetic logic unit (ALU) and a control logic section.
The ALU performs mathematical operations such as addition of
two numbers, and logical operations such as AND or OR (refer
Glossary). Each operation of the ALU sets one or more flags in a
status register ( a small memory within the CPU), which
indicates the result of the last operation.
The control logic section retrieves instruction codes from
memory, and initiates the sequence of operations that the ALU
requires to carry out the instruction. It may happen that a single
operation code affects many registers (refer Glossary) at the
same time. It is like executing a flow chart (refer Glossary) and
depending on the condition encountered in the flow chart an
appropriate decision will be taken and the flow will jump to
some other operation to be triggered in the ALU.
Garrett AiResearch's Central Air Data Computer (CADC) (1968),
Texas Instruments (TI) TMS 1000 (1971 September), and Intel's
4004 (1971 November) are the three projects that delivered a
microprocessor at about the same time.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_6.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

We also have multi-core processors that have a single chip


containing more than one microprocessor. This effectively
multiplies the processor's potential performance by the number
of cores (the independent actual central processing units).
The first dual-core processors (microprocessors having two
separate microprocessors on single Integrated Chip -refer
Figure 1. 16 ) for personal computer were announced in 2005.
As of 2013, dual-core and quad-core processors (microprocessors
having four separate microprocessors on single Integrated Chip)
are widely used in home PCs and laptops while six, eight, ten,
twelve, and sixteen-core processors are common in the
professional and enterprise markets with workstations and
servers (refer Glossary).
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_6.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.2 Software
Software is the non-material part of computer like data,
programs, protocols, etc. It is a non-physical component that runs on your
computer and can be changed by a set of programmed instructions.
For example you watch a movie on a DVD using the DVD drive in
your computer. Here the DVD and DVD drive are both hardware, but the
program in your computer that you use to watch this movie is called software.
Thus as movie is stored on a DVD, similarly there is a program like Media
Player stored on your computer to watch that movie. The application that you
are currently using to read this text is also a software.
Software can be categorized into three types as follows:
System Software
Utility Software
Application Software
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_7.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.2.1 System Software


It is the software used to manage and control the hardware
components and which allow interaction between the hardware and the other
types of software (refer Figure 1. 17). The most obvious type of system
software is the computer's operating system. We will see Operating System in
detail.
All the programs and software run on computer using the main software The
Operating System. Some popular modern operating systems are Android, iOS,
Unix, Linux, Mac OS X, Microsoft Windows and IBM z/OS (refer Figure 1. 18).

Figure 1.17 : System Software- Operating System Layer

Figure 1.18 : System Software- Operating Systems


Operating system has various categories as listed below:

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_8.html

1/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Real-time : Real-time operating systems often use specialized


scheduling algorithms (refer Glossary). The main objective of
real-time operating systems is their quick and predictable
response to events. Their design is called event-driven or timesharing design. An event-driven design system switches
between tasks based on their priorities or external events while
time-sharing operating systems switch tasks based on clock
interrupts.
Multi-user : A multi-user operating system allows multiple users
to access a computer system at the same time. Time-sharing
systems or Internet servers are examples of multi-user systems
as they enable multiple-user access to a computer through the
sharing of time.
Multi-tasking : A multi-tasking operating system allows more
than one program to run at a given time. Multi-tasking can be of
two types: pre-emptive and co-operative.
Pre-emptive multitasking is the act of temporarily
interrupting a task being carried out by a computer
system, with the intention of resuming the task at a later
time. Unix-like operating systems such as Solaris and
Linux support pre-emptive multitasking. For example, you
are talking on a land line phone to someone and the door
bell rings. In this case you would keep the phone caller on
hold and visit the person on door and then come back and
continue with the telephone call. It shows here that the
ringing of the door bell was a task having higher priority
for which you could suspend the current normal priority
phone call.
Cooperative multitasking is achieved by relying on each
process to give time to the other processes in a defined
manner. 16-bit versions of Microsoft Windows (Microsoft
Windows 1.0 to 3.0 and 9x versions which still support
the older windows versions. These systems usually hang
or stop responding in case one running program does not
cooperate to yield the processor to some other program)
used cooperative multi-tasking. Mac OS versions before
to OS X used to support cooperative multitasking.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_8.html

2/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Single-tasking : A Single Tasking system has only one running


program (refer Glossary).The Palm OS for Palm handheld
computers is an example of a single-user and single-task
operating system.
Distributed : A distributed operating system manages a group of
independent computers and makes them appear to be a single
computer. The networked computers working as a group in
cooperation, make a distributed system.
Embedded : Embedded operating systems are designed to be
used in embedded computer systems. These are designed to
operate on machines like PDAs with less autonomy. They
operate with a limited number of resources, are very compact
and extremely efficient by design. Minix 3 and Windows CE are
examples of embedded operating systems.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_8.html

3/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.2.2 Utility Software


It is software such as anti-virus software like Norton and McAfee,
or Microsoft Security Essentials which help to maintain and protect the
computer system but may not directly interface with the hardware. Utilities
like Winzip help to combine and compress data files so that they occupy less
memory and can be easily sent in mails.

1.2.2.3 Applications Software


Also known as apps, these are designed to allow the user of the
system complete a specific task or set of tasks. Apps include programs like
web browsers, games and office software. They are usually the reason you
bought the computer system in the first place. Refer Figure 1. 19.

Figure 1.19: Application Software

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_9.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.2.3 Firmware
It is the combination of persistent memory (long term or
permanent storage which is preserved even when the power supply is
unavailable), program code and the data stored in it.
It is software stored in hardware.
Examples include embedded systems like traffic lights and
remote control.
Let us understand firmware using remote control. When you
open a remote control you see a set of circuits which along with
the body of the remote control constitutes the hardware part.
Now you can move or switch channels using the remote control
or you can put a child lock for the same. Also you can use the
swap button on the remote control to go back to the previous
viewed channel. So the remote control is able to remember that
which is the most recent channel you viewed or your color
preferences. This part constitutes the software and data, stored
in your remote control.
Changing the firmware of a device may rarely or never be done
during its lifetime. Some firmware memory devices are
permanently installed and cannot be changed at all. Devices like
printers, scanners, cameras and USB drives have firmware
stored internally.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_10.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 1.20 : Firmware

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.3_components-in-a-computer-system_10.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

1.3 Computer Language


The term computer language includes a wide variety of languages
used to communicate with computers (refer Figure 1. 21). Programming
languages are a subset of computer languages. For example, HTML is a
markup language (refer Glossary) and a computer language, but it is not
considered a programming language.
Machine code is a computer language. It is a sequence of binary
digits (binary digits contain only 0 and 1) which instructs the computer to do
the required task. It can technically be used for programming (as for Altair
BASIC), but a sequence of binary numbers can not be considered as a
programming language.
Programing language is a convention based set of instructions
that you execute on the machine to store or manipulate any information or to
perform any logical operation.
Programing languages can be further categorized as follows:
Low Level Programing Languages : These languages are very
close to the hardware. They can be directly converted to
machine code without any intermediate steps and hence have
faster execution. For example : Assembly language. C language
can be used for low level programing as it can directly interface
with memory, hardware and the CPU. It can also be used to
create Operating Systems, and because of its user-friendly
programing features, it can be considered as Middle Level
Language also.
High Level Programing Languages : They provide a very high
level of abstraction from the detail of memory management, and
may go through two stages of processing before they can be
understood and executed by the computer. These stages are
called Compilation and Interpretation (refer Glossary). They are
easier and have more user-friendly programing features. For
example : java, c++,c#.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.4_computer-language.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Scripting Languages : These languages are directly interpreted or


executed by other programs or on-the fly and have a relatively
simple syntax, easy to pick up and program in. They are called
scripting languages because they are used to write scripts or
programs that automate the execution of tasks which could
alternatively be executed one-by-one by a human operator.
Scripting languages are very useful for web-based programing.
For example : javascript, perl.

Figure 1.21 : Computer Languages

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.4_computer-language.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

Summary
A Computer is a machine that executes a set of arithmetic or
logical instructions and usually provides a visual output. It has evolved from
Charles Babbage's Difference Engine design to the modern day Laptops and
Tablets.
The different Components of a Computer are :
Hardware The tangible or physical parts of the computer.
Mouse the device used for pointing the
target or double clicking a folder to open it.
Keyboard the primary input device with all
alphabets and numbers on it.
Screen the primary output device which is
like the TV screen.
Memory devices store all the information and
data.
Microprocessor or Central Processing Unit the electronic brain of computer responsible
for all computation logic.
Software It is the non-tangible part of computer like programs
and applications.
System Software - It is a the main software on
the computer which enables execution of
other programs and software. For example Operating system.
Utility Software - Used as an add on or
protection of computer from virus attacks.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.5_summary.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

For example - Anti-virus software.


Application Software Apps help in
performing any task on the computer. For
example - Web browser internet use.
Firmware The embedded systems that store software and data
inside the hardware as the hardware's inseparable part.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.5_summary.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

Glossary
Term used

Description

And OR
logical
operators

If we have two expressions expr1, expr2 then logical AND


will always check that if both expressions are true only then
the logical result will be true. Also if expr1 is false then expr2
is not checked at all and result becomes false whereas in
case of logical OR even if either of expressions is true, the
result will be true and only if both expressions are false, the
result will be false

Augmented
Reality

Augmented Reality (AR) is a direct or indirect live view of a


physical real-world environment whose elements are
augmented by computer-generated sensory input like sound,
graphics or video.

Binary Address

It is a memory address that is represented in the form of a


binary number (i.e. 0 or 1).

Cache

A cache is a component that transparently stores data so


that future requests for that data can be served in a faster
way. The data stored within a cache are the values that have
been computed earlier or duplicates of original values that
are stored elsewhere.

Cathode Ray
Tube

The cathode ray tube (CRT) is a vacuum tube containing a


source of electrons or electron emitter and a fluorescent
screen used to view images. In television sets and computer
monitors, the front area of the tube is repetitively scanned
systematically in a fixed pattern called a raster. Images are
produced by controlling the intensity of the three electron
beams (red, green, and blue).

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.6_glossary.html

1/4

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Cloud
Computing

Cloud computing is the use of computing resources


(hardware and software) that are delivered as a service over
a network (typically the Internet).

Compilation

A computer process that converts the human readable form


of code written in any programing language into machine
code that is the form that can be understood by the
computer.

Digital
Signature
Verification

It is a mathematical scheme or program for checking the


authenticity of an electronically generated signature. It is
especially used in cases of financial transactions where any
forgery or tampering is very important to be detected.

Expansion
Cards

It is a printed circuit board and can be inserted into an


electrical connector or expansion slot on the motherboard of
a computer. The primary purpose of an expansion card is to
provide or expand on features not offered by the
motherboard.

Flow Chart

A flowchart is a type of diagram that represents an


algorithm or process. It shows the steps as boxes of various
shapes, and connects them with arrows in a certain order.
This representation gives a step-by-step solution to a given
problem. Process operations are represented in the boxes
and arrows connecting them represent the control flow.
Flowcharts are used for analyzing, designing, documenting
as well as managing a process.

Integrated
Circuit

An integrated circuit is an electronic circuit designed to


perform some function in which the electronic components
(i.e. resistors, transistors, diodes, capacitors, etc.) are
miniaturized into a small silicon (a material found in quartz
rocks) chip, and are interconnected through tiny aluminum
strands. Integrated circuits are also referred to as
microchips or IC chips.
An interpreter is a computer program that executes

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.6_glossary.html

2/4

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Interpretation

instructions written in a programming language. It uses one


of the following strategies for program execution:
Execute the source code directly
Translate source code into some efficient intermediate
representation and immediately execute this
Explicitly execute stored precompiled code generated by a
compiler

Markup
Language

A markup language is a combination of words and symbols


which give instructions on how a document should appear.
For example, <i> tag may be used to indicate that words are
written in italics.</i>

Natural
Language
Speech to Text

Natural language processing (NLP) is a field of computer


science and linguistics concerned with the interactions
between computers and human (natural) languages. It
enables computers to derive meaning and textual
representation from a given sound clip of human speech. It
can then use this text for further processing like in case of a
phone it can dial a spoken number, or search on internet for
the name of restaurant you specified as voice input.

An omnidirectional imaging apparatus obtains images over


an entire hemispherical field and uses a mapping matrix to
define a relationship between pixels in a user-defined
Omnidirectional perspective or panoramic viewing window and pixel
Imaging
locations on the original omnidirectional image. This allows
the computation of non-distorted images in real-time. For
example - panorama photography in some latest mobile
phones.

Phablet

It is an informal term for consumer touch-screen devices


with screens that are between five to seven inches. These
devices have the combined capabilities of a smart phone and
mini tablet. It may also incorporate a stylus. A phablet is
usually larger than smartphones, but smaller than tablet or
mini-tablet.
A program is a sequence of instructions written to perform a

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.6_glossary.html

3/4

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Program

RAM

specified task with a computer.

Random-access memory (RAM) is a type of computer data


storage. It allows stored data to be accessed quickly in any
random order.

Scheduling
Algorithms

Scheduling algorithms are the steps by which various


computer processes or data flows are given access to system
resources like processor time and input/output channels.

Server

A server is a computer dedicated to run one or more services


(as a host), to serve the needs of the users of other
computers on a network.

Social
Networking

Social networking is an online service or site that focuses on


facilitating the building of social relations among people
who may share interests, hobbies, activities, backgrounds,
or real-life connections. It is now extensively used for
promoting various business and supporting causes.

Thin Film
Transistor
Liquid Crystal
Display

A liquid-crystal display (LCD) is a flat panel display that


uses the light modulating properties of liquid crystals. A
thin-film transistor (TFT) used in LCD monitors is a special
kind of transistor made by depositing thin films of a
semiconductor active layer over glass.

Workstation

A workstation is a computer designed for technical,


scientific or clerical applications. It is intended primarily to
be used by one person at a time and is usually connected
with other computers.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module1/session1.6_glossary.html

4/4

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2. Introduction
Computer Technology after its evolution, has made incredible
improvement. In early stage of evolution, the computers were not able to store
data, the size of the computer was a very huge one with very less
computational power.
Now a days, a personal computer has more computational power,
more main memory, more disk storage, smaller in size and is available in
affordable cost. The advances in the technology brought a rapid rate of
improvement in building computers and innovation in computer design.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.1_introduction.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1 Organization of a Small Computer


The model of a computer consists of four basic units, shown in
following figure (Figure 2.1). The basic units are :
I.

Central Processing Unit (CPU)

II.

Input and Output Devices

III.

Memory Unit

Figure 2.1 : Basic unit of a Computer

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.1_organization_of_a_small_computer.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


Central processing unit is also known as a brain of computer. It is
a hardware in a computer that carries out the instructions of a computer
program by performing the logical, arithmetical and input/output operations
of the system.
CPU consist of three basic blocks (refer Figure 2.2):
a.

Arithmetic Logical Unit

b.

Control Unit

c.

Registers

Figure 2.2 : Central Processing Unit

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.2_central_processing_unit_1.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


a. Arithmetic Logic Unit (ALU)
ALU performs mathematical,logical and decision operations in a
computer. After the processing is done by the ALU, the result is sent to the
computer memory.
In some computer processors, ALU is divided into two distinct parts:
i.

Arithmetic Unit

ii.

Logical Unit

i. Arithmetic Unit(AU)
Arithmetic Unit performs arithmetic operations.
The ALU has got two input parameters named as A and B and
one output storage parameter, named as C.
It perform the operation as: C = A op B (where op stands for
operand which can be either of the given operations)
I.

Addition(C=A + B)

II.

Subtraction(C=A - B)

III.

Multiplication(C = A * B)

IV.

Division(C = A / B)

The input data are stored in parameters A and B, and according


to the operation specified, the ALU perform the operation and put the result in
parameter C.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.2_central_processing_unit_alu_1.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.2_central_processing_unit_alu_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


ii. Logical Unit(LU)
Logical Unit performs the logical operations. ALU is having three
logical operands:
I.

AND

II.

OR

III.

NOT

I. AND
The AND operator is represented by '&' and performs logical
conjunction on two Boolean expressions.
If both expressions are True, then the 'AND' returns True.
If either or both expressions are False, then 'AND' returns False.
As shown in the given table (Figure 2.3) : C = A & B
A

Figure 2.3 : Logical Unit - AND


where 0 means false and 1 means true.
C will be 0 when either of the value is 0 which is false.
C will be 1 when both the values are 1 which is true.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.3_central_processing_unit_alu_3.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.3_central_processing_unit_alu_3.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


II. OR
The OR operator represented by '|' performs logical disjunction
on two Boolean expressions.
If either expression is True, 'Or' returns True.
If neither expression is True, 'Or' returns False.
As shown in the given table (Figure 2.4) : C = A | B
A

Figure 2.4 : Logical Unit - OR


where 0 means false and 1 means true.
C will be 0 when both the values are 0 which means false.
C will be 1 when either of the value is 1 which means true.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.3_central_processing_unit_alu_5.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


III. NOT
The NOT operator is represented by '!' and performs the NOT
operation on a single operand.
It checks the status of a current operand and reverses the value
of a resultant operand.
If the value of an operand is true then it is reversed to false.
If the value of an operand is false then it is reversed to true.
As shown in the given table (Figure 2.5) : B = !A
A

Figure 2.5 : Logical Unit - NOT


where 0 represents false and 1 represents true.
B will be 1 if A is 0 i.e. true.
B will be 0 if A is 1 i.e. false.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.3_central_processing_unit_alu_6.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


b. Control Unit(CU)
The Control Unit extract instructions from memory, decodes and
executes them, and then sends the necessary signals to the ALU to perform the
operations required.
It is a circuitry that directs operations within the computer's processor
by directing the input and output of a computer system. The processor then controls
how the rest of the computer operates (giving directions to the other parts and
systems). It works by gathering input through a series of commands it receives from
instructions in a running programs and then outputs those commands into control
signals that the computer and other hardware attached to the computer carry out.
The control unit basically controls the operations inside the CPU and "directing
traffic" in a sense.

Figure 2.6 : Working of Control Unit


The control unit fetches instruction from main memory then decodes
those instructions into commands. ALU then executes those commands and it stores
the result in main memory (As shown in Figure 2.6).

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.4_central_processing_unit_cu.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


c. Registers
Registers are contained within the central processing unit,and
holds the data involved in the computation being performed. The size of the
register determines the processing capabilities of the CPU. The amount of
information that can be held in a register at a time for processing is known as
Register Size. The larger the register size, the faster is the speed of processing.
Registers are the fastest and most costliest storage units in a
computer. Computer instructions are stored in consecutive memory locations
and are executed sequentially one at a time.
The control unit reads an instruction from a specific address in
memory and executes it. Then it continues by reading the next instruction in
sequence and executes it. In this type of instruction sequencing, a counter is
needed to calculate the address of the next instruction after execution of the
current instruction.
It is necessary to provide a register in the control unit for storing
the instruction code after it is read from memory. The computer needs
processor registers(refer to Glossary) for manipulating data and a register for
holding a memory address.
Registers Performs following operations:Fetch - The Fetch Operation is used for taking the instructions
given by the user.
Decode - The Decode Operation is used for interpreting the
meaning of the instructions fetched by registers. Decoding
instructions means the CPU will find out which operation is to
be performed on the instructions.
Execute - The Execute Operation is performed by the CPU and
the results produced by the CPU are then stored into the
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.4_central_processing_unit_reg_1.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

memory and after that they are displayed on the user screen.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.4_central_processing_unit_reg_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.1 Central Processing Unit (CPU)


In given table (Figure 2.7), registers are listed in table with a brief
description of their function and the number of bits that they contain.
Register
Symbol

Number of
Bits

Register Name

Function

DR

16

Data Register

Holds memory operand

AR

12

AC

16

Accumulator

Processor Register

IR

16

Instruction
Register

Holds instruction code

PC

12

Program Counter

Holds address for


instruction

TR

16

Temporary
Register

Holds temporary data

INPR

Input Register

Holds input character

OUTR

Output Register

Holds output character

Address Register Holds address for memory

Figure 2.7 : Register Details


The capacity of memory unit is 4096 words and each word
contains 16 bits.
12 bits instruction word are needed to specify the address of an
operand.
This leaves 3 bits for operation part of the instruction and bit to
specify a direct or indirect address.
The data register (DR) holds the operand read from memory.
The accumulator register (AC) is a general purpose processing
register.
The instructions read from memory are placed in the instruction
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.4_central_processing_unit_reg_2.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

register (IR).
The temporary register (TR) is used for holding temporary data
during the processing.
The input register (INPR) receives an 8-bit character from an
input device.
The output register (OUTR) holds an 8-bit character for an
output device.
A program counter (PC) is a register in a computer processor
that contains the address of the instruction being executed at
current point of time. As each instruction is fetched, the
program counter increases its stored value by 1 and points to
the next instruction in sequence. When the computer is reset or
restarts, the program counter normally reverts to 0.
An address register (AR) is a high-speed circuit that holds the
addresses of data to be processed or of the next instruction to be
executed.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.4_central_processing_unit_reg_2.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.2 Input and Output Devices


Input and Output devices can be of three types

a. Input Unit/Devices
computer.

An input device is a hardware device that sends data to the

Without input device, a computer would only be a display device


and would not allow users to interact with it.
With the help of input device, data from outside can be supplied
to the computer.
Program or data is read into main storage using input device or
secondary storage under the control of CPU.

Figure 2.8 : Input Unit


Following are some of input devices:
Keyboard
Mouse, touchpad or any other pointing device
Barcode reader
Keyboard
Biometrics (e.g. fingerprint scanner)
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.5_input_unit.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Digital camera and Digital Camcorder


Touch screen
Webcam
The drives such as a CD-ROM, DVD are capable of sending
information to computer, but they are not input devices. These devices are
considered as storage devices.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.5_input_unit.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.2 Input and Output Devices


b. Output Unit/Devices
Any information that has been processed and comes from a
computer is considered as an output.
When someone views the output, they're viewing it on an output
device such as a computer monitor or a hard copy print out.
The figure (Figure 2.9), is an example of output being sent from
the computer to a printer.

Figure 2.9 : Output Unit


The computer results are provided to the user with the help of
output unit, the results can also be stored in storage device
permanently for future use.
Output data from main storage is sent to output device under the
control of CPU output instructions.
Example of output devices:
Printer
Monitor etc.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.5_output_unit.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.2 Input and Output Devices


c. Input/Output Devices
Also referred to as a IO device, is a hardware device that accepts
inputted information and also has the capability to output that information.
Examples of input/output devices are
Floppy diskette drive(Figure 2.10)
CD-ROM drives(Figure 2.11)
Modem(Figure 2.12)
USB thumb drives etc.(Figure 2.13)

Figure 2.10 : Floppy diskette

Figure 2.11 : CD-ROM

Figure 2.12 : Modem

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.6_input_output_devices.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 2.13 : USB thumb drives


Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.6_input_output_devices.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.3 Memory
Memory unit is an essential component in any computer, needed
to store the data and program. CPU works with information stored in memory
unit. It is also termed as primary memory or main memory.
A very small computer with a limited application may be able to
fulfill its intended task without the need of additional storage capacity. Most
general purpose computer is run more efficiently if it is equipped with
additional storage beyond the capacity of main memory.
There is just not enough in one memory unit to accommodate all
the programs used in typical computer, users accumulate and continue to
accumulate large amounts of data processing software. There, it is more
economical to use low cost storage devices to serve as a backup for storing the
information that CPU is not using currently.
The unit that communicates directly with CPU is called the main
memory. The most common memory device used are magnetic disks and tapes,
used for storing large data files, system programs and other backup
information. Only data currently needed by the processor reside in main
memory. Rest of the information is stored in auxiliary memory and transferred
to main memory when required.
There are following types of Memories:
a.

b.

Main memory
i.

RAM (Random Access Memory)

ii.

ROM (Read Only Memory)

Auxiliary Memory
i.

Magnetic Disks

ii.

Magnetic tapes etc.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.7_memory_1.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.7_memory_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.3 Memory
a. Main Memory
The main memory is central storage unit in a computer system. It
is used to store programs and data being used during computer operation.
Following comes under Main Memory:
RAM (Random Access Memory):
RAM, also known as Volatile memory that loses its contents
when the computer or hardware device loses power.
ROM(Read Only Memory):
ROM is used for storing programs that are permanently in a
computer and for tables of constants that do not change its
value once the production of computer is completed.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.7_memory_2.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.1.3 Memory
b. Auxiliary Memory
An Auxiliary Memory, also known as high-speed memory bank is
used in mainframes and supercomputers(refer to Glossary). The major
difference between main memory and auxiliary memory is that CPU directly
access the main memory but the auxiliary memory is not accessed by the CPU
directly. For this the data is first transferred from auxiliary memory to main
memory and then from main memory the data is transferred to the CPU for
further processing.
The most commonly used auxiliary memory devices in the
computer systems are magnetic disks and magnetic tapes.
There are following auxiliary memories:
Magnetic Disk
A magnetic disk is a circular plate made up
of metal or plastic coated with magnetized
material.
Both the sides of disk are used and several
disks may be stacked on one spindle with
read/write heads available on each surface.
Bits are stored on magnetized surface in
spots along concentric circles called tracks.
Tracks are divided into sections called
sectors.
Disk that are attached and cannot removed
by occasional user are called Hard disk.
A disk drive with the removable disks are
called a floppy disks.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.7_memory_3.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Magnetic Tapes
A magnetic tape is also known as Removable
Media consists of electric, mechanical and
electronic components to provide the parts
and control mechanism for a magnetic tape
unit. The major difference between magnetic
disk and magnetic tape is that, magnetic
tapes support sequential access.
The tape is a plastic coated strip with a
magnetic recording medium.
The Bits are recorded as magnetic spots on
tape along several tracks.
Tracks are divided into sections called
sectors.
Disk that are attached and cannot removed
by occasional user are called Hard disk.
A disk drive with the removable disks are
called a floppy disks.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.7_memory_3.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.2 Bus
A bus enables a computer processor to communicate with the
memory or a video card.
The processor, main memory and Input/Output devices can be
interconnected through common data communication lines
which are termed as a common bus, as shown in Figure 2.10.
The primary function of common bus is to provide a
communication path between devices for transfer of data.
The bus include control lines needed to support interrupts and
arbitration.

Basically, all computers utilize two types of bus:


I.

Internal Bus : also known as local bus,enables a


communication between internal components such as a
computer video card and memory.

II.

External Bus : also known as expansion bus, communicates


with external components such as a USB or SCSI
device(refer to Glossary).

The bus lines which are used to transfer data are grouped into three categories:
I.

Data Bus

II.

Address Bus

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.8_bus_1.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

III.

Control Bus
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.8_bus_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.2 Bus
Data Bus
Data bus is a computer subsystem that allows
transferring of data from one component to another on a
motherboard, or between two computers.
This includes transferring data to and from the memory,
or from the central processing unit (CPU) to other
components.
Address Bus
An address bus is used to specify a physical address.
When a processor or Direct memory access (DMA)
enabled device needs to read or write to a memory
location, it specifies that memory location on the address
bus.
Control Bus
A control bus is a part of a computer bus, used by CPUs
for communicating with other devices within the
computer.
It carries commands from the CPU and returns status
signals received from the devices.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.8_bus_2.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 2.14 : Working of Bus

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.8_bus_2.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

2.3 Addressing Modes


Addressing modes are the ways how the address of an
object/operand is being accessed.
In other words, 'The strategy to identify WHERE the operand is
located.'
In computer architecture every tasks user attempts to perform is
converted into an instruction(i.e Machine codes) and that
instruction consists of some operands to work on it .

Ex: Consider this machine code ADD A , B here ADD is opcode and A,B are
operands. This means add A and B and store the result in A. Here A and B
refers to some locations where the numbers are actually stored. This a kind of
indirect addressing mode.
There are several types of addressing modes present. Each
addressing mode has a unique formula to locate the operand.
Some of them are mentioned below :
I.

Immediate Addressing Mode (Refer to glossary for detail).

II.

Direct Addressing Mode (Refer to glossary for detail).

III.

Indirect Addressing Mode (Refer to glossary for detail)


Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.9_addressing_mode.html

1/1

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

Summary
In given document, we have presented a brief overview of
Computer organization and architecture.
Computer Architecture - refer to the relationship between
different hardware component of a computer system.
Computer Organization - refer to how operational attributes are
linked together to realized the architecture specifications.
We have covered basic units of a computer:
Central Processing Unit (CPU) - Controls the operation of the
computer and performs its data processing functions.
Arithmetic Logic Unit (ALU) - It performs
computers data processing functions.
Control Unit(CU) - It performs computers
data processing functions.
Registers - Registers provides internal
storage to the CPU.
Input Unit/Devices - They provide input to the CPU.
Output Unit/Devices - They provide output from CPU to the
user.
Memory Unit - Memory Unit is needed to store the data and
program.
Bus - It consists of set of wires that allow data to be passed back
and forth.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.11_summary.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Addressing Mode - Addressing modes are the ways how the


address of an object/operand is being accessed.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.11_summary.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

Glossary
Byte - A byte is a unit of measurement used to measure data. 1
byte contains 8 binary bits, or a series of eight zeros and ones.
So, each byte can be used to represent 2^8 or 256 different
values.
Processor Registers - A processor register is a local storage space
on a processor that holds data that is being processed by CPU.
They generally occupy the top-most position in the memory
hierarchy and provide high-speed storage space and fast access
to data. A register may include the address of memory location
instead of the real data itself.
Immediate Addressing Mode - In immediate addressing, the
instruction contains the value to be used. In many cases, an
instruction requires a constant quantity and a bit pattern which
will never change no matter when or how often the instruction is
executed. This mode of bit pattern is called the immediate
addressing mode. In the given Figure 2.15, the op-word for
instruction includes a group of bits which identifies this mode of
addressing. Since the instruction is located in program memory
the constant is itself in program memory.
In Immediate addressing mode, the instruction does not
explicitly state the location of operand, rather, it explicitly states
the operand itself. This addressing mode is used when a
particular constant value is to be fixed within a program itself.
The value is found in memory immediately after the
instruction code word that may never change at any time.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.10_glossary_1.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 2.15 : Immediate Addressing Mode

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.10_glossary_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

Glossary
Direct Addressing Mode - In direct addressing, the instruction
tells where the value can be found, but the value itself is out in
the memory. Here the instruction explicitly states the location of
an operand or destination that is either in memory or in a
processor register.
There are two sub-classification of direct addressing modeAbsolute Addressing - The mode is referred
to as Absolute addressing, when the location
is in memory.
Register Direct Addressing - The mode is
referred to as Register Direct Addressing,
when the location is a processor register.
In Figure 2.16 , the instruction specifies the address of the
operand.
In Figure 2.17, the instruction specifies the register containing
the operand.

Figure 2.16 : Absolute Addressing


https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.10_glossary_2.html

1/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 2.17 : Register Direct Addressing


Indirect Addressing Mode - Indirect addressing uses address
register to point at the location of the operand in memory, that
is, the address of an operand is obtained indirectly via an
address register. In the Indirect Addressing Mode the
instruction tells the processor neither the address of the
operand nor the operand itself. The instruction may either state
explicitly the address of a location in a memory or the name of a
processor register.
In the given Figure 2.18, the op-word for the instruction includes
a group of bits which identifies this mode of addressing and the
indirect address is specified in one or more additional postwords. Indirect Addressing is used when a program operates
upon different data values under different circumstances.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.10_glossary_2.html

2/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 2.18 : Indirect Addressing Mode

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.10_glossary_2.html

3/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computer Organization and


Architecture

Course Contents | Prev : Next

Glossary
SCSI device - A SCSI device is connected to the SCSI (Small
Computer System Interface). The SCSI device functions on its
own and uses the SCSI interface to communicate with the rest of
the computer. Figure 2.19 and Figure 2.20 are example of SCSI
devices.

Figure 2.19 : SCSI Device

Figure 2.20 : SCSI Device


Mainframes - A Mainframe computer is very large and powerful
computer, dedicated to lengthy and complex calculations.
Mainframe is also referred as the hub of a system, capable of
supporting hundreds or even thousands of users
simultaneously. A mainframe is an ultra high-performance
computer made for processor-intensive and high-volume
computing. They are used for scientific purposes and large
businesses.
Supercomputers - A supercomputer is a high performance
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.10_glossary_3.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

computing machine. It is the fastest type of computer having


extremely fast processing speeds. Supercomputers are very
costly and are used for specialized applications, where immense
amounts of mathematical calculations are required. For
example, animated graphics, nuclear energy research, weather
forecasting and petroleum exploration works on supercomputer.
The major difference between a supercomputer and a
mainframe is that a supercomputer uses its power in executing
few programs as fast as possible, whereas a mainframe uses its
power to execute many programs concurrently.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module2/session2.10_glossary_3.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3. Introduction
System software refers to the files and programs that makes up the computer's
operating system. System files consist of libraries of functions, system services, drivers for
printers, other hardware, system preferences and various configuration files.
System Software consist of the following programs:
Assemblers
Compilers
File Management Tools
System Utilities
Debuggers
The system software is installed on the computer when the operating system is
installed. The software can be updated by running programs such as "Windows Update" for
Windows or "Software Update" for Mac OS X. Application programs are used by end user,
whereas system software is not meant to be run by the end user. For example, while Web browser
like Internet Explorer are used by users every day, they don't have to use an assembler program
(unless the user is a computer programmer).
System software runs at the most basic level of the computer and hence it is called
"low-level" software.User interface is generated by the system software and allows the operating
system to interact with the hardware.
software.

System software is the interface between the computer hardware and the application

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.1_introduction.html

1/2

12/9/13

Introduction to Computer Systems

Figure 3.1 : System Software

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.1_introduction.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3.1 Assembler
An assembler is a program that converts basic computer
instructions into a pattern of bits. These bits are used by computer's processor
to perform its basic operations. Some people call these instructions as
assembler language and others use the term assembly language. This is how it
works:
Most computers come with a specified set of very basic
instructions that corresponds to the basic machine operations that the
computer can perform. For example, a "Load" instruction moves a string of bits
from a location in the processor's memory to a special holding place called a
register. In computer architecture, a processor register is a small amount of
storage available on the CPU and the contents of register can be accessed more
quickly. Most of the modern computer architectures operate on the principle of
shifting data from main memory into registers, operate on the data and then
move the result back into main memory. Assuming the processor has at least
eight numbered registers, the following instruction would move the value
(string of bits of a certain length) at memory location 2000 into the holding
place called register 8:
L 8,2000
The programmer can write a program using a sequence of
assembler instructions.
These assembler instructions, which is also known as the source
code or source program, is then specified to the assembler
program when it is started.
Each program statement in the source program is taken by the
assembler program and a corresponding bit stream or pattern (a
series of 0's and 1's of a given length) is generated.
The output of the assembler program is called the object code or
object program relative to the input source program. The object
program consisting of a sequence of 0's and 1's is also known as
machine code.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.2_assembler.html

1/2

12/9/13

Introduction to Computer Systems

This object program can be run (or executed) whenever required.

Figure 3.2 : Assembler

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.2_assembler.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3.2 Assembly Language


The native language of the computer is assembly language . The
processor of the computer understands machine code (consisting of ones and
zeroes). In order to write the machine code program, it has to be first written in
assembly language and then an assembler is used to convert the assembly
language program to machine code.
Assembly language program consists of mnemonic codes which
are easy to remember as they are similar to words in the english language. It
consists of mnemonic codes for each of the different machine code instructions
that the machine understands. A mnemonic is an abbreviation of the actual
instruction. It is a programming code that is easy to remember because the
codes resemble the original words, for example, ADD for addition and SUB for
subtraction. Examples of assembly language program:
MOV EAX,2 ; set eax register to 2(eax = 2)
SHL EAX,4 : shift left value in the register
MOV ECX,16 ; set ecx register to 16
SUB EAX,EBX ; substracts ecx from eax
An assembler converts this set of instructions into a series of
ones and zeros, also known as a executable program, that the machine can
understand.

Advantages of Assembly language


Assembly language can be optimized extremely well as it is
extremely low level language. Therefore assembly language is
used in application which require utmost performance.
Assembly language can be used for communication with the
machine at the hardware level and hence it is often used for
writing device drivers.
Another advantage of assembly language is the size of the
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.3_assembly-language_1.html

1/2

12/9/13

Introduction to Computer Systems

resulting programs. Since conversion from a higher level by a


compiler is not required, the resulting programs can be
exceedingly small.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.3_assembly-language_1.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3.2 Assembly Language


3.2.1 Assembly Language Programming
The assembler is a program which converts the assembly
language source program into a format that can be run on the processor. The
machine code instruction containing binary or hex value is replaced by a
mnemonic.

Example
Binary

Hex Mnemonic

Description

1001111

4F

CLRA

Clears the A accumulator

110110

36

PSHA

Saves A accumulator on stack

1001101

4D

TSTA

Tests A accumulator for 0

Figure 3.3 : Assembly Language Programming

Advantages of using mnemonics are:


Mnemonics are easy to understand than hex or binary values.
Its less likely to make an error.
Mnemonics are easy to remember.
Assembly language statements are written one on each line. A
machine code program consists of a sequence of assembly language
statements in which each statement contains a mnemonic. A line of an
assembly language program can contain the following four fields:
i.

Label

ii.

Opcode

iii.

Operand

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.3_assembly-language_2.html

1/2

12/9/13

Introduction to Computer Systems

iv.

Comments

The label field is optional. A label is an identifier or a text. Labels


are used in programs to reduce reliance upon programmers remembering
where data or code is located.A label is used to refer to the following:
Memory location
A data value
The address of a program or a sub-routine or a portion of code.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.3_assembly-language_2.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3.2 Assembly Language


3.2.1 Assembly Language Programming
The maximum length of a label differs for different type of
assemblers. Some assemblers accept up to 32 characters long, others only four
characters. When a label is declared, it is suffixed by a colon, and begins with a
valid character (A..Z). Consider the following example.
LOOP: LDAA #24H
Here, the label LOOP is equal to the address of the instruction
LDAA #24H. The label can be used as a reference in a program, as shown
below
JMP LOOP
When the above instruction is executed, the processor will execute
the instruction associated with the label LOOP, i.e.LDAA #24H. When a label is
referenced later in a program, it is referenced without the colon suffix.
An advantage of using labels is that inserting or re-arranging
code statements do not require re-working actual machine instructions. It only
requires a simple re-assembly. In hand-coding, changes can take hours to
perform.
The opcode field consists of a mnemonic. Opcode is the operation
code, ie, a machine code instruction. Opcode may also have additional
information in the form of operands Operands are separated from the opcode
by using a space.
Operands consists of additional information or data that the
opcode requires. Operands are used to specify
Constants or labels
Immediate data
Data present in another accumulator or register
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.3_assembly-language_3.html

1/2

12/9/13

Introduction to Computer Systems

An address

Examples of operands
LDAA 0100H ; two byte operand
LDAA LOOP ; label operand
LDAA #1 ; immediate operand(i.e constant value as operand)
The comment field is optional, and is used by the programmer to
explain how the coded program works. The comments are prefixed by a semicolon. Comments are ignored by the assembler when the instructions are
generated from the source file.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.3_assembly-language_3.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3.3 Loaders and Linkers


In a computer operating system , a loader is a component that
locates a program (which can be an application or a part of the operating
system itself) in an offline storage (for eg. hard disk ), loads it into main
storage (also called random access memory ), and gives that program control
of the computer (i.e. allows it to execute its instructions).
A program that is loaded may itself contain components that are
not initially loaded into main storage, but are loaded if and when their logic is
required. In a multitasking operating system, a program that is known as a
dispatcher juggles the computer processor's time among different tasks and
calls the loader when a program associated with a task is not already in the
main storage. (Program here, means a binary file that is the result of a
programming language compilation or linkage editing or some other program
preparation process.)
A linker, also known as link editor is a computer program that
takes one or more object files generated by a compiler and combines them into
a single executable program.
Computer programs comprise several parts or modules ,but all
these parts/modules need not be contained within a single object file. In such
case they refer to each other by means of symbols. An object file can have three
kinds of symbols:
Defined symbols, which is called by other modules
Undefined symbols, which call the other modules where the
symbols are defined.
Local symbols which are used internally within the object file to
facilitate relocation.
For most compilers, each object file is the result of compiling one
input source code file. If a program comprises multiple object files, then the
linker combines these files into a unified executable program by resolving the
symbols as it goes along.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.4_loaders-and-linkers.html

1/2

12/9/13

Introduction to Computer Systems

Linkers can take objects from a collection called a runtime


library. A runtime library is a collection of objects files which will contain
machine code for any external function used by the program file used by the
linker. This machine code is copied by the linker into the final executable
output. Some linkers do not include the entire library in the output, they only
include the symbols that are referenced from other object files or libraries. The
libraries exist for diverse purposes. The system libraries are usually linked in
by default.
The linker also arranges the objects in a program's address space.
This involves relocating code that assumes a specific base address to another
base address. Since a compiler seldom knows where an object will reside, it
assumes a fixed base location (for example, zero). The relocation of machine
code may involve re-targeting of loads,stores and absolute jumps.
The executable output by the linker may need another relocation
pass when it is finally loaded into memory (just before the execution). This
relocation pass is usually omitted on hardware offering virtual memory in
which every program is put into its own address space, and so there is no
conflict even if all programs load at the same base address. This relocation
pass may also be omitted if the executable is a position independent
executable.

Figure 3.4 : Linker

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.4_loaders-and-linkers.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3.4 Compilers
A compiler is a special program that processes statements
written in a particular programming language and turns them into machine
language or code that a computer's processor uses. A programmer writes
language statements in a language such as Pascal or C one line at a time using
an editor . The file created contains the source statements or source code . The
programmer then runs the appropriate compiler for the language, specifying
the name of the file that contains the source statements.
When executing (running), the compiler first parses (or analyzes)
the language statements syntactically one after the other and then builds the
output code in one or more successive stages or "passes" and makes sure that
statements that refer to other statements are referred in the final code
correctly. The output of the compilation is called object code or sometimes an
object module . The object code is machine code that the processor can execute,
one instruction at a time.

The Basic Structure of a Compiler


In the five stages of a compiler, the high level language is
translated to a low level language which is generally closer to that of the target
computer. Each stage of the compiler fulfills a single task and has one or more
classic techniques for implementation. The following are the five stages of a
compiler:
Lexical Analyzer : Analyzes the Source Code,removes "white
space" and comments,formats it for easy access by creating
tokens, then tags language elements with type information and
begins to fill the information in the SYMBOL TABLE. The
Symbol Table is a data structure that contains information
about symbols and groups of symbols in the program being
translated.
Syntactic Analyzer : Analyzes the tokenized code for
structure,groups symbols into syntactic groups,tags groups
with type information.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.5_compilers.html

1/2

12/9/13

Introduction to Computer Systems

Semantic Analyzer : Analyzes the Parsed Code for meaning, fills


in assumed or any missing information and tags the groups
with the meaning.
Code Generator : Linearizes the qualified Code and produces the
object code.
Optimizer: Checks the object code to determine whether there are
more efficient means of execution.

Figure 3.5 : Stages of a compiler

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.5_compilers.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev : Next

3.5 Interpreters
Interpreter is a program that executes instructions written in a
high-level language. There are two methods to run programs written in a highlevel language. The most common method is to compile the program and the
other method is to pass the program through an interpreter.
An interpreter translates high-level instructions into an
intermediate form and then executes it. In contrast to the above method, a
compiler translates high-level instructions directly into machine language. The
compiled programs generally run faster than interpreted programs. One of the
advantage of using an interpreter is that it does not need to go through the
compilation stage during which machine instructions are generated. This
process of compilation can be time-consuming if the program is very long. The
interpreter, on the other hand, immediately execute high-level programs. Hence
interpreters are sometimes used during the development of a program in
which the programmer wants to add small sections at a time and test them
quickly. In addition to this, interpreters are often used in education because
they allow students to program interactively.

Advantages of using interpreter


Execution is done in a single stage. Compilation stage is not
required.
Alteration of code is possible during runtime.
Really useful for debugging the codes.
Helps in interactive code development.

Interpreter vs Compiler
The primary difference between a compiler and interpreter is the
way in which a program is executed. The compiler converts the
source code to machine code and then saves it as an object code
before creating an executable file for the same. The compiled
program is executed directly using the machine code or the
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.6_interpreters.html

1/2

12/9/13

Introduction to Computer Systems

object code. But an interpreter does not convert the source code
to an object code before execution.
An interpreter executes the source code line by line and
conversion to native code is performed line by line while
execution is going on (at runtime). Hence the run time required
for an interpreted program will be high compared to a compiled
program.
Even though the run time required for interpreted program is
more, the execution using an interpreter has its own advantages.
For example interpreted programs can modify themselves at
runtime by adding or changing functions. Compiled program
has to be recompiled fully even for the small modifications done
in the program. But in the case of an interpreter there is no such
problem (only the modified section needs to be recompiled).
(Refer Fig 3.6)

Figure 3.6 : Compiler vs Interpreter

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.6_interpreters.html

2/2

12/9/13

Introduction to Computer Systems

Introduction to Computer Systems

Systems Software

Course Contents | Prev: Next

Glossary
A driver is software that helps the computer to communicate
with hardware or devices. Without drivers, the hardware
connected to the computer, for example, a webcam, will not work
properly.
An assembler is a computer program which translates from
assembly language to an object file or machine language format.
A compiler is a computer program that converts source code
written in a particular programming language into another
computer language.
A debugger is a computer program that is used to test and debug
other programs.
Application software, also known as an application or an app, is
computer software that helps the user to perform specific tasks.
Examples of application software include enterprise
software,office suites, graphics software and media players.

Course Contents | Prev: Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module3/session3.7_glossary.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4. Introduction
Operating system is a collection of programs. It is a software that
supports a computer's basic functions. It acts as an interface between
applications and computer hardware as shown below in the figure 4.1.
Examples of operating systems are Windows, Linux, MacOS, etc.

Figure 4.1 : OS Position


Operating system also does the task of managing computer
hardware. Operating system manage hardware by creating a uniform set of
functions or operations that can be performed on various classes of devices
(for instance read x bytes at address y from hard drive of any type, where x is
the number of bytes read). These general functions rely on a layer of drivers
that provide specific means to carry out operations on specific hardware.
Drivers usually are provided by the manufacturers, but the OS must also
provide a way to load and use drivers. OS must detect the device and select an
appropriate driver if several are available.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.1_introduction_1.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4. Introduction
In the figure 4.2 below, OS interface is a set of commands or
actions that an operating system can perform and a way for a program or
person to activate them.
Operating system is core software component of computer. It
performs many functions and acts as an interface between computer and the
outside world. A computer consists of several components including monitor,
keyboard, mouse, and other parts. Operating system provides an interface to
these parts through 'drivers'. This is why, when sometimes we install a new
printer or other piece of hardware, our system will ask us to install more
software called driver. A brief on device drivers is given in section 4.2.4, Device
Management.
Operating system basically manages all internal components of
computer. It was developed to better use the computer system.

Figure 4.2 : Operating System Interfaces


https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.1_introduction_2.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.1_introduction_2.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1 Basic Resources Managed By Operating System

system:

Following are the basic resources that are managed by operating

Memory space (Memory management)


CPU time (Process management)
Disk space (File system management)
Input-output device (Device management)

4.1.a Basics Of Memory Management


Any program needs to be loaded in memory (RAM) before it can
actually execute. Random Access Memory (RAM) is a type of computer
memory that can be accessed randomly, i.e. any byte of memory can be
accessed without touching or traversing through the preceding bytes. RAM
these days is available with various storage capabilities (256MB, 512MB, 1GB,
2GB, 4GB, 6GB and 8GB sizes).
Memory management deals with managing computer's primary
memory. It decides the amount of memory to be allocated to a particular
program. It also keeps track of free or unallocated as well as allocated memory.
Memory management applies only to RAM.
The sole motto of memory management to be done by operating
system is how best to utilize the available memory. In this process we should
try to minimize fragmentation.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_1.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1.a Basics Of Memory Management


i. Fragmentation
It occurs when there are many free small blocks in memory that
are too small to satisfy any request. In computer storage, fragmentation is a
phenomenon in which storage space is used inefficiently, resulting in to
reduced capacity as well as performance. Fragmentation also leads to wastage
of storage space. The term also refers to the wasted space itself.
There are three different types of fragmentation:
External fragmentation
Internal fragmentation
Data fragmentation
It can be present in isolation or conjunction. When a computer
program is finished with a partition, it can put the partition back to the
computer. The size and amount of time for which a partition is held by a
program varies. During its life span, a computer program can request and free
many partitions of memory.
When a program starts, there are long and contiguous free
memory areas. Over the time and with use, these long contiguous regions
become fragmented into smaller contiguous areas. Eventually, it may become
impossible for the program to request large partitions of memory.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_2.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

i. Fragmentation
Internal Fragmentation
Internal fragmentation is the space wasted inside the
allocated memory block because of the restriction on allowed sizes of
allocated blocks. Allocated memory can be slightly larger than
requested memory. The size difference is the memory internal to
partition but would not be used. Internal fragmentation is difficult to
reclaim. Design change is the best way to remove internal
fragmentation. For example, in dynamic memory allocation, memory
pools cut internal fragmentation by spreading the space overhead over a
larger number of objects.
External Fragmentation
External fragmentation happens when a dynamic memory
allocation algorithm allocates some memory and a small piece is left
over which cannot be used effectively. The amount of usable memory
reduces drastically, if too much external fragmentation occurs. The total
memory space available is enough to satisfy a request but is not
contiguous and so, is wasted. Here the jargon 'external' is used to depict
that the storage that is further unusable is outside the allocated regions.
For example, consider a situation wherein a program
allocates three continuous blocks of memory and then frees the middle
one. The memory allocator can use this free block of memory for future
allocations. However, this free block cannot be used for allocation if the
memory to be allocated is larger in size than the free block. External
fragmentation also occurs in file systems as many files of different sizes
are created, size changed and deleted. The effect is even worse if a file
which is divided into many small pieces is deleted, because this leaves
almost equal small regions of free space.
Data Fragmentation

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_3.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Data fragmentation occurs when a collection of data in


memory is broken up into many pieces that are not close enough. It is
typically the result of attempting to insert a large object into storage
that has already suffered external fragmentation.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_3.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1.a Basics Of Memory Management


ii. Memory Management Techniques
Single Contiguous Allocation
Partitioned Memory Management Scheme (Refer Glossary for
scheme definition)
Paged Memory Management
Segmented Memory Management

Single Contiguous Allocation


Single
Contiguous Allocation is
the simplest form of
memory management. In
this type of memory
management, all memory
(with an exception of
small portion reserved for
running the operating
system) is available for a
Figure 4.3 : Single Contiguous Allocation
single program to run. So
only one program is
loaded in all available memory and so generally the rest of memory is wasted.
Simplest example of this type of memory management is MS-DOS. Advantage
of single contiguous memory allocation is, it supports fast sequential and
direct access. Provides good performance and the number of disk seek required
is minimal. Disadvantage of single contiguous memory allocation is
fragmentation.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_4.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

ii. Memory Management Techniques


Partitioned Memory Management Scheme
This type of memory management divides primary memory into
multiple memory partitions, usually contiguous areas of memory. Memory
management here consists of allocating a partition to a job or program when it
starts and unallocating it, when job or program ends. A typical scenario of
partitioned memory management is depicted in the figure 4.4 below. This type
of memory management also needs some hardware support.
The figure 4.4 below shows multiple memory partitions. Each
partition runs a process (Refer Glossary). Process 1, Process 2, etc. are the
processes allocated to a particular partition in memory. Once the process is
completed, partition gets empty. A is the base register address. Base register
contains the lowest memory address a process may refer to. We can get length
of a partition from Bounds register. Bounds register stores upper and lower
bounds on addresses in a time sharing environment. Time sharing
environment refers to concurrent use of computer by more than one user
users share the computers time. Time sharing is the term used synonymously
with multi-user.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_5.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 4.4 : Partitioned Memory Management

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_5.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

ii. Memory Management Techniques


Partitioned memory management is further divided in to 2 types of
partitioning schemes:
Fixed memory partitioning (Static partitioning)
Main memory is divided into a number of static partitions
when a computer system starts. A process may be loaded into a
partition of equal or greater size. Advantage of such type of partitioning
is that it is simple to implement and has a little operating system
overhead. Disadvantages are inefficient use of memory due to internal
fragmentation. Also maximum number of active processes is fixed.
Variable memory partitioning (Dynamic partitioning)
Such partitions are created dynamically so that each
process is loaded into a partition of exactly the same size as that
process. Advantage of such type of partitioning is that there is no
internal fragmentation. Also main memory is used more efficiently.
Disadvantage is inefficient use of processor due to the need for
compaction to counter external fragmentation.
For further details on types of partitioning please refer below link:
http://www.csbdu.in/econtent/Operating System/unit3.pdf

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_6.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

ii. Memory Management Techniques


Paged Memory Management
This type of memory management divides computer's primary
memory into fixed-size units known as page frames. The program's address
space is divided into pages of the same size. Usually with this type of memory
management, each job runs in its own address space. Advantage of paged
memory management is that there is no external fragmentation. But on the
contrary there is a small amount of internal fragmentation.
Below is the Illustration representing paged memory
management. It depicts how logical pages address in memory can be mapped
to physical address. The operating system uses base address as a measure to
find addresses. Base address means starting address of a particular memory
block. According to the program written, CPU generates address. In this case,
address generated by CPU is called logical address. This address is added to
base address so that it forms physical address. To translate a logical address
into corresponding physical address, we need to divide the logical address into
page number and offset. Offset refers to a value being added to base address to
produce a second address.
For example, if B represents address 200, then the expressions,
B+10 would signify the address 210. 10 in expression is the offset. To specify
addresses using an offset is called relative addressing because the resulting
address is relative to some other point. Offset is also known as displacement.
In figure below, p represents page number and d is the offset. We use page
number as index to page table and the entry gives corresponding frame
number. 'f' in page table represents frame number. Frame number is
concatenated with the offset to get a corresponding physical address.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_7.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 4.5 : Paged Memory Management

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_7.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

ii. Memory Management Techniques


Segmented Memory Management
Segmented memory means, the division of computer's primary
memory into segments or sections as shown in figure 4.6. In this type of
memory management, there is reference to a memory location that includes a
value . This value identifies a segment and an offset within that segment. We
may create different segments for different program modules, or for different
types of memory usage such as code and data segments. Certain memory
segments may even be shared between programs. Segmented memory does not
provide user's program with a linear and contiguous (or continuous) address
space. Linear address space is a memory addressing scheme used in
processors where the whole memory can be accessed using a single address
that fits in a single address or instruction.
Segments are areas of memory that usually correspond to a
logical grouping of information such as code procedure or a data array (Refer
Glossary). Segmentation allows better access protection than other memory
management schemes because memory references are relative to a specific
segment and hardware will not permit the application to reference memory not
defined for that segment. It is possible to implement segmentation with or
without paging.
Segmentation With Paging has the following advantages:
1.

Paging eliminates external fragmentation. As a result it provides


efficient use of main memory.

2.

Segmentation which is visible to the programmer, includes strength of


paging. It has the ability to handle growing data structures,
support for sharing, and modularity, and protection.

To combine fragmentation and paging, a user's address space is


broken into a number of segments. Each of these segments in turn is broken
into fixed-size pages. If size of a segment is less than a page in length, then the
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_8.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

segment occupies just one page.

Figure 4.6 : Segmented Memory Management

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_8.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1 Basic Resources Managed By Operating System


4.1.b Process Management
CPU has multiple processes running at a time. CPU always has
certain programs scheduled in a queue waiting for their turn to execute. These
all programs must be scheduled by operating system.
Operating system must allocate resources to processes, enable
processes to exchange and share information, enable synchronization among
processes, and protect resources of each process from other processes.
Synchronization means the coordination of events or processes so that a
system operates in unison.
Process creation involves four principle events:
System initialization or start up. When an OS is booted,
typically several processes are created.
A process is run to execute a process creation system call. Most
of the times, a running process will issue system calls to create
one or more new processes to help it do its job. Creation of new
processes is useful when the work to be done can be easily
formulated as several related, but otherwise independent
interacting processes.
Request to create a new process is issued by user. In interactive
systems, users can start a program by clicking or double
clicking the icons or thumbnails or even by typing a command
on command prompt.
Batch job initiation. Users can submit batch jobs to the system
(most of the times, remotely). When OS knows that it has the
resources to run another job, a new process is created and the
next job is run from the input queue.
Several processes are created when an operating system boots.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_9.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Some of them are foreground processes while others are the background
processes. Foreground processes interact with a user and perform work for
users. In multiprocessing environment, the process that accepts input from the
keyboard or other input device at a particular point in time is at times called
the foreground process. This means that any process that actively interacts
with user is a foreground process. Background processes are the processes
which are not associated with a particular user, but instead have some specific
function to be performed. For example email notification is an example of
background processes. System clock displayed at the bottom right corner of
status bar in windows is another example of background process.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_9.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1.b Process Management


Some of the common reasons for process termination are:
User logs off
A service request to terminate is executed by process
Error and fault conditions
Normal completion
Time limit exceeded
Memory unavailable
I/O failure
Fatal error, etc.
Figure 4.7 on next page contains great deal of information.
Let us consider a running process 'P' that issues an input-output
request
The process blocks.
Thereafter, at certain point of time later, a
disk interrupt occurs and the driver detects
that P's request is satisfied.
P is unblocked, i.e. the state of process P is
changed from blocked to ready.
Later, at some point of time, the operating
system looks for a ready job to run and picks
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_10.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

the process/job P from the queue.


A preemptive scheduler in figure 4.7 below has the dotted line
'Preempt'; where as a non- preemptive scheduler doesn't.
The number of processes change for two arcs namely, create
and terminate.
Suspend and resume are a part of medium term scheduling
It is done on a bit longer time scale.
It involves memory management as well.
It is also known as two level scheduling.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_10.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1.b Process Management


There are 2 types of scheduling:
1.

Preemptive scheduling:
In a computer, tasks are assigned priorities. At times it is
necessary to run a certain task that has high priority before another task
(even if the task is in running state). Therefore, the running task is
interrupted for some time, put to either blocked or suspended state and
resumed later, when the priority task has finished its execution. This
process is called preemptive scheduling.

2.

Non preemptive scheduling:


In non-preemptive scheduling, a running task executes till it
completes fully. It cannot be interrupted. That means when a process
enters the running state, it cannot be deleted from the scheduler until it
finishes its service time.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_11.html

1/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 4.7 : Process Management


The figure 4.7 above shows various states of a process. Initially
the process is created. Once created, it goes to the ready state. Ready state
means the process is ready to execute. It has been loaded into the main
memory and is waiting for execution on a CPU. There can be many ready
processes waiting for execution at a given point of time. A queue of processes
which are ready to execute gets created in memory. One of the processes from
that queue is picked up for execution and its state gets changed to running. A
running process can be blocked. Blocked state means a process is blocked on
some event.
A process may be blocked due to various reasons such as when a
particular process has exhausted, the CPU time allocated to it, it is waiting for
an event to occur. Blocked process can either move to ready state or can move
to suspended state. In systems that support virtual memory, a process may be
swapped out, that is, it would be removed from main memory and would be
placed in virtual memory by the mid-term scheduler. This is called suspended
state of a process. From here the process may be swapped back in to the ready
state. Such state is called ready suspended state. Process that are blocked may
also be swapped out. Such a state of process where a process is both swapped
out and blocked is called blocked suspended state. Suspended processes can
be sent back to ready state only once they are released. This cycle continues till
a process finishes its execution i.e. terminated. A process may be terminated
from the running state by completing its execution or can be killed explicitly. In
either of these cases, we say that the process is terminated.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_11.html

2/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_11.html

3/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1 Basic Resources Managed By Operating System


4.1.c File System Management
Computer contains numerous files. They need to be organized in
a proper way so that we can keep track of those files. File retrieval should be
easier as well as faster. File system management helps us achieve this.
File system manager is used by the operating system to do file
system management. File system manager organizes and keeps track of all the
files and directories on secondary storage media.

Figure 4.8 : File System Management


Figure 4.8 above shows a typical hierarchical file system
structure. Operating system keeps track of following tasks for providing
efficient file management:
It is able to identify numerous files by giving unique names to
them.
It maintains a list to keep track of exact file location.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_12.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Provide fast and simple algorithms to write and read files in cooperation with device manager.
Grant and deny access rights on files to programs and users.
Allocate and de-allocate files so that files can be processed in cooperation with process manager.
Provide programs and users with simple commands for
handling files.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_12.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1.c File System Management


On storage medium, file gets saved in blocks or sectors. To access
these files, file manager and device manager works together. The device
manager knows where to find each sector on disk, but only file manager has a
list telling in what sectors either file is stored. This list is called File Allocation
Table (FAT). FAT has been in use under DOS for a long time. Some of its
alterations are still used by Win95 and Win98.
Below are the different ways of allocating files:
Contiguous file allocation:
In this type of file allocation, at the time of file creation, a
single set of blocks is allocated to a file. Each file is stored contiguously
in sectors, one sector after another. The advantage is that the File
Allocation Table has a single entry for each file, indicating the start
sector, the length, and the name. Moreover, it is also easy to get a single
block because its address can be easily calculated. The disadvantage
may be that it can be difficult to get a sufficiently large block of
contiguous blocks. Contiguous file allocation is now a days only used for
tapes and recordable CDs.
Non-contiguous file allocation:
With this type of allocation, all blocks of a file can be
distributed all over the storage medium. The File Allocation Table (FAT)
lists not only all files, but also has an entry for each sector the file
occupies. As all information is stored in the FAT, and there is no
assumption on the distribution of the file, this method of allocation, at
times, is also known as FAT.
The advantage is that it is very easy to get a single block,
because each block has its entry in the FAT. Also, it is a very simple
allocation method where no overhead is produced and no search method
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_13.html

1/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

for free blocks is needed. The disadvantage is that FAT can grow to an
enormous size, which can slow down the system. Compaction would be
needed time to time. This type of file allocation is used for disk
allocation in MS-DOS.
Chained allocation:
With chained file allocation only the first block of file gets
an entry in the FAT. A block has sectors in it. Of these, the first sector
has got data as well as a pointer at its end that points to the next sector
to be accessed after it (or indicates that it was the last). That means each
sector (if it is not a last sector) has got a pointer at its end pointing to the
next sector that should be accessed. The advantage again is that the FAT
has a single entry for each file, indicating position of the first sector and
file name. There is no need to store the files contiguously.
The disadvantage of chained allocation is that it takes
much time to retrieve a single block because that information is neither
stored anywhere nor can it be calculated. If we want to access a
particular sector, all preceding sectors have to be read in order one after
another. This way, the information about location of the next block is
identified. Unix i-node is an example of this type of allocation. i-nodes
are data structures (Refer Glossary) of a file system used to store all the
important properties of each file: owner's group id and user id, access
permission on that file, size of the file and more. Unix i-node is an
operating system which has i-nodes as its data structure.
Indexed allocation:
With indexed file allocation also only the first block of file
gets an entry in the FAT. In the first sector, no data is stored. It has only
pointers to where the file is on storage medium. That is why the first
block is known as the index block. It just contains the pointers or index
to file location on a storage medium. Here also the FAT will only contain
a single entry for each file, indicating file name and position of the first
sector. It is easy to retrieve a single block because the information about
its location is stored in the first block.
The disadvantage of indexed allocation is that for each file
an additional sector is needed to keep track of the location of a file. A
very small file also always occupies at least two blocks, where as the
data could have easily fit in one block. This results in secondary storage
space wastage. Indexed allocation is implemented in all UNIX systems.
It is reliable as well as fast. Also, now-a-days, the wastage of storage
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_13.html

2/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

space does not matter much.


The main concern of file system management is to provide a
strategy that lets the FAT not to grow too large and that makes it possible to
retrieve a special sector of file such that the storage space is not wasted much.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_13.html

3/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.1 Basic Resources Managed By Operating System


4.1.d Device Management
Operating system also deals with device management, specially
input and output devices. In a multi-user system, there are shared devices like
printer, scanner, etc. Management of these devices by sending them
appropriate commands is the major task of operating system.
A software routine which knows how to deal with each device is
called a driver and operating system requires drivers for the peripherals
attached to computer. When a new peripheral is added, device driver is
installed in to the operating system.
Operating system also deals with the access time of these devices.
It helps make the device access fast and in the most efficient way possible.
Major concern of operating system in device management is to
prevent dead lock situation.

Dead Lock

Figure 4.9 : Dead Lock

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_14.html

1/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Above diagram depicts a typical dead lock situation, that serially


used devices can have. Dead lock is a situation where each set of processes is
waiting for an event that only other process in the set can cause.
For example, in the above diagram, Process Task 1 requests a
mutex or lock on object which is already held by Process Task 2. In turn,
Process Task 2 needs a resource to complete its process which is already held
by Process Task 1. So neither of the processes are releasing their resources or
mutex and waiting for another process to release a mutex so that they can get it
to complete its pending task. This situation would cause an indefinite wait for
processes leading to a situation known as dead lock.
Mutex is the short form for Mutual Exclusion Object. A mutex is a
logical unit. It is a program object that allows multiple program threads to
share the same resource, but not simultaneously. File access is an example of
mutex. A mutex with unique name is created when the program starts. Mutex
must be locked by a thread that needs the resource. When data is no longer
needed, the mutex is set to unlock.
OS helps in dealing with dead lock situation up to a certain
extent. Below are some of the strategies for dealing with deadlock:
Ostrich algorithm, i.e. ignoring the problem altogether. Ostrich
algorithm is a strategy of ignoring potential problems on the
basis that they may be exceedingly rare. Ostrich algorithm
assumes that ignoring the problem would be more cost-effective
as compared to allowing the problem to occur and then attempt
for its prevention. It may occur very infrequently. This can be
followed if cost of detection/prevention is not worth the time and
cost spent.
Detection and Recovery.
Avoiding deadlock by careful resource allocation.
Prevention of deadlock by structurally negating one of the four
necessary conditions.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.2_resources-managed-by-OS_14.html

2/2

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.2 Resource Sharing Management


The primary task of operating system as discussed above is to
keep track of resources like memory, CPU utilization, storage device, and input
output devices, to grant resource requests, to mediate conflicting requests
from different programs, etc.

4.2.1 Multiplexing
Multiplexing is a method by which multiple analog data
signals/digital data streams are combined into one signal over a shared
medium. Multiplexing is used to share an expensive resource and thus help
reduce the cost.
Communication channel is used for transmission of a
multiplexed signal. This channel may be a physical transmission medium.
Multiplexing basically works on the principle of division of signals. It divides
the capacity of the high level communication channel into several low level
logical channels. Each of these low level logical channel maps to each message
signal or data stream to be transferred. A reverse of this process is known as
demultiplexing. Demultiplexing can extract the original channels or signals on
the receiver side.
A device that performs the task of multiplexing is called a
multiplexer (MUX), and a device that performs the task of demultiplexing is
known as a demultiplexer (DEMUX).

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.3_resource-sharing-management_1.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Operating System

Course Contents | Prev : Next

4.2.1 Multiplexing
Resource management basically includes multiplexing the
resources in two ways:
Time Multiplexing
When a particular resource is time multiplexed, different
programs or users get their turn to use that resource one after another. Turns
for resource usage are decided as per the predefined operating system
algorithm. Printer is one of the best examples of in-time multiplexing. In a
network printer, different users get their turn to use the printer one after
another based on time.
Space Multiplexing
When a particular resource is space multiplexed, the resource is
shared equally in the available space. Time period for which a particular
resource is used does not matter anymore. That is each one gets a part of the
resource. Hard disk, main memory, etc are some of the examples of space
multiplexing. These resources are most of the times divided equally between
all the users.
To summarize, operating system is one of major programs,
without which it would be almost impossible for us to access the computer as
we are accessing it these days. Without operating system, computer would be
nothing but a monitor executing binary and machine language data.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.3_resource-sharing-management_2.html

1/1

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Introduction to Computer
Technology

Course Contents | Prev : Next

Glossary
Term
used

Description

Scheme

Scheme in document refers to techniques.

Process

Job or a program that executes in memory.

Data
array

Array means an ordered list of items. When data is


arranged in an ordered way, it is called data array.

Data structure is a particular way of storing and


Data
organizing data in a computer so that it can be used
structure
efficiently.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module4/session4.4_glossary.html

1/1

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5. Introduction
Computing Environment is a collection of computers, software,
and networks that support the processing and exchange of electronic
information. It can collaborate across various software installed on different
machines at different physical and geographical locations as well, such an
environment is called Distributed Computing Environment. Figure 5. 1 shows
how different computers are connected with each other globally, also they can
be connected with different devices like cell phones.
Critical applications (refer glossary) and bulk data processing
require computer environments which can guarantee high reliability and
stability. Most such large scale,high end commercial system architectures (refer
glossary) are referred as Mainframes.

Figure 5.1 : Computing Environments

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.1_introduction.html

1/1

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.1 Mainframe Computing Environment


It usually refers to one or more very big computer(s) capable of
supporting a large number of simultaneous users and doing bulk calculations
and data processing. It is usually used for extensive operations like Enterprise
Resource Planning (refer glossary) or transaction processing. The Mainframe
environment (Refer Figure 5. 2) is expensive and ensures very high level of
security and reliability supporting massive throughput (refer glossary) . For
example consider banking applications like calculating balance of multiple
customers who are doing their transaction simultaneously from different
locations. Also generating account statements for all customers at the end of
every month. These are all bulk operations requiring speed and accuracy.
Mainframes have come a long way from the ENIAC (Electronic Numerical
Integrator And Calculator) developed in 1942 to today's IBM z series of
mainframes which are used in organizations like National Aeronautics and
Space Administration (NASA).
Software for mainframes are written in following languages:
COmmon Business-Oriented Language (COBOL)
Job Control Language (JCL)

Figure 5.2: Mainframe Computing Environment

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.2_mainframe-computing-environment_1.html

1/2

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.2_mainframe-computing-environment_1.html

2/2

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.1 Mainframe Computing Environment


5.1.1 Storing Data on a Mainframe
On computers data is stored in the form of binary bits that is, 0s
and 1s . Characters like A..Z are formed with 8 bits called as Bytes. When we
press a key on the keyboard eight bits get emitted from the cable. All the keys
are represented with an unique combination of binary numbers that is 0s and
1s. As we use 8 bits to store a single character, 2^8 = 256 different type of
patterns can be stored. On Mainframes, we use a unique 8-bit pattern to store
each character. This representation of characters and data in mainframe is
referred as Extended Binary Coded Decimal Interchange Code (that is
EBCDIC). Here, every character uses storage of one byte in memory.
For example, in EBCDIC,
The number 1 is represented as 1111 0001.
The number 2 is represented as 1111 0010.

5.1.2 Mainframe Datasets


On a mainframe the information is stored in datasets (files -refer
glossary ). Each dataset should have an unique name of maximum 44
characters long in this format:
XXXXXXXX.XXXXXXXX.XXXXXXXX
AGY0232.CUSTOMER.DATA)
datasets.

(For

example,

Following points should be considered while creating mainframe

A dataset name consists of segments or qualifiers.


Each qualifier has maximum eight characters and are separated
by a period(.).
The qualifier or segment should start with a capital letter
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.2_mainframe-computing-environment_2.html

1/2

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

(alphabet).
The operating system looks into the segments to keep a track of
groups of datasets. The first segment of the dataset name is its
High-level Qualifier (HLQ).
Datasets should have meaningful names. For example,
Customers data should be stored in a file named
CUSTOMER.DATA. Here customer and data are the two
segments or qualifiers of your dataset name.
To access or log-in to Mainframes, we need a TSO (refer glossary)
USER-ID, which is similar to user-id that we use to login to a windows
machine.
Suppose your TSO-id is AGY0232. So give the High-level qualifier
AGY0232 to all your datasets. This way you can identify the datasets belonging
to you.
For
example,
AGY0232.CUSTOMER.DATA.

name

your

Customer

dataset

as

Mainframes have Security software products like RACF(


Resource Access Control Facility) which control access to datasets. For
example, you may want to grant read-only access to the file
AGY0232.CUSTOMER.DATA to other users. This will prevent other users from
making any changes to your dataset.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.2_mainframe-computing-environment_2.html

2/2

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.1 Mainframe Computing Environment


5.1.3 Mainframe Programing
High level language like COBOL is used for Mainframe
programing. There are online mainframe compilers available as well as
software like Hercules can be installed on any Operating System to simulate a
mainframe environment.
IBM's MVS Operating system(Multiple Virtual Storage (refer
glossary) ) up to release 3.8j(released in the year 1981) is also available. IBM
provides a pre-configured starter system in which you can do some coding to
describe the configuration to be installed. This is called System Generation
(Sysgen) that is, the process of setting up or installing an operating system on
the mainframe.
We can code COBOL-Programs and run them using a Job (JCL
Job Control Language) on a Mainframe-Computer using its TSO User-id for a
given time. Refer Figure 5. 3 for the basic skeleton of a COBOL Program. A
COBOL program is written in structures called divisions. Divisions in turn can
have many sections. Sections can have many paragraphs.
The Mainframe terminal has 80 columns on a line for coding. The
area from columns 8 to 11 is called Area A. The area between columns 12 to 72
is called Area B. Refer Figure 5. 4 for a sample program to display a message
Hello World.
A COBOL program has following divisions :
IDENTIFICATION DIVISION This division records useful
information like author name or date when the program was
created. It should at least have the program name or ID.
ENVIRONMENT DIVISION - This division tells the computer
about the other resources that the program will interact with
(that is, its environment) such as printers, disk drives, other files
etc.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.2_mainframe-computing-environment_3.html

1/3

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

For example, SOURCE-COMPUTER. IBM PC.


This information tells the configuration of the computer on
which the program will execute.
DATA DIVISION This division defines the names that the
program will use to refer to the data that it manipulates.
For example, USER-NAME PIC A(15)
The PIC ( or the Picture clause ) states that the data stored in
this USER-NAME will be of type alphabets only and a maximum
of 15 characters (like Tom or John) can be stored in USERNAME.
PROCEDURE DIVISION It is the starting-point of the COBOLProgram. The programing instructions must be written inside
this PROCEDURE DIVISION. In PROCEDURE DIVISION we can
write instructions one-after-the other. The Mainframe executes
these instructions one-by-one and step-by-step sequentially. The
last-instruction must be STOP RUN to stop running the COBOL
Program.

Figure 5.3 : COBOL Program Skeleton

Figure 5.4 : COBOL Program


https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.2_mainframe-computing-environment_3.html

2/3

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.2_mainframe-computing-environment_3.html

3/3

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.2 Networks
A computer network joins two or more different categories of
computing devices enabling them to communicate to each other by sending
and receiving instructions. A computer network can be wired or wireless. Also,
smaller networks in turn may be connected to larger networks through bridges,
gateways or routers (refer glossary) . Communication in a network follows
certain rules that is, it is protocol (refer glossary) based.
Following are the major categories of a Computer Network:
LAN (Local Area Network) : A LAN connects computer devices
over a short distance. A networked office, school or home
usually contains a single LAN and occasionally it may connect a
group of nearby buildings. LAN is mostly connected using a
technology called Ethernet (refer glossary).
WAN (Wide Area Network) : A WAN is a geographicallydispersed collection of multiple LANs. Various LANs are
connected to a WAN using a router. The Internet is the largest
WAN and it spans the Earth. WAN networks exist under
collective or distributed ownership and management and do not
belong to any single organization.
WLAN (Wire Less Area Network) : A Wireless Local Area
Network (WLAN) links two or more devices using some wireless
method that is without any physical cables. This enables the to
move around within a local coverage area while being connected
to the network. WLANs are used in places like in-home
networks, airplanes, trains, restaurants, hotels.
Computer networks (refer glossary) can be classified according to
the hardware and associated software technology that is used to interconnect
the individual devices in the network like electrical cable, optical fiber, and
radio waves (wireless LAN).
A well-known family of communication media is collectively
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_1.html

1/2

12/9/13

Introduction To Computer Systems TATA Consultancy Services Pvt. Ltd.

known as Ethernet. Ethernet uses various standards and media to enable


communication between computer devices.
Wireless LAN technology connects computer devices without the
use of wires or cables.
These devices use transmission mediums like radio waves or
infrared signals as shown in Figure 5. 5 where a desktop computer, a laptop
and a cell phone are all connected using wireless technology.

Figure 5.5 : Computer Network

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.2 Networks
5.2.1 Wired Technologies
Wired networks are of following types :
a.

Twisted Pair

b.

Coaxial Cable

c.

Optic Fiber

a. Twisted Pair
It is the most widely used medium for telecommunication. It is
made of copper wires that are twisted into pairs.
Ordinary land line telephones are a good example where the wires
consist of two insulated copper wires that are twisted into pairs.
Computer network cabling (wired Ethernet) consists of 4 pairs of
copper cabling that can be utilized for both voice and data
transmission. This twisting of two wires together helps to
reduce crosstalk (refer glossary) and electromagnetic induction.
Its transmission speed varies from 2 million to 10 billion bits per
second. The Twisted pair cables are of two types: Unshielded
Twisted Pair (UTP) and Shielded Twisted-Pair (STP).
The unshielded cables are individually
covered but do not have any wrapping or
layer surrounding the twisted pair, that is
why they are called unshielded.
The shielded cables are individually covered
and the twisted pair is wrapped in a foil
shielding to help provide a more reliable
data communication. They are preferred
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_2.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

over unshielded cables based on their


advantage of reduced Electromagnetic
interference (disturbance that affects an
electrical circuit resulting into loss of data).

Figure 5.6: Wired Technology : Ethernet Cable

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_2.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.2 Networks
5.2.1 Wired Technologies
b. Coaxial cable
It is generally used for cable television, office buildings, and other
work-sites for local area networks.
The cables consist of copper or aluminum wire surrounded by an
insulating layer, which in turn is surrounded by a conductive
layer. This insulation helps in minimizing interference and
distortion.
Its transmission speed is between 200 million bits per second to
more than 500 million bits per second.

c. Optical fiber
It is a glass fiber. It makes use of pulses of light to transmit data.
Its advantages over metal wires include less transmission loss,
immunity from electromagnetic radiation, and very fast
transmission speed, up to trillions of bits per second.
Different colors of lights can be used to increase the number of
messages being sent over a fiber optic cable.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_3.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 5. 8: Wired Technology : Optic Fiber

Figure 5.7:Wired Technology: Coaxial Cable


Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_3.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.2 Networks
5.2.2 Wireless technologies
Wireless network refers to computer network that is not
connected by cables of any kind. Wireless networks can be of following types :
Wireless PAN - Wireless personal area networks (WPANs)
interconnect devices within a relatively small area, generally
within a person's reach. Bluetooth radio or invisible infrared
light provide a WPAN for connecting a headset to a laptop.
Wireless LAN - A wireless local area network (WLAN) links two or
more devices over a short distance using a wireless method
providing a connection through an access point for Internet
access. The use of spread-spectrum or OFDM (refer glossary)
technologies may allow users to move around within a local
coverage area, still remaining connected to the network.
Wireless mesh network - It is made up of radio nodes organized in
a mesh topology (Refer section 2.2.3 Network Topology). Each
node forwards messages on behalf of the other nodes. Mesh
networks can automatically re-route around a node that has lost
power.
Wireless MAN - Wireless metropolitan area networks are a type of
wireless network that connect many wireless LANs. WiMAX is
an example of Wireless MAN.
Wireless WAN - Wireless wide area networks are wireless
networks that typically cover large areas, like networking
neighboring towns and cities.
Cellular network - A cellular network or mobile network is a radio
network distributed over land areas known as cells. Each cell
has at least one fixed-location transceiver( It is usually installed
on a communication tower and basically has the role of sending
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_4.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

and receiving signals), known as a cell site or base station. These


cells are joined together to provide radio coverage over a wide
geographic area and enable a large number of portable
transceivers (e.g., mobile phones, tablets) to communicate with
each other.
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_4.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.2 Networks
5.2.2 Wireless technologies
connections:

Following Technologies are used to support the Wireless network

Terrestrial microwave communication It uses Earth-based


transmitters and receivers resembling satellite dishes (Refer
Figure 5.11). Terrestrial microwaves are in the low-gigahertz
range limiting all communications to line-of-sight. The relay
stations are placed approximately 48 km (30 mi) apart.
Communications satellites - These communicate via microwave
radio waves. These waves are not deflected by the Earth's
atmosphere. These satellites stationed in space typically in
geosynchronous orbit 35,400 km (22,000 mi) above the equator
(Refer Figure 5.10) can receive and relay data, voice and TV
signals.
Spread spectrum (refer glossary) technologies use a highfrequency radio technology to enable communication between
multiple devices in a limited area.
Infrared communication can transmit signals for small distances
typically less than 10 meters. It uses line-of-sight propagation
which limits the physical positioning of communicating devices.

Figure 5.9: Wireless Technology - Bluetooth

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_5.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 5.10: Wireless Technology


Communication Satellites

Figure 5.11: Wireless Technology Terrestrial Microwave

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_5.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.2 Networks
5.2.3 Network topology
A network topology is the layout describing how the nodes(all
computer terminals) of a computer network are interconnected. Common
layouts are explained as follows:

Bus Network
All nodes are connected to a common cable which is called a Bus.
Advantages
Implementation is easier.
Best Topology for small networks.
Disadvantages
Due to the cable length, the number of nodes that can be connected
is also less.
It can perform well for a limited number of nodes only.
If the main cable or the Bus fails, then all the nodes connected to it
also fail to serve.

Star Network
All nodes are connected to a central node or hub. This layout
found typically in a Wireless LAN, where each client connects to the central
Wireless access point.
Advantages
As it is centralized in nature, it is simple in terms of operation.
It also keeps each device isolated in the network. It means if one
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_6.html

1/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

node stops working, it does not affect the function of other


nodes.
Disadvantage
The whole network operation is dependent on the central hub. The
entire network fails if the central hub fails.

Ring Network
Advantage
There is no requirement of a central server as the communication
between two nodes channelizes through all the intermediate
nodes.
Disadvantages
Even if a single node of the network fails, it can cause the entire
network to fail.
Entire network is affected whenever any change or movement is
made for a network node.

Mesh Network
Each node connects with a random number of neighbors such
that there is at least one traversal from each node to any other. Here each node
has the responsibility of propagating the data.
Advantage
This arrangement of the network nodes makes it is possible to
transmit data from one node to many other nodes at the same
time.
Disadvantage
In an arrangement where each node is connected to every other
node of the network, many of the connections may serve no
major purpose as they behave as redundant connections.

Fully Connected Network


Each node connects with all the other nodes in the network.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_6.html

2/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Advantages
A fault in one terminal on the network will not effect other nodes,
as the data has multiple redundancy paths that can be used.
Data transfer rates can be kept at an acceptable level as whenever
network usage is high the data can be transmitted via different
route hence reducing network clogging.
Disadvantage
It requires a large amount of wiring.

Figure 5.12: Network Topology

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_6.html

3/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.2 Networks
5.2.4 Network Programming
Computer network programming involves writing computer
programs that communicate with each other across a computer network. We
need two separate programs for this. The Client program initiates the
communication and The server program which waits or listens for the
communication from client. Both endpoints of the communication flow are
called network sockets. Network programming is also known as socket
programming.
Network Programing can be implemented using any language
which needs to provide following network layer functions. Refer Figure 5.13.
socket() creates a new socket, identified by an integer number, and
allocates system resources to it.
bind() is used on the server side to associate a socket with a socket
address structure, that is a specified local port number and IP
address.
listen() is used on the server side and it causes a bound TCP
socket to enter listening state.
connect() is used on the client side to assign a free local port
number to a socket. For TCP socket, it causes an attempt to
establish a new TCP connection.
accept() is used on the server side to accept a received incoming
attempt to create a new TCP connection from the remote client.
It creates a new socket associated with the socket address pair of
this connection.
send()-recv(), write()-read() or sendto()-recvfrom() can be used to
send and receive data to/from a remote socket.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_7.html

1/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

The methods send() and recv() are used for


sockets using TCP that is Transmission
Control
Protocol
like
HTTP.
This
mechanism has error checking and
guarantees no data loss. It is used for all
such applications where you can not allow
data loss like browsing websites.
The methods sendto() and recvfrom() are used
for sockets using UDP (User Datagram
Protocol like Voice over Internet Protocol or
VOIP used to make phone calls using
internet. This has lower level of security and
does not guarantee that the data will reach
its destination.)
close() causes the system to release resources that are allocated to
a socket. The connection is terminated in case of TCP sockets.
unlink() removes the file names created for the socket. So now the
socket is removed and new socket with same name can be
created when required.
Some additional methods that can be used are as follows:
gethostbyname() and gethostbyaddr() are used to resolve
host/server names and addresses.
select() is used for one or more of a provided list of sockets to be
ready to read or ready to write.
poll() is used to check the socket's state. The whole set of sockets
can be tested to see if we can read or write to any socket or if an
error occurred.
setsockopt() is used to set the socket option for the given socket.
These options can be like SO_KEEPALIVE (keep the connection
alive by periodic transfer of messages), SO_BROADCAST
(Allows a single message to be sent (broadcasted) to all the
networked clients) , etc.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_7.html

2/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

getsockopt() gives the current value of a socket option for the


specified socket.

Figure 5.13: Network Programing flow chart

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.3_networks_7.html

3/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.3 Internet
The Internet is a network connecting computers from across the
world enabling data exchange between them.
Internet consists of independent hosts following the protocols.
The World Wide Web is a way of exchanging information over this medium of
internet.
The system consists of at least two computers connected in such
a way that at any instance of time one acts as a client (requesting data or
service) and the other machine works as a host or server (providing the data or
service).
The Internet can be accessed almost anywhere in many ways.
Data cards, mobile phones, hand-held game consoles and cellular routers
provide wireless connection to the Internet.

Figure 5.14: Internet Connection Sharing


https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.4_internet_1.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.4_internet_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.3 Internet
5.3.1 Internet Protocols
A protocol is a common means or rules for unrelated objects to
communicate with each other. A protocol is a description of:
The messages that are understood by both the communicating
objects.
The arguments or data that these messages may be supplied with.
The types of results returned by these messages.
The information that is preserved despite modifications to the
state of an object.
Any exceptional situations that needs to be handled during this
communication.
The protocol used for data flow or communication between the
networks connected in an internet is called Internet Protocol. The Internet
protocol suite is a model architecture that divides methods into a layered
system of protocols.
The layers represent the scope or environment in which their
services operate. (Refer Figure 5.15). The layers are as follows:
Application Layer - It is the space for the application-specific
networking methods used in software applications like a web
browser program.
Transport layer - It connects applications on different hosts via the
network (like clientserver model) with appropriate data
exchange methods.
Internet layer - It enables computers to identify and locate each
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.4_internet_2.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

other via Internet Protocol (IP) addresses. It connects them to


one another via intermediate (transit) networks. (Refer Figure
5.16).
Software layer It is the link layer and provides connectivity
between hosts on the same local network link, such as a local
area network (LAN) or a dial-up connection.
The model known as TCP/IP, is designed to be independent of the
underlying hardware.
Internet Protocol (IP) is the most prominent component of the
Internet model. It provides addressing systems (IP addresses) for computers on
the Internet.
IP Version 4 (IPv4) is the initial version of Internet Protocol. It was
designed to address up to approximately 4.3 billion (109) Internet hosts and is
still in dominant use.
A new protocol version IPv6 was developed in the mid-1990s and
is currently in growing deployment around the world. It provides vastly larger
addressing capabilities and more efficient routing of Internet traffic.

Figure 5.15: Internet Protocol Layer

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.4_internet_2.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.3 Internet
5.3.2 Internet Routing
IP forwarding also known as Internet routing is a process used to
determine the path for your data contained in structures called datagrams or
packets (refer glossary) . The process uses routing information to make decisions
and is designed to send a packet over multiple networks.
Internet Service Providers (ISPs are the organizations that provide
access to internet) connect their customers to those of other ISPs.
At the top of the routing hierarchy are Tier-1 networks held by large
telecommunication companies which exchange traffic directly across to all other
Tier-1 networks via agreements such that they don't have to pay each other for the
data transferred every now and then .
Tier-2 networks buy Internet transit from Tier-1 ISP to reach the global
Internet. That is, to reach a remote network, the smaller ISPs have to connect to first
Tier-1 network which in turn may be connected to that remote network. For this
connectivity they have to pay some amount.
ISPs generally use a single upstream provider for connectivity. They
may use multihoming (refer glossary) to provide protection from problems with
individual links.
Internet exchange points hold the physical connections between
multiple ISPs.
Computers and routers use routing tables (Refer Figure 5.17) to direct
IP packets among locally networked machines. These tables can be constructed
manually or automatically via DHCP (Dynamic Host Configuration Protocol) for an
individual computer or a routing protocol for routers themselves. In single-homed
networks, a default route usually points up toward an ISP providing transit. The
higher-level ISPs use the Border Gateway Protocol (refer glossary) to determine
paths to any given range of IP addresses across the complex connections of the
global Internet.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.4_internet_3.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 5.16: Network Routing

Figure 5.17: Routing Table

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.4_internet_3.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.4 Websites
A website is a set of related web pages containing information in form
of text, images, audio, video etc. A website is hosted on one or more web server(s)
and can be accessed by internet. World Wide Web (WWW) is the term used to refer
collection of all public websites.
A web page is a single document written in plain text. It is formatted
using instructions of Hypertext Markup Language (HTML).
The general features of a website are described as follows:
A protocol is a common means or rules for unrelated objects to
communicate with each other. A protocol is a description of:
The home page of a website contains an introduction to that site and
links to other related pages or to other websites.
A website can be owned by an organization or an individual also.
Websites may host static content that remains same for all the viewers
or they may host dynamic content that changes as per the visiting
user's preferences.
To access a website, we need its address. For example, www.tcs.com
The letters in the website address after the last dot(.) indicates the type
of websites. For example, .com means Commercial Organization, .edu
refers to educational sites, .gov is for government websites, .jobs
means job websites, etc.
A website is accessed using Hypertext Transfer Protocol (HTTP) . It may
also use encryption (HTTP Secure, HTTPS (refer glossary) ) to provide
security and privacy.
The user's web browser understands the HTML instructions and
displays the page content accordingly.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.5_introduction-to-websites_1.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Figure 5.18: Websites

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.5_introduction-to-websites_1.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.4 Websites
5.4.1 Static website
A static website usually displays the same information (static
information) to all visitors. It is similar to a printed brochure.
It provides
considerable long period.

consistent

and

standard

information

for

The website may however receive updates occasionally. These


updates are done using a manual process to edit the text, photos and other
content. This kind of editing requires a software and basic skills to use it.
software:

Static websites can be edited using the following categories of

Text editors - Here content and HTML markup are manipulated


directly within the editor program. For example, Notepad,
Notepad++.
WYSIWYG (refer glossary) offline editors These provide a GUI
interface. The output is in form of HTML markup generated
automatically by the editor software. For example, Microsoft
FrontPage and Adobe Dreamweaver
WYSIWYG online editors These can be used to create online web
pages including widgets, blogs, and other documents containing
images and other media. For example, SnapEditor.
Template-based editors - These allow quick creation and
uploading of web pages to a web server. A detailed HTML
knowledge is not required. You just need to pick a desired
template from available options and add pictures and text to it
without directly writing or updating HTML code. For example,
RapidWeaver and iWeb.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.5_introduction-to-websites_2.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.5_introduction-to-websites_2.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

5.4 Websites
5.4.2 Dynamic Website
A dynamic website has the ability to change or customize itself
frequently and automatically at some specific time interval or based on some
criteria.
Dynamic websites offer dynamism in two aspects : Code and
Content. The dynamic code execution is not visible to the user. The user can
see the dynamic content only.
Dynamic code - The code is executed on the fly based on some user
event. Scripting languages like Javascript, Ajax are used for this.
A website with dynamic code has following characteristics:
It recalls all the bits of information from a
database and consolidates them in a
predefined format.
It interacts with users in various ways like
using cookies for finding previous history.
Direct interaction using form elements and
mouse hovers also reflect the user event and
cause the dynamic code to execute.
It can display the current state of a interaction
between users. It can capture information
personalized to the requirements of the user.
Dynamic content - The web page content keeps on varying based
on some criteria, either predefined rules or variable user input.
For example, a news website can use a
predefined rule which tells it to display all
news articles for today's date and for your
country or location only.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.5_introduction-to-websites_3.html

1/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Such a website automatically shows the most


current news articles on any given date.
Consider a retail website which allows a user
to input a search request for the keyword
like Guitar. In response, the content of the
web page will spontaneously change and
will then display a list of Guitar and music
products like CDs (Compact Disks) and
DVDs (Digital Versatile Disk).

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.5_introduction-to-websites_3.html

2/2

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

Summary
Computing Environment is a collection of computers, and various
software in a network. All these computers collaborate with
each other for storing,processing and exchanging electronic
information.
Mainframe computing environment is capable of doing bulk
calculations with very high level of accuracy,security and speed.
Mainframe programs are written using COBOL and JCL. We need
a TSO (refer glossary) user id to access the time slot on a
mainframe server.
A computer network joins two or more computing devices so that
they can communicate with each other. Networks can be of two
types that is, wired or wireless.
Twisted pair, Coaxial cables and Optic fiber technologies are used
to connect a wired network.
Terrestrial Microwave, Satellites, Spread Spectrum and Infrared
technologies are used to connect various computing devices
without wires.
Computer networks can have their nodes connected in forms like
Bus, Star Ring, Mesh or Fully Connected topology.
Network or Socket programing can be done using various
programing language and all of them provide the basic methods
for reading and writing to a network and listening for requests
from the client.
Internet connects computers across the world. It is based on
protocols. Each computer in the internet is identified by an IP
address.
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.6_summary.html

1/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

The communication between two computers may be routed


through various networks.
A Website may be accessed using http protocol from any where on
the internet. It can be of two types : Static and dynamic.
Static websites are like the profile of a company or product and
does not change often and displays the same details to all
visitors.
Dynamic websites change their content as per time and user
preferences like news, e-commerce websites.
Dynamic code - The code is executed on the fly based on some user
event. Scripting languages like Javascript, Ajax are used for this.
A website with dynamic code has following characteristics:
It recalls all the bits of information from a
database and consolidates them in a
predefined format.
It interacts with users in various ways like
using cookies for finding previous history.
Direct interaction using form elements and
mouse hovers also reflect the user event and
cause the dynamic code to execute.
It can display the current state of a interaction
between users. It can capture information
personalized to the requirements of the user.
Dynamic content - The web page content keeps on varying based
on some criteria, either predefined rules or variable user input.
For example, a news website can use a
predefined rule which tells it to display all
news articles for today's date and for your
country or location only.
Such a website automatically shows the most
current news articles on any given date.
Consider a retail website which allows a user
https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.6_summary.html

2/3

12/9/13

Introduction to Computer Systems -- TATA Consultancy Services Pvt. Ltd.

to input a search request for the keyword


like Guitar. In response, the content of the
web page will spontaneously change and
will then display a list of Guitar and music
products like CDs (Compact Disks) and
DVDs (Digital Versatile Disk).

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.6_summary.html

3/3

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Introduction to Computer Systems

Computing Environments

Course Contents | Prev : Next

Glossary

Term used

Description

Border
Gateway
Protocol

It is an exterior gateway routing protocol that enables groups of


routers (called autonomous systems) to share routing
information such that efficient and loop-free routes are
established. It is used within and between Internet Service
Providers (ISPs).

Bridge

A Bridge is a box with ports (usually two) to connect LAN


segments or similar networks within a limited geographic area.
It examines the data passing through it and can recognize where
it came from, and forwards it to the connected LAN.

Applications that are highly secure and accurate. For example


Critical
Banking applications as they deal with monetary transactions
Applications or Applications involved in controlling Air Traffic or guiding
satellites.

Crosstalk

Crosstalk (XT) is any phenomenon by which a signal


transmitted on one circuit or channel of a transmission system
creates an undesired effect in another circuit or channel. For
example pieces of speech or signaling tones leaking from other
people's connections in a telephone call.

Datagram

A datagram is a basic transfer unit associated with a network


service. It does not guarantee the delivery, arrival time, and
order of arrival. It can be compared to a postal mail delivery
service where the user provides the destination address but
receives neither any guarantee of delivery nor any confirmation
upon successful delivery.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.7_glossary.html

1/4

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Encryption

Encryption is the process of encoding messages (or


information) in such a way that eavesdroppers or hackers
cannot read it, but authorized parties can. The communicating
parties must usually agree on a symmetric secret key before
they wish to communicate. The plain text message can then be
coded by using the key and an algorithm. Once received it can
be decoded using the same key and converted to readable plain
text.

Enterprise
Resource
Planning

ERP (Enterprise Resource Planning) facilitates the information


exchange between all business functions inside an organization.
ERP systems have following characteristics:
A common database is used to support all applications.
The whole application has a consistent look and feel.
Easy modular installation of the system.

Ethernet

Xerox Corporation in cooperation with DEC and Intel in 1976


developed Ethernet as an architecture for Local Area Network
(LAN). It uses either bus or star topology and its version
100Base-T supports data transfer rates greater than 100 Mbps.

Files

Computer or Digital files are same as paper documents stored


in computer memory. A computer file stores information and is
always available for computer programs whenever required.

Gateway

A Gateway links two different types of networks. Also, it


usually involves converting to and from different protocols. For
example, it can convert a TCP/IP protocol based information
into a NetWare IPX based information.

Large
scale,high
end
commercial
system
architectures

These are the computers having their architecture defined by


redundant internal engineering, extensive input-output
facilities, very high reliability, high security, strict backward
compatibility, high hardware and computational utilization
rates to support massive throughput. These computers are the
most expensive and technically sophisticated and run without
any interruptions for long time period.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.7_glossary.html

2/4

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Massive
throughput

Massive or HTC (High-Throughput Computing) systems are


more suited to running multiple independent software on
multiple processors at the same time. These applications
calculate the operations per month or per year. The HTC is
about how many jobs can be completed over a long period of
time instead of how fast an individual job can complete.

Multihoming is used to increase the reliability of a client IP


Multihoming network. It also eliminates network connectivity as a potential
single point of failure.

MVS
Operating
system

Multiple Virtual Storage Operating System is one of the perfect


solution for business problems that resulted from the need to
run more applications. It maximized processing potential by
providing multiprogramming and multiprocessing capabilities.
Files are properly called data sets in MVS. MVS is now a part of
IBM's z/OS.

OFDM

Orthogonal Frequency-Division Multiplexing is a method of


encoding digital data on multiple carrier frequencies. It is
widely used for wide-band digital communication applications
such as digital television and audio broadcasting.

Packet

A packet is a formatted unit of data traveling in a network. A


packet consists of two kinds of data: control information and
user data. The control information contains source and
destination addresses and error detection codes. A good
analogy is to consider a packet to be like a letter where the
control information is the envelope and the data area represents
the written letter inside the envelope.

Protocol

The information exchanged between devices on a network or


other communications medium is governed by rules or
conventions that can be set out in a technical specification
called a communication protocol. The specification defines the
nature of communication, the data exchanged and statedependent attributes. Each message has an exact meaning
intended to provoke a defined response.

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.7_glossary.html

3/4

12/9/13

Introduction To Computer Systems -- TATA Consultancy Services Pvt. Ltd.

Router

Spread
Spectrum

A router is a a regular computer with (at least) two ports, used


to connect different types of networks. It differs from bridges as
it operates at the network level and uses IP addresses. Routing
involves two basic activities:
Running routing algorithms to determine the routes as per
routing tables
Using the routing tables to move data across the network

In telecommunication and radio communication, spreadspectrum techniques are methods by which a signal (For
example, an electrical, electromagnetic, or acoustic signal)
generated with a particular bandwidth is deliberately spread in
the frequency domain, resulting in a signal with a wider
bandwidth.

TSO

Time Sharing Option used in IBM Mainframes for access to the


mainframe computer during a paid fixed time slot.

WYSIWYG

Acronym for What You See Is What You Get. It implies a user
interface that allows the user to view something very similar to
the end result while the document is being created.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/introduction_to_computer_systems/module5/session5.7_glossary.html

4/4