Block-1 (Operating System Fundamentals and Networking)
Block-1 (Operating System Fundamentals and Networking)
Solutions/ Answers
Further Readings
1.O INTRODUCTION
The Graphical User Interface (GUI) is one of the most revolutionary changes to
occur ill the evolution ofthe modern computing system. The interaction between
inan and computer in the design of operating system has changed from a
character-oriented system to the now more graphics-oriented system. This
revolution has increased the accessibility and usability of computer systems to the
general public.
We will look at GUI features of the various operating systems with little
knowledge of operating system or memorized commands. The software providing
such features supports Modern User Interface concept such as desktop
metaphor, which makes computers available to the majority of people who are
either novices or non-programmers. The personal computer was invented for these
users.
We will start with the basic definition move on to basic components and finally look
into some systems to find out what GUI facilities they are supporting.
1.1 OBJECTIVES
After going through this unit, you should be able to:
define what GU1 is and how it is different from character oriented system,
With the introduction of the Macintosh in 1984, Apple Computer popularised the
user interface as it is known today. Apple's user interface is now commonly
referred to as a Graphical User Interface or GUI. The GUI has become associated
with a common feature set available in a number of product offerings. Common
features include:
I Point and shoot functionality with screen menus that appear or disappear
under pointing-device-control.
Icons that represent files, directories and other application and system entities.
Dialog boxes, button, sliders, check boxes and many other graphical
metaphors that let the programmer and user tell the computer what to do and
how to do it.
Today's GUIs have expanded basic functionalities to support not only grkphics, but also
dimensions, color, height, video, and highly dynamic interaction. Modem user interfaces
can simulate a very realistic view of a real, three-dimensional world.
The batch systems and time-sharing led to command-driven user interfaces. Users had
to memorise commands and options or consult a large set of user manuals. The early
mainframe and minicomputer systems required a large set of instruction manuals on
how to use the system. In some systems, meaningful terms were used for command
names to help the end-user. But in other systems the end-user had to memorise several
sequences of keystrokes to accomplish certain tasks.
Early users of computes were engineers and what we now call expert users; user3
who had a lot of interest in knowing more about computer systems and the technology.
Command line interfaces were acceptable to the majority of these users. In the 1970s,
computers were introduced to a new class of users: secretaries, managers and non-
technical people. These new users were less interested in learning computer
technology and more interested in getting theirjobs done through the machine. The
command-based interfaces caused many of these new users to develop computer
phobia. Imagine the thought of memorising commands made up of "Control-Alt-Del" to
boot the system.
To make life easier for the end -user, a large collection of devices have been Graphical llsrr
invented to control, monitor and display information. The early (and still widely used) Interface
peripherals are the keyboard and the video terminal. But, it was not until the late
70s, that research projects at some universities led to the invention of pointing
devices and windowing systems. The mouse and joystick were among some of the
few pointing devices that were invented in this period. Also, research pioneers
invented the notion of splitting the screen to allow multiple windows and direct
manipulation of objects.
In the 70s, researchers designed powerful new workstations armed with graphical
user-interfaces. The basic assumption of these new workstations was that one user
could have a powerful desktop computer totally dedicated to that user's task. Thus,
the computer is not only used to perform the task, but can also provide a much more
intuitive and easy-to-use environment. In this unit we will examine the common
GUIs.
1) Pointing Dqvices
Pointing devices allow users to point at different parts of the screen. Pointing devices
can be used to invoke a command from a list of commands presented in a menu. They
can also be used to manipulate objects on the screen by:
Selecting objects on the screen
Since the 1960s, a diverse set of tools have been used as pointing devices including the
light pen, joystick, touch sensitive screen and a mouse. The popularity of the mouse is
due to the optimal coordination of hand and easier tracking of the cursor on the screen.
2) Pointer
A symbol that appears on the display screen and that you move to select objects and
commands. Usually the pointer appears as a small angled arrow.
3) Bit-Mapped Displays
As memory chips get denser and cheaper, bit displays are replacing character-based
display screens. Bit-mapped display made up of tiny dots (pixels) are independently
addressable and much finer resolution than character displays. Bit-mapped displays
have advantages over character displays. One of the major advantages is graphic
manipulation capabilities for vector and raster graphics, which presents information in
the final form on paper (also called WYSIWYG: What You See Is What You Get).
4) Windows
When a screen is split into several independent regions, each one is called a window.
Several applications can display results simultaneously in different windows. Figure I
presents a screen with two windows.
Operating System
Fundamentals &
Networking
The end-user can switch from one application to another or share data between
applications. Windowing systems have capabilities to display windows either tiled or
over-lapped, Figure 2. Users can organise the screen by resizing the window or
moving related windows closer.
5 ) Menus
A menu displays a list of commands available within an application (Figure 3). From
this menu, the end-user can select operations such as File, Edit or Search. Instead of
remembering commands at each stage, a menu can be used to provide a list of items.
Each menu item can be either a word or an icon representing a command or a
function. A menu item can be invoked by moving the cursor on the menu item and
selecting the item by clicking the mouse.
Instead of memorising commands to each stage, the user selects a command from a
menu bar displaying a list of available commands. For example, Figure 3 displays the
menu bar. This tnenu bar displays a list of commands available such as File, Edit and
the appropriate action is taken.
Graphical User
Interface
When a menu item is invoked it could cause other menus, called pull-down menus, to
appear. Pull-down menus (Figure 4 ) are used to present a group of related
commands or options for a menu item. Figure 4 presents the File pull-down menus.
Pull-down and pop-up menus display option commands available for each selection.
Figure 4 shows the pull-down menu displayed when the Character menu item is
selected. The user can then select from different character styles.
Figure 4: Pull-down M e n u
6) Dialog boxes
Dialog boxes (Figure 5) allow more complex interaction between the user and the
computer. Dialog boxes employ a collection of control objects such as dials, buttons,
scroll bars and editable boxes. For example, in Figure 5, a dialog box is used to open
a file.
In graphical user-interfaces, textual data is not only a form of interaction. Icons
represent concepts such as file folders, wastebaskets, and printers. Icons symbolize
words and concepts commonly applied in different situations. Figure 4 shows paint
utility with its palette composed of icons. Each one of these icons represents a certain
type of painting behaviour. Once the pencil icon is clicked, for example, the cursor can
behave as a pencil to draw lines. Applications of icons to the user-interface design are
still being explored in new computer systems and software such as the NeXT
computer user interface.
Dialog boxes are primarily used to collect information from the user or to present
information to the user.
I
.-
Operating System
Fundamentals &
Networking
Among the information obtained are the number of copies and page numbers to be
printed. Dialog boxes are also used to indicate error message in the form of alert
boxes. Dialog boxes use a wide range of screen control elements to communicate with
the user.
7) Icons
Icons are used to provide a symbolic representation of any systemluser-definedobject
such as file, folder, address, book, applications and so on. Different types of objects
are represented by a specific type of icon. In some GUIs, documents representing
folders are represented by a folder icon (Figure 6). A folder icon contains a group of
files or other folder icons. Double clicking on the folder icon causes a window to be
opened displaying a list of icons and folder icons representing the folder's
contents.
Figure 6: Icons
8) Desktop Metaphor
The idea of metaphors has brought the computer closer to the natural environment of
the end-user. The concept of physical metaphor paradigm, developed by Alan Kay,
initiated most of the research for graphic user interfaces based on a new p r o g d m i n g
approach called object-oriented programming. Discussion of this subject is beyond this Graphical User
unit. The physical metaphor is a way of saying that the visual displays of a computer Interface
system should present the images of real physical objects.
For example, the wastepaper basket icon can be used to discard objects from the
system by simply dragging the unwanted objects into the dustbin, as in real life. The
desktop metaphor probably has been the most famous paradigm. Because of the
large set of potential office users, this metaphor can have the most dramatic effect.
In this paradigm, the computer presents information and objects as they would
appear and behave in an office, using icons for folders, in-baskets, out-baskets and
calendars.
In a desktop metaphor, users are not aware of applications. Users deal with files,
folders, drawers, a clipboard and an outbox. Instead of starting the word process and
loading file, users merely open the report document, which implicitly invokes the word
processor, Clicking the mouse on an icon representing the report causes the word
processor to get started and to load the report file implicitly. Today, several computing
environments provide this capability.
9) The3D GUI
The desktop metaphor GUI is 2% D. It is 2D because its visual elements are two-
dimensional: they lie in the xy plane, are defined in 2D coordinates, are flat and contain
only planar regions (areas). It is 2% D because where visual elements overlap they
obscure each other according to their priority. In a 3D GUI the visual elements are
genuinely three-dimensional: they are situated in xyz space, are defined in terms of 3D
coordinates, need not be flat and may contain spatial regions (volumes).
The design considerations for a 3D GUI appear more complex than for a 2% D GUI.
To begin with, the issues of metaphor and elements arise afresh. The desktop
metaphor with its windows, icons, menus and pointing device elements is firmly
established for 2!4D GUIs. Tn contrast no clearly defined metaphor and set of
elements for 3D GUIs are manifest -yet. 3D GUIs offer considerably more scope
for metaphors than 2%D GL.Tls; there are many metaphors which could be based on
our physical 3D environment, includingthe obvious extension of the desktop metaphor
into a 3D environment, including the obvious extension ofthe desktop metaphor into a
3D office metaphor. On the other hand, much more abstract metaphors are possible,
such as one based "starmaps" where objects are simply placed somewhere in
"cyberspace". Likewise the elements of a 3D GUI may resemble, or differ
substantially from, the elements of the 2% D GUI.
The various prototypes have been developed to design the same elements in the
3D GUI as in the 2 'I2Ddesktop GUI: windows, icons, menus, a general space in
which to arrange the visual elements, a cursor and an input device to manipulate
the cursor.
A set of tools and frameworks for creating interfaces and developing integrated
applications.
Operating System Windowing systems allow programs to display multiple applications at the same time.
Fundamentals & Windowing systems include programming tools for building movable and resizeable
Networking
windows, menus, dialog boxes and other items on the display. Some GUIs contain
proprietary windowing systems, such as Macintosh. Others use common windowing
systems such as X-window or simple X.
An imaging model defines how fonts and graphics are created on the screen. Imaging
models handle, for example, typeface and size in a word processor and lines in a
drawing program. This component of the system environment has taken on increasing
sophistication as applications incorporate complex curves, color, shading and dimension.
Some GUIs support more than one imaging model.
The API is a set of programming language functions that allow the programmer to
specify how the actual application will control the menus, scroll bars and icons that
appear on the screen. Like windowing models, APIs align with particular GUIs.
Finally, GUI development environments can include toolkits and frameworks. Most
of these toolkits are based on object-oriented approach.
Although the structure of the basic development for most GUIs is similar, there are
major differences in how the GUI is integrated with the operating system. Some, like
the Macintosh and NeXT GUIs, are closely integrated with the operating system.
Others, like X Window or Microsoft's Windows, can be set up as options to be selected
by the user when the computer boots up.
Programming of software for GUIs across these components is fairly complex and
challenging. Commercial developers who want to support multiple environments find
their task further complicated by the absence of standards across heterogeneous
computing platforms. The higher-level toolkit component is intended to mitigate much of
this difficulty.
Although the graphical user interface has become a standard component of most
systems, no standards in windowing systems, imaging models, APIs, or high-level
toolkits have emerged. However, three major camps of GUIs dominate. The first camp
is IBM's System Application Architecture (SAA), which includes primarily Microsoft's
Windows and PM (Presentation Manager). The second camp is UNIX systems,
usually built around X Window. The third camp is the Macintosh. In the next section we
will describe the object-oriented functionality of representative GlUs in these camps,
including Windows, X (upon which most of the UNIX camp is based), NeXT and
Macintosh.
2) Avoid unnecessary detail: For example, use whole numbers if one does not need
decimals. Keep the window and icon designs clear and simple. Even when
users prefer more complex icons, elaborate icons add nothing to performance.
Studies show that when icon designs are too complex, time to complete a task
actually increases. In studies with 3-D and 2-D graphical displays, users
preferred the 3-D displays. There were no differences in performance between
the two graphical displays, however.
3) Use concise wording: Screens have limited space. Screen designers should avoid
the tendency to place additional data on the screen just because the data is
available. More objective limits of screen density vary from the thresholds of
25% to 80%. There is no empirical research that substantiates any performance Graphical User
enhancement with any specific threshold. Interface
1) Use familiar data formats: With more familiar formats, the user will need less
information to complete the task. An example for data entry is the standard
USA address format of street, city, state, and zip code. In addition to requiring
less instruction, the user will perform the operation faster than if the format is
unfamiliar.
5) Use tabular formats with column headings: Tabular formats allow for efficient
labeling of related data. It is especially preferable for data location tasks. Simply
splitting items on one long line into two lines result in productivity improvements
of 20%.
Grouping of Information
Given a set of information to display, there are many ways one can display the
information. Proper grouping improves the information's readability and can highlight
relationships between the information.
There are several techniques to aid in the grouping of information, which include:
1) Color: Presenting different groups in different colors clearly creates some degree
of grouping among the elements of the same color. GUIs that utilise color well
increase productivity. If like color items are in close proximity, the visual
association is stronger than if the like color items are further apart. In addition to
changing the item's colors, one can use different colors for the background and
foreground. The effectiveness of this technique decreases as the number of
screen colors increases. Overuse of color degrades performance, however.
Information Sequencing
One needs to lay out a screen in a manner that allows the user to easily find any
information 011 it. Most designers advocate the use of the de facto GUI screen
Operating System standards. This is because many users now expect certain modes of operation in all
Fundamentals & GUIs. For example, most users expect the top of screen to contain the headings for
Networking
the pull-down menus. The top right is the default location for icons representing the
disk availability. In the Macintosh GUI, the bottom right contains the trash icons used
for deleting files.
Within a window, there are also many standard modes. A window title is usually at the
top. Scroll bars are on the right and bottom for vertical and horizontal window
movement. A box for closing the window is at the top left. Icons for resizing the
window are at the four corners.
Studies show that most users initially scan the screen starting at the upper-left corner.
This corner should be the obvious starting point for applications invoked from within the
window. This permits a left-to-right and top-to-bottom reading, which is standard for
Western cultures.
4
a*
The optirnuni sequence for screen presentations is a collection of various factors,
including:
1) Sequence of use: One needs to present the user the information in the order that
the user will probably utilise it.
4) Frequency of use: One should pace the most frequently utilised commands at the
beginning. For example, in a menu list, the most frequency utilised commands
should be at the top of the list.
5) Generality versus Specificity: The more general items should precede the more
specific items, especially when there is a hierarchical relationship among the data.
1) Common Look and Feel: All windows applications have the same basic look
and feel. Once you know one or two Windows applications, it is easy to learn
another one.
2) Device Independence: Windows presents a device-independent interface to
applications. Unlike most of today's DOS applications, a Windows application is
not bound to the underlying hardware such as mouse, keyboard or display.
Windows shields the application from this responsibility. The application deals
with the Windows API to manipulate any underlying devices.
3) Multitasking: Windows provides non-preemptive multitasking support. Users
can have several applications in progress at the same time. Each application can
be active in a separate window.
4) Memory Management: Windows also provides memory management to break
the 640K limitation of MS-DOS. An application has the ability to use the
extended memory, share data segments with other applications and unwanted
segments to disk.
5) Support for existing DOS applications: Windows allows most standard DOS
applications to run under it directly. Any application that does not control the
PC's hardware, use the PC BIOS or MS-DOS software interrupts, can run in its
own window.
6) Data Sharing: Windows allows a data transfer between application Clipboard.
Any type of data can be transferred from one window with the clipboard. The
Dynamic Data Exchange (DDE) protocol defines how two applications can
share information. Information such as bitmap, metafile, character strings and
other data formats call be shared.
Support for Object Orientation
In order to create screen objects such as windows, the application developer defines a
class (similar to record) specifying the necessary properties. Instances of class can
then be created. Several applications can share the same windows simultaneously. To
communicate with Instances of a window class, messages are sent and received by a
special function called the window function. The windows handle all messages such
as re-drawing the screen, displaying icon or pop-up menus and changing the contents
of the client area.
Creation and Manipulation of a Window
MS Windows presents a pre-defined style for user-defined windows; it presents the
structure of a window, followed by a discussion of windows manipulation.
1) Structure of a window: Figure 7 displays possible elements for a window. The
caption bar (or title bar) displays the name of application within the window. The
system menu box contains names of commands available in all applications, such
as minimise, maximize, resize and close. The minimize boxclicked once reduces
the window to an icon. The maximize box enlarges the window to the full screen.
The menu bar contains a list of commands In the application. The client area is
the area inside the window, which is under the application control.
i) the window function, which handles all messages for this class
ii) the icon and the cursor used for this class of windows
iii) the background color of the client area
iv) the window class menu
Document
CC
Window
Status Bar
Figure 7: MS-WINDOWS screen element
Pop-Up and child windows are special type of windows, and are used to communicate
information between the application and the end-user. They remain on the screen for a
sllort period of time. In this example, the pop-up Display information about a given file
such as date and time of creation and the size. Dialog boxes, as discussed earlier, are
a more sophisticated form of pop-up windows.
MS-Windows provides a collection of predefined child windows. These are the most
common usage of child windows. These predefined classes are button, scroll bars,
listbox, edit and static class. A developer can also define child windows that can be
controlled by any user-defined operation.
1 Resources
Resources are used to manage windows and user-defined object. MS-WINDOWS
provides nine kinds of resources to application developers. These resources are :
icons, cursors, menus, dialog boxes, fonts, bitmaps, char strings, user-defined
resources, and keyboard accelerators.
I) Icons and cursors: Windows defines a few types of icons and cursors. An icon Graphical User
or a cursor is essentially a bit-mapped region that is used to represent and Interface
symbolise a window or cursor. A developer can also define an original icon or
cursor using the ICONEDIT utility.
2) Menus: Each window can have its own menu bar. A menu item can be a
character string or a bitmap. Each item of a menu bar in turn can have a pop-up
menu presenting a list of options. Currently, Windows does not support nesting of
pop-up menus within other pop-up menus. (Windows 3.0 provides this
functionality). But a pop-up menu can invoke a dialog box. When a menu is
selected, Windows sends one or more messages to the Window function of the
Window containing the menu bar. These messages can be interpreted to perform
the function corresponding to the menu item.
3) Dialog boxes: These provide another mechanism besides pop-up menu and
menu bar to obtain information from the end-user. Dialog boxes are much inore
flexible than menu bars or pop-up menus. Dialog boxes usually contain a group of
child windows such as buttons, scroll bars, and'editable fields. Just like windows,
dialog boxes have a function that is used to process messages received from the
user upon selection of options. Generally, dialog boxes appear as pop-up
windows. The user selects the option needed from the dialog box and the dialog
box disappears. Figure 8 depicts an example of a dialog contains an edit box, a
list box, and open and cancel buttons. The end-user can specify the name of a
file either by selecting from the list box or by typing the name ofthe file in the
edit box. By clickingon the open button, the application will open the selected
file.
4) Fonts: Windows provides a few families of fonts with different sizes and shapes:
Modern, Roman, Swiss, Helvetica, and Script. Application processors and
desktop publishingcan define additional fonts as needed.
5) Bitmaps: They are used to represent icons, cursors, or draw picture on the
screen. Both mono and color bitmaps can be defined.
Figure 8: Dialog Box (MS-Windows) with an edit box, a list box, and push buttons
7) User-Defined Resources: These can be used for many purposes and support
any user-defined data type. Any arbitrary data can be managed as a userdefined
resource.
Resources are defined in a text file called a resource script. They are compiled through
a utility called the Resource Compiler and linked with the windows application.
Resources are read only data. Once a resource script is compiled, it can be shared
with other window applications.
Graphics Device Interface
Graphics in Windows are handled by the Graphics Device Interface (GDI). Both vector
and raster color graphics are supported by GDI. GDI supports only two-dimensional
graphics. Vector graphics are supported by a set of vector drawing functions such as
drawing a line, point, and polygon etc. pie chart.
Raster graphics are supported by pixel manipulation. RaSter graphics can be stored or
manipulated either as a bitmap or as a metafile. A bit-mapped representation of the
graph can be manipulated using utilities such as BitBlt, PatBlt, and StretchBlt. A
metafile provides binary encoding of GDI functions such as to draw vectors and to fill
a region with a bitmap. Metafiles take up less disk space than a bit-mapped
representation since they do not represent each pixel directly on disk. When metafiles
are played, they execute the function encoding and perform the necessary graphics
operations to display the graphics output.
I @=
1)
Check Your Progress 2
What are the four major components of GUI? Explain the functioning of any one
component.
................................................................................................................
2) How does MS-Windows enhance DOS environment?
................................................................................................................................
I .3) How are graphics supported in MS-Windows?
................................................................................................................................
1.8.2 Macintosh Toolbox
The tremendous success of the Macintosh computer popalarized the window-style menu-
driven user interface. Macintosh got its earlv start from A ~ ~ l eLisa.
's
The Macintosh GUI is called the Toolbox. The Toolbox consists of a collection of Graphical User
utilities to manipulate Macintosh's resources. In this section we present an overview
of Tool box functionally, examine the object-oriented features of the Toolbox snd
discuss major components of the toolbox's user interface features.
Functional Overview
The Tool box provides a collection of utilities to access and manipulate Macintosh
hardware and software resources. It provides a set of utilities to manipulate interface
components such as windows, menu bar, and dialog boxes. These are discussed in the
following sections. Some ofthe other utilities provided are:
4) Text Edit: provides simple text editing capabilities such as cut and paste.
6) Pile Manager: provides a set of routines to manipulate files and transfer data
between files and applications.
Toolbox comes with a series of pre-defined windows. The most popular of these
windows is the document window. The document window, depicted in Figure 9, has
Operating System the following regions: Title bar, Close Box, Scroll bar(s), Size Box and content region.
Fundamentals & The Title bar contains the title of the window. By clicking and holding the mouse
Networking
within the region, the window can be dragged to a different screen. The Close Box is
used to shut the window. Clicking inside this box will cause the window to disappear.
The Size Box is used to resize the window. The horizontal or vertical Scroll bars can
be used to scroll the contents of the window. The content region is the area that is
controlled by the application.
Case Box Title Bar
When crkating a document window anyone of the components described above can
be omitted. For example, anyone of the Scroll bars can be absent from the document
window.
New types of windows can be created through either the Window Manager or the
Resource Manager. The Resource Editor can be used to create a window template. A
window template essentially defines a class of windows that can be instantiated by an
application. For each class of window, defined by the system or there exists a function
called the window definition function. This function is used to handle the behaviour
and appearance of the window. When a window needs to be drawn or resized, a
message is sent to the window definition function to perform the action for that type
of window.
The Window Manager provides a large collection of routines to create, display, hide
and activate/deactivate windows on the screen.
The Resource Manager
The Resource Manager provides access to various resources such as the windows,
fonts, icons and menus. A user-defined resource such as a window is defined as Resource
Editor. The template of the window and the window definition function is stored in a file
called the resource file. A unique resource identifier is used to access a pre-defined
resource. Resource identifier can be used to recognise the type of resource and the
actual resource file to be read.
The Menu Manager
The Menu Manager provides a set of routines to create and manipulate menus. A
menu bar, &pic ted in Figure 10, can contain a list of one or more menu items. Each
menu item highlights itself when clicked with the mouse; this item is selected. The
developer can define a menu using the standard bar. Menus can be stored as a
resource and managed by the Resource Manager. Once given to Manager, a unique
identifier is used to reference the menu.
Graphical User
Interface
A menu item can even invoke a pull-down menu, which can be used to or choose
additional selections, see Figure I l . A menu item in a pull-down menu can then
invoke a dialog or an alert box. A menu item can be a textual icon. Unlike MS
Windows, menus in Toolbox cannot be a part of a window Menus and only used to
define the menu bar, which is associated with one Macintosh screen.
The Control Manager
The Control Manager provides a set of routines to define objects like buttons, check
boxes and scroll bars. Controls are usually a window. For example, the scroll bars can be
defined as part of a document. Most often controls are defined as part of a dialog or an
alert box.
I
Figure 11: Macintosh Pull-down Menu
The name X, as well as part of the initial design, was derived from an earlier window
system called W developed at Standford University. Currently, the X Window system
is supported by an X Consortium of primarily UNIX-based hardware and software
vendors as a standard base for user interfaces across most UNIX product lines.
Figure 12 illustrates the components of UNIX GUIs based on X Windows.
The X Window system does not define any particular style of interface but rather
provides a mechanism for supporting many styles. X is also network-based. In
contrast with PM, the X architecture is based on the premise that an application can
run one computer, while the graphical presentation of the application's output and
responses from the user can occur on another computer. As such, X provides a
flexible set of primitive window operations but carefully avoids dictating the look and
feel of any particular application. X's device-independent functionally allows it to
serve as a base for a variety of interface styles. X does not provide user interface
components such as buttons, menus, or dialog boxes.
Windowing
I HP X Widgets
X Window
.XU1 X View
r l Kits
~~~~i~~
Model
1
r
Proprietary II Un:itcikas I Display
Postscript
I News
Postscript
Operating I UNIX I
System I I
Figure 12: Components of major UNIX-based GUIs
Application
7 Wldget Set
Xt lntrinsics
r Network Connection
L X Server
Depending on the toolkit, the widget programmer may be able to take advantage of
object-oriented capabilities. Xt Intrinsic, for example, uses an object-oriented approach
and organises widgets into classes. Xt Intrinsic defines the basic architecture of a
widget. This allows widgets to work together smoothly when built by different
programmers or potentially when selected from different widget sets. /
I
A typical widget consists of two basic parts: a class record and an instance record.
Each of these components is implemented as a C structure containing data and
pointers to methods. Intrinsics defines the organisation of each structure. All widgets
belonging to a class share a copy of common data methods for that class. Each
individual widget has its own copy of instance-specific data. A widget's class record is
usually allocated and initialised statically at compile time; a unique copy of the instance
record is created at run time for each individual widget.
I
Since all widgets belonging to the same class share the same class record, the class
record must contain only static data that do not relate directly to the state of an
individual widget. For example, every widget's class record includes a field containing
the widget's class name. The class record also contains methods that define the
Operating System
Fundamentals &
Networking
appearance and behaviour ofall widgets in the class. Although most of these methods
operate on the data in the widget's instance records, the methods themselves are
shared by all widgets in a class.
Many object-oriented languages provide inheritance as a langcage construct. The
Xt Intrinsics Is written in the C language, which does not directly support object-
1
oriented programming. Xt itself supports inheritance with a subclassing mechanism.
'To use Xt's subclassi~lgcapabilities, the programmer first finds an existing widget
with similar functiolls (a common step in objt-t-criented design), writes a subclass
that can inherit existing data and methods, a!.,! then adds new data and methods as
needed.
If a similar widget cannot be found, then a foundation class called Core is subclassed.
All widget classes are subclasses of the core widget class. Like the class Window in
PM, Core contains the basic methods for initializing, displaying, and destroying widgets,
and reacting the external resizing. Core also stores basic properties (e.g., the
geometry) of widgets and the data for handling events.
New widget classes inherit the methods (called resources) defined by their superclass
by specifically including the definition ofthe superclass structure in the definition ofthe
new class. Xt Intrinsics provides two mechanisms for inheriting the methods defined by
a superclass. The first mechanism is referred to as chaining. When a method is
chained. Xt Intrinsics invokes the method defined by a widget's superclass first and
then invokes the widget's method. This allows a widget to inherit part of a method
from its superclass.
Xt Intrinsics also provides a mechanism for inheriting methods that are not chained.
This is done by using special symbols to specify methods in the widget's class records.
Each sylnbol is defined by the superclass that added the method to the widget's class
record. These symbols can be used by a subclass of the widget class Core and do not
have to be redefined by each widget class. Only classes that contribute new methods
to the class record need to define new symbols. When a widget class specifies one of
these symbols in the class record, Intrinsics copies the corresponding method used by
the widget's superclass into the widget's class structure at class initialisation time.
Figure 14 illustrates this architecture and shows the relationship between the class
record and instance records of several widgets belonging to widget class core.
Core: Class
Record Core Class
I
Figure 14: Inheriting from Widget Class Core
3) What is the basic philosophy of X-windows? How is it different from the rest of
GUIs?
1.8.4 NeXT
The NeXT computer, with its three-dimensional user interface, was introduced in
1988. It has grabbed the attention of the computer industry. The machine has been
L
hailed as the most innovative computer invented in recent times. The computer was
initially intended for the educational market. But the NeXT Corporation decided to
widen the market for its machine to the commercial arena.
We provide a brief overview of the IVeXT software tools and capabilities, followed by
!
a discussion of the capabilities of the user-interface design.
I
Overview of NeXT Software
I The NeXT computer is designed to reach a wide range of users from non-technical to
1
I
power users. The non-technical users can deal with the graphic user interface to perform
i
Operating System tasks by manipulating menus, icons, and dialog boxes. The power user can directly interact
Fundamentals & with its Mach Operating system.
Networking
The NeXT system software comprises three major pieces: the Mach operating system,
applications and the NeXT user interface. The Mach operating system, developed at
Carnegie Mellon University, is a re-designed UNIX. Mach re-designs the UNIX kernel
to reduce the size.
NeXT also comes with a set of bundled applications. Currently, there are new
applications being developed that take adv-lntageof NeXT hardware and sofhvare
capabilities. Some of the applications supported on NeXT are NeXT SQL Database i
Server, Mathematica (symbolic mathematics package, WYSIWYG editors and word I
processors, and more.
i
NeXT User Interface 1
The third and last component, the NeXT user interface, is the most impressive piece of
NeXT technology. The NeXT user interface draws heavily on direct manipulation and
modem graphic user interfaces.TheNeXT user interface is composed of four components.
Workspace Manager, Interface Builder, Application Kit, and NeXT Window Server.
The Workspace Manager allows the user to manage files and directories and to
execute programs. When a user logs into a NeXT machine, the Workspace Manager is
started, Figure 15. The Directory Browser window is used to navigate through the
files on disk.
The Interface Builder lets the user create interfaces on the screen without writing a
single line of code. Users simply select the menu, control and screen objects from a
palette, and then move the controls to the desired location.
The Application Kit is a library of user-interface objects. It is used in conjunction with
the Interface Builder to design user interfaces. The Application Kit is discussed in the
next section.
The Window Server handles all screen activities, such as drawing windows and
handling events such as mouse clicks. The window Server itself does not perform the
drawing and screen 110 commands. Display Postscript, designed by Adobe and NeXT,
handles all such activities. Up to now, Postscript has been used only as a language for
printer engines. With tlie advent of the Postscript, both screen and printer share the
same protocol. Therefore one drawing method is used to display objects on the screen
and the printer.
I Objects
Graphical User
Interface
The GUI has already made a tremendous contribution to the increased usability of
computer systems. It is with great excitement that we look forward to future
innovations in human-computer interfaces. GUI development is at the vanguard of
I
creativity in many areas, such as ergonomics, software development tools, computer I
2) a) When a screen is split into several independent regions each one is called a
window. Several applications can display results simultaneously in different
windows. The user can switch from one window to another window.
Windowing systems have capabilities to display windows either tiled or
lapped. Users can organize the screen by resizing the window or moving
related windows closer. 31
Operating System b) No model answer is given.
Fundamentals &
c) No model answer is given.
iv) A set of tools and frameworks for creating interfaces and developing
integrated application.
The API (Application Program Interface) is a set of programming language functions
that allow the programmer to specify how the actual application will control the menus
scroll bars and icons that appear on the screen. Like in windowing models, APIs align
with particular GUls. The features vary from package to package.
ii) Multitasking. Users can have several applications in progress at the same
time. Each application can be active in a separate window.
iii) Memory management. Windows also provide memory management, the
640K limitation of MS-DOS. An application has the ability to extend
memory and share data segments with other applications.
iv) Data sharing. Clipboards allow data transfer between application clipboard.
Any type of data can be transferred from one window to another through
the clipboard.
iii) Text edit: provides simple text editing capabilities such as cut and paste.
2.9 Further ~ e ~ d f d g s 54
-
2.0 INTRODUCTION
An operatifig system is a system software which may be viewed as an organized
selletztion of software consisting of procedures for operating a computer and providing
an eflvironment for execution of programs. It acts as an interface between users and
the hardware of a computer system.
There are many important reasons for studying operating systems. Some of thcin are:
1) User interacts with the computer through the operating system in order to
accomplish his task since it is his primary interface with a computer.
3) Many concepts and techniques found in the operating system have general
applicability in other applications.
The introductory concepts and principles of an operating system will be the main
issues for discussion in this unit. The unit starts with the basic definition and then goes
on to explain the stages of evolution of operating systems. It further gives details of
several approaches to operating system design.
111 the last two subsections of tile unit we classify an advanced opelati1:g system and
explain some characteristics of modern operating systerns.
Operating System etc., which replace assembly language for system programming. The use of system
Fundamentals & calls in C or Pascal programs very much resemble pre-defined fiinctions or subroutine
As an example of how system calls are used, let us consider a simple program to copy
data from one file to another. 111an interactive system, the following system calls will
be generated by the operating system:
Prompt message for inputting two file names and reading it from the terminal.
Open source and destination file.
Prompt error message in case the source file cannot be open because it is
protected against access or because the destination file cannot be created since
there is already a file with this name.
Read the source file
Write into the destination file
Display status information regarding various Read/Write error conditions. For
example, the program may find that the end of the file has been reached or that
there was a hardware failure. The write operation may encounter various errors,
depending upon the output device (no more disk space, physical end of tape,
printer out of paper and so on).
Close both files after the entire file is copied.
As we can observe, a user program makes heavy use of the operating system. All
interaction between the program and its environment must occur as the result of
requests from the program to the operating system.
Operating System Commands: Apart from system calls, users may interact with
the operating system directly by means of operating system commands.
For example, if you want to list files or sub-directories in MS-DOS, you invoke dir
command. In either case, the operating system acts as an interface between users
and the hardware of the computer system. The fundamental goal of computer
systems is to solve user problems. Towards this goal computer hardware is
designed. Since the bare hardware alone is not very easy to use, programs
(software) are developed. These programs require certain common operations,
such as controlling peripheral devices. The command function of controlling and
allocating resources are then brought together into one piece of software; the
operating system.
To see what operating systems are and what operating systems do, let us consider
how they have evolved over the years. By tracing their evolution, we can identi@ the
common elements of operating systems and examine how and why they have
developed as they have.
$ END
DATA FROM PROGRAM
$ RUN
$ LOAD
I - I
USER'S PROGRAM TO BE -
COMPOSED
-
1 $COB
$JOB -
Figure 2: Card Deck for Cobol Program for a Simple Batch Syscern
If the CPU is, on the average, much faster than an input device, buffering will be of
little use. If the CPU is always faster, then it always finds an empty buffer and has to
wait for the input device. For outpyt, the CPU can proceed at full speed until,
eventually, all system buffers are full. Then the CPU must wait for the output device.
This situation occurs with inputjoutput bound jobs where the amount af iaput/output
device, the speed of execution is controlled by the input/output devlce, not by the speed
of the CPU.
1 Figure 3: Spooling I
Buffering overlaps input, output and processing of a singlejob whereas Spooling
allows CPU to overlap the input of one job with computation and output of
other jobs. Therefore this approach is better than buffering. Even in a simple system,
the spooler may be reading the input of one job while printing the output of a different
I job.
2.3.3 Multiprogramming
Buffering and Spooling improve system performance by overlapping the input, output
and computation of a singlejob, but both ofthem have their limitations. A single user
cannot always keep CPU or I10 devices busy at all times. Multiprogramming offersa
more efficient approach to increase system performance. In order to increase the
resource utilisation, systems supporting multiprogramming approach allow more than
one job (program) to reside in the memory to utilise CPU time at any moment. More
number of programs competing for system resources better will mean better resource
uti lisation.
The idea is implemented as follows. The main memory of a system contains more than
one program (Figure 4).
Operating System Primary Memory
Fundamentals &
MONITOR
PROGRAM 1
PROGRAM 2
. . .
. . .
PROGRAM N
The operating system picks one of the programs and starts executing. During
execution of program 1 it needs some I10 operation to complete in a sequential
execution environment (Figure 5a).The CPU would then sit idle whereas in a
multiprogramming system, (Figure 5b) the operating system will simply switch over to
the next program (program 2).
Program 1 Program 2
Figure 5: Multiprogramming
I
When that program needs to wait for some I10 operation, it switches over to program
3 and so on. Ifthere is no other new program left in the main memory, the CPU will
pass its control back to the previous programs.
Multiprogramming has traditionally been employed to increase the resources utilisation
of a computer system and to support multiple simultaneously interactive users
(terminals).
Compared to the operating system, which supports only sequential execution, the
multiprogramming system requires some form of CPU and memory management
strategies. which will be discussed in the next section.
Introduction to
2.4 OPEFUTING SYSTEM STRUCTURE Operating System
Since operating system is a very large and complex software, supports a large number
of functions. It should be developed as a collection of several smaller modules with
carefully defined inputs, outputs and functions rather than a single piece of software. In
this section, we will examine different operating system structure.
As shown in Figure 6, layer 0 dealt with hardware; the higher layer 1 handled
allocation ofjobs to processor. The next layer implemented memory management.
Level 3 contained the device driver for the operator's console. By placing it, as well as
I10 buffering, at level 4, above memory management, the device buffers could be
placed in virtual memory. The 110 buffering was also above the operator's console, so
that VO error conditions could be output to the operator's console.
The main advantages of the layered approach is modularity which helps in debugging
and verification of the system easily. The layers are designed in such a way that it uses
operation and services only of a layer below it. A higher layer need not know how
these operations are implemented, only what these operations do. Hence each layer
hides implementation details from higher-level layers. Any layer can be debugged
without any concern about the rest of the layer.
The major difficulty with the layered approach is definition of a new level i.e. how to
differentiate one level from another. Since a layer can use the services of a layer below
it, it should be designed carefully. For example, the device driver for secondary memory
must be at a lower level than the memory management routines since memory
management requires the ability to use the backing store.
Virtual
machine
operating
system OS
.-
1
I
I
CPU
O S I
'
I
1
. l l C I I .
'
I
I
CPU
OS2
'
I
I
,lllll.
I
u
I
I
CPU
OS3
I
I
I
I
Reader
Virtual
Disk
0Virtual
Disk Virtual
Input device
I From the user's viewpoint, a virtual machine can be made to appear ve1.J.similar to an
existing real machine or they can be entirely different. An important aspect of this.
technique is that each user can run the operating system of his own choice. This fact
is depicted by OS, (Operating System I), OS,, OS, etc. as in Figure 7.
I
allocated a portio~iof the real machine resources. The same machine resources are
distributed among several processes.
-
Conventional multi-
programming operating system
'I
Virtual Virtual
Virtual
Machine Machine
Machine
1 2 N
In the virtual multiprogramming system, a single real machine gives the illusion of
several virtual machines, each having its own virtual processor, storage and I10
devices possibly with much larger capacities.
The virtual machine has many uses and advantages:
I
Because each virtual machine is identical to the true hardware, each one can run any
operating system that will run directly on the hardware. In fact, different virtual
machines can, and usually do, run different operating systems. SOIIIC run one of the
descendants of OS1360 for batch processing, while other ones run a simple, single-
user, interactive system called CMS (Conversational Monitor System) for time-sharing
Operating System When a CMS program executes a system call, the call is trapped to the operating
Fmodamentals & system in its own virtual machine, not to VMl370; just as it would if it were running on
a real machine instead of a virtual one. CMS then issues the normal hardware 110
instructions for reading its virtual disk or whatever is needed to carry out the call.
These 110 instructions are trapped by VM1370, which then performs them as part of
its simulation of the real hardware. By making a complete separation of the functions
of multiprogramming and providing an extended machine, each of the pieces can be
mush simpler and more flexible.
The virtual machine concept has several advantages. Notice that there is complete
protection. Each machine is completely isolated from all other virtual machines, so
there is no problem with protection. On the other hand, there is no sharing. To provide
sharing, two approaches have been implemented. First, it is possible to share a
minidisk. This scheme is modeled after a physical shared disk, but implemented by
software. With this technique, files can be shared. Second, it is possible to define a
network of virtual machines, each of which can send information over the virtual
communications network. Again, the network is modeled after physical communication
networks, but implemented in software.
Such a virtual machine system is a perfect vehicle for operating systems research and
development. Normally changing an operating system is a difficult process. Since
operating systems are large and complex programs, it is difficult to be sure that a
change in one point does not cause obscure bugs in some other part. This situation can
be particularly dangerous because of the power of the operating system. Since the
operating system executes in monitor mode, a wrong change in a pointer could cause
an error that would destroy the entire file system. Thus, it is necessary to test all
changes to the operating system carefully.
But the operating system runs on and controls the entire machine. Therefore, the
current system must be stopped and taken out of use, while changes are made and
tested. This is commonly called system development time. Since it makes the system
unavailable to users, system development time is often scheduled late at night or on
weekends.
A virtual machine system can eliminate much of this problem. System programmers
are given their own virtual machine and system development is done on the virtual
machine, instead of on a physical machine. The normal system operation seldom need
be disrupted for system development.
Kernel
mode
Kernel
'The picture painted above of a kernel that handles only the transport of messages from
clients to servers and back is not completely realistic. Some operating system functio~is
(such as loading commands into the physical 110 device registers) are difficult, if not
impossible, to do from user-space programs. There are two ways of dealing with this
problem. One way is to have some critical server processes (e.g., I10 device drivers)
actually run in kernel mode, with complete access to all the hardware, but still
communicate with other processes using the normal message mechanism.
The other way is to build a minimal amount of mechanism into the kernel, but leave
the policy decisions up to servers in user space. For example, the kernel might
recognize that a message sent to a certain special address means to take the contents
I of that message and load it into the I10 device registers from some disk, to start a disk
read. In this example, the kernel would not even inspect the bytes in the message to
see if they were valid or meaningful; it would just blindly copy them into the disk's
device registers. (Obviously some scheme for limiting such messages to authorized
. processes only must be used). The split between mechanism and policy is an important
concept; it occurs again and again in operating systems in various contexts.
2.4.4 Kernel Approach
Kernel is that part of operating system which directly makes interface with hardware
1
,
1 The drive for advanced operating systems has come from two directions. First, it has
I come from advances in the architecture of multicomputer systems and is now driven
by a wide variety of high-speed architectures. Hardware design of extremely fast
parallel and distributed systems is fairly well understood. These architectures offer
great potential for speed up but they also present a substantial challenge to operating
I
system designers. The following Figure I3 gives a broad classification of the
advanced operating system.
t
1C Advanced operating ..
A second class advanced operating system is driven by applications. There are several
important applications that require special operating system support, as a requirement
as well as for efficiency. General-purpose operating systems are too broad in nature
time systems, have received considerable attention in the past and the operating system
issues for these systems have been extensively examined.
t
2.5.1 Architecture Driven Operating System
A brief discussion of three operating systems in the category of the Architecture
The basic issues in the design of a distributed operating system are the same as in a
traditional operating system, viz., process synchronisation, deadlocks, scheduling, file
systems, interprocess communication, memory and buffer management, failure
recovery, etc. However, several idiosyncrasies of a distributed system, namely, the
lack of both shared memory and a physical global clock, and unpredictable
communication delays make the design of distributed operating systems much more
difficult.
Network operating systems focus on the use of remote services and resources
existing on a network of computer systems. Distributed operating systems focus on
effective utilization of resources in distributed computing environments.
Resource sharing
Reliability
Communication
Incremental growth
Resource sharing has been the main motivation for distributed systems. The
earliest form of a distributed system was a computer network which enabled the
use of specialized hardware and software resources by geographically distqnt
users. Resource sharing continues to be an important aspect of distributed systems
today. However, the nature of distribution and sharing of resources has changed
due to advances in networking technology. Sharing of resources is now equally
meaningful in a local area network (LAN), for example sharing laser printers in
the lab.
One aspect of reliability is availability of a resource despite failures in a system. A Introduction to
distributed environment can offer enhanced availability of resources through Operating System
redundancy of resources and communication paths. For example, availability of a disk
resource can be increased by having two or more disks located at different sites in the
system. If one disk is unavailable due to a disk or site failure, a program can use some
other disk. The availability of a data resource, e.g., a file, can be similarly enhanced by
keeping copies of the file at various sites in the system.
Distributed systems are capable of incremental growth, i.e., the capabilities of a system
(e.g. its processing power) can be enhanced at a price proportional to the nature and
size of the enhancement. A major advantage of this feature is that enhancements need
not be planned in advance. This is in contrast to the classical mainframe architectures
where enhancements often took the form of upgradation, that is, replacement of
subsystems by more powerful ones -hence enhancement costs tended ta be
disproportionate to the nature and size of an enhancement.
Distributed systems today cover a wide spectrum of computer hardware, software and
topological configurations; resource sharing services range from off-line access to real-
time access and topologies vary from locally distributed to geographically distributed.
The basic issues in the design of a multiprocessor operating system are the same as in
a traditional operating system. However, the issues of process synchronisation,task
scheduling, memory management, and protection and security become more complex
because the main memory is shared by many physical processors.
The operating system is the shield of the computer hardware against all software
components. It provides a comfortable environment for the execution of programs, and
it ensures effective utilisation of the computer hardware. The operating system offers
various services related to the essential resources of a computer: CPU, main memory,
storage and all input and output devices.
For the processi~igof audio and video, multimedia application demands that humans
perceive these media in a natural, error-free way. These continuous media data
Operating System originate at sources like microphones, cameras and files. From these sources, the data
Fundamentals & are transferred to destinations like loudspeakers, video windows and files located at
the same computer or at a remote station. On the way from source to sink, the digital
data are processed by at least some type of move, copy or transmit operation. In this
data manipulation process there are always many resources which are under the
control of the operating system. The integration of discrete and continuous multimedia
data demands additional services from many operating system components.
The major aspect in this context is real-time processing of continuous media data.
Process management must take into account the timing requirements imposed by the
handling of multimedia data. Appropriate scheduling methods should be applied. In
contrast to the traditional real-time operating systems, multimedia operating systems
also have to consider tasks without hard timing restrictions under the aspect of
fairness.
To obey timing requirements, single components are conceived as resources that are
reserved prior to execution. This concept of resource reservation has to cover all
resources on a data path, i.e. all resources that deal with continuous media. It also
may affect parts of the application that process continuous media data. In distributed
systems, for example, resource management also comprises nehrork capacity.
The communication and synchronization between single processes must meet the
restrictions of real-time requirements and timing relations among different media. The
main memory is available as a shared resource to single processes.
Real-time systems also place special requirements on operating system, which have
their roots in the specific application that the real-time system is supporting. Adistinct
feature of real-time systems is that jobs have completion deadlines. A job should be
completed before its deadline to be of use (in soft real-time system) or to avert a
disaster (in hard real-time systems). The major issue in the design of real-time
operating systems is the scheduling ofjobs in such a way that a maximum number of
jobs satis@ their deadlines. Other issues include designing languages and primitives to
effectively prepare and execute a job schedule.
@= Check Your Progress 2 lntroduction to
Operating System
1) What are the basic design issues in the distributed operating systems.
2.6.2 Multithreading
Multithreading is a technique in which a process executing an application is divided
into threads that can run concurrently. We can make the following distinction:
r, Threads: A dispatchable unit of work. It includes a processor context (which
includes the program counter and stack pointer) and its owl1 data area for a stack
(to enable subroutine branching). A thread executes sequentially and is
interruptable so that the processor can turn to another thread.
Process: A collection of one or more threads and associated system resources
(such as memory containing code and data, open files, and devices). This
corresponds closely to the concept of a program in execution. By breaking a
single application into multiple threads, the programmer has great control over the
modularity of the application and the timing of application related events.
Multithreading is useful for applications that perform a number of essentially
independent tasks that do not need to be serialised. An example is a database server
that listens for and processes numerous client requests. With multiple threads running
within the same process, switching back and forth among threads involves less
processor overhead than a major process switch between different processes.
Threads are also useful for structuring processes that are part of the OS kernel as
described in subsequent chapters.
2) These processors share the same main memory and I10 facilities, interconnected
by a communications bus or other internal connection scheme.
3) All processors can perform the same functions (hence the term Symmetric).
The operating system of an SMP schedules processes or threads across all of the
processors. SMP has a number of potential advantages over uniprocessor
architecture, including the following:
8 Pesformancc: If the work to be done by a computer can be organised so that
some portions of the work can be done in parallel, then a sysfe.-.,with multiple
processors will yield greater performance than one with a single processor of the Introduction to
Operating System
same type. With multiprogramming, only one process can execute at a time;
meanwhile all other processes are waiting for the processor. With
multiprocessing, more than one process can be running simultaneously, each on a
different processor.
Availability: In a symmetric multiprocessor, because all processors can perform
the same functions, the failure of a single processor does not halt the machine.
Instead, the system can continue to function at reduced performance.
Incremental growth: A user can enhance the performance of a system by
adding an additional processor.
Scaling: Vendors can offer a range of products with different price and
performance characteristics based on the number of processors configured in the
system.
It is important to note that these are potential rather than guaranteed benefits. The
operating system must provide tools and functions to exploit the parallelism in an SMP
system.
Multithreading and SMP are often discussed together, but the two are independent
facilities. Even on a uniprocessor machine, multithreading is useful for structuring
applications and kernel processes. An SMP machine is useful for non-threaded
processes, because several processes can run in parallel. However, the two facilities
complement each other and can be used effectively together.
An attractive feature of an SMP is that the existence of multiple processors is
transparent to the user. The operating system takes care of scheduling of threads
or processes on individual processors and of synchronisation among processors. A
different problem is to provide the appearance of a single system for a cluster of
I
I separate computers - a multicomputer system. In this case, we are dealing with a
collection of entities (computers), each with its own main memory, secondary
I
memory, and other I10 modules. A distributed operating system provides the illusion
I of a single main memory space and a single secondary memory space, plus other
unified access facilities, such as a distributed file system. Although clusters are
becoming increasingly popular, and there are many cluster products on the market,
I the state of the art for distributed operating systems lags that of uniprocessor and
I
SMP operating systems.
I The most recent innovation in operating system design is the use of object oriented
technologies. Object oriented design lends discipline to the process of adding modular
I extensions to a small kernel. At the operating system level, an object-based structure
enables programmers to customise an operating system without disrupting system
integrity. Object orientation also eases the development of distributed tools and a full-
blown distributed operating system.
2.7 SUMMARY
The operating system is an essential component of system software, which
consists of procedures for managing computer resources. Initially computers were
operated from the front console. System software such as Assemblers, Loaders
and Compilers greatly helped in software development but also required substantial
setup time. To reduce the setup time an operator was hired and similar jobs were
batched together.
Batch systems allowed automatic job sequenting by a resident monitor and improved
the overall utilisation of systems greatly. The computer no longer had to wait for
human operations - but CPU utilisation was still low because of slow speed of I10
Operating System devic s compared to the CPU. A new concept buffering was developed to improve
Fundamentals &
Networking
d'
syst m performance by overlapping the input, output and computation of a singlejob.
Spooling was another new concept in improving the CPU utilisation by overlapping
input of one job with the computation and output ofother jobs.
Operating systems are now almost always written in a higher-level language
(C, PASCAL, etc.). UNIX was the first operating system developed in C language.
This feature improves their implementation, maintenance and portability.
The operating system provides a number of services. At the lowest level, there are
system calls, which allow a running program to make a request from the operating
system directly. At a higher level, there is a command interpreter, which supports a
mechanism for a user to issue a request without writing a program.
In this unit, we began with tracing the evolution of the operating system through serial
processing, batch processing and multiprogramming. We also presented different
operating system models: Layered structured, Kernel based, virtual machine system
and client server model.
At the end we presented classification and characteristics of emerging operating
systems.
management, failure recovery, etc., but what makes its design complexity are the
lack of shared memory and common physical global clock and unpredictable
communication delays.
2) The basic difference between the two is that the network operating system I
focuses on the use of remote services and resources existing on a network
operating system whereas the distributed operating system focuses on the
effective utilisation of resources on distributed environment.
i
3.0 INTRODUCTION
A network can consist of two computers connected together on a desk or it can
consist of many Local Area Networks (LANs) connected together to form a Wide
Area Network (WAN) across a continent. In simple terms it is an interconnected set
of some objects. For decades, we have been familiar with the Radio, Television,
Railways, Banks and various other types of networks. In recent years, the computer
network, a new form of network is becoming more and more visible in our day-to-day
life. A computer network is an interconnected set of autonomous computers.
Autonomous means each of them can function independent of others, i.e., each
computer has individual processors. Simply we can say each computer (terminal,
node) should not be a dump terminal. The key is that two or more computers are
. .
b) Resource Sharing: Resources like files, printers, hard drives, or CPU can be
shared throu~ha com~uternetwork.
environment.
network.
Applications of computer network
a) Electronic Mail (e-mail or Email). The most widely used network application is
E-mail, which is forwarding of electronic files to an electronic post office for the
recipient to pick up.
b) Scheduling programs allow people across the network to schedule appointments
directly by calling up their fellow worker's schedule and selecting a time!
c) Videotext is the capability of having a two-way transmission of picture and sound.
Games like distance education lectures, etc. use videotext.
d) Groupware is the latest network application. It allows user groups to share
documents, schedules databases
e) Teleconferencingallows people in different regions to "attend" meetings using
telephone lines.
i) Value Added Networks are common carriers such 'as ERNET, Satyam ,VSNL
etc. (they can be private or public companies) who provide additional leased line
connections to their customers. These can be Frame Relay, ATM (Asynchronous
Transfer Mode), X.25, etc.
(i) Marketing and sales Marketing professionals use computer network to collect,
Introduction to
Networking Concept
I
exchange and analyse data relating to customer needs.
The topology is the geometric arrangement (either physically or logically) ofthe linking
devices (usually called nodes) and the links, connecting the individual computers or nodes
together. Five basic topologies:
I) Bus topology
2) Ring topology
3) Star topology
4) Mesh topology
5) Combined topologies.
1) The Bus Topology
1n the bus topology there is a single bus that carries all the data to the entire network.
A bus is a single continuous communication cable to which all the computers are
connected. A cable or bus runs throughout tlie office to which all the workstations are
connected. The bus topology is also kiiow~ias linear bus.
When one workstation wants to talk to another the message or signal travels down the
bus in both directions. Each one reads the message to see if it matches its address.
The bus topology is a passive topology. It means that the computers connected to the
bus amplify the signal on the bus.
The main advantage of bus topology is that it is quite easy to set up. Any workstation
can be easily moved to another location as bus runs throughout the office. Another
benefit of this layout is that if one computer on the bus fails, it does not affect the rest
of the traffic on the bus.
A network with bus topology cannot become too big as all the traffic is on a single bu;.
The entire network can be down only if the bus has a break. The open ends of bus
must be terminated to prevent signal bounce. If one or both ends of the bus are not
terminated, the whole network can be down.
Disadvantages include difficult reconfiguration and fault isolation I
2) The Ring Topology
In the ring topology all the workstations are connected in the shape of a ring. The ring
does not have an end. It is made up of short segments that' connect one PC to the next
and so on, until all the computers are joined in a circle. The signals travel only in one
direction and from one PC to tlie next until it reaches the appropriate node. It is also
difficult to move a workstation or to add more computers to an existing ring.
In ring topology the wiring for a ring could be arranged in a circle throughout a building
or a group of buildings. The signal travels in one direction only from one computer to
the next. The ring topology is an active topology. Each computer boosts the signal (like
a repeater) and passes to the next computer till it reaches the destination computer. A
drawback of this topology is that if one computer fails, tlie entire network is down.
Iiowever, now some ring networks are so designed that a faulty workstation is
automatically bypassed. Another drawback is that the traffic is in only one direction.
This topology is not used for a large number of nodes.
--- -
In a mesh topology, every node has a dedicated point-to point link to every other
node. Simply dedicated means that the links carry traffic only between the two nodes.
So mesh topology does not have traffic congestion proble~nsevery node has n-1
link,for a fully connected mesh topology Iiaviug n nodes. So the total number of links
will be 11 (n-I).This also means that every node has (n-1) 110 ports.
Advantages of Mesh topology
1) Use of dedicated links guarantees that each connection can carry its own data
load. Thus eliminates the traffic problem.
2) If one link fails, it does not affect the rest of network. This means it is robust.
3) Point to point links make fault identification and fault isolation easy.
4) Privacy or security is high, since the other link cannot gain access to the
dedicated link where the message is travelling.
1) More cabling and I t 0 ports are required, because every node must be connected
to every other node.
2) Cost is very high, because more number of node and cabling required.
5) Combined Topologies
A network does not have to stick with one topology. Any two topologies or all the
topologies can be used in a network. For example, a hub may be connected to other
hubs using a bus and the workstations may be connected by a star.
Two maln hybrid topologies are:
three hubs of the networks are connected to a fourth hub (main hub) in star pattern.
Application Presentation
Each layer bas well defined filnctionalities and standard protocols for implementing
thes fuoctionalities.
BETWEEN SYSTEMS
Information being transferred from a software application in one computer system to a
software application in another must pass through the OSI layers. For example, if a
software application in System A has information to transmit to a software application
Operating System ' in System B, the application program in System A will pass its information to the
Fundamentals & application layer (Layer 7) of System A. The application layer then passes the
information to the presentation layer (Layer 6), which relays the data to the session
layer (Layer 5 ) , and so on down to the physical layer (Layer 1). At the physical layer,
the information is placed on the physical network medium and is sent across the
medium to System B. The physical layer of System B removes the information from
the physical medium, and then its physical layer passes the information up to the data
link layer (Layer 2), which passes it to the network layer (Layer 3), and so on, until it
reaches the application layer (Layer 7) of System B. Finally, the application layer of
System B passes the information to the recipient application program to complete the
communication process.
3.7 PROTOCOLS
Just like human beings need to have a common languages to speak to one another,
digital devices and computers also need to have common 'languages' to be able to
communicate with one another. The binding function of 'common language' in cirg~tal
communication is performed by communication protocols.
1) Syntax: The'format of data being exchanged, character set used, type of error
correction used, type of encoding scheme (e.g., signal level) being used. For
'
example, a simple protocol may use first eight bit for address of sender, the
second eight bit for address of receiver and the rest of bit for message itself.
2) Semantics: Type and order of messages used to ensure reliable and error free
information transfer.
3) Timing: Define data rate sejection and correct timing for various events during Introduction to
data transfer. Simply when data should be sent and how fast they can be sent. Networking Concept
It has been accepted that the complexity of writing cornrnunication software can be
reduced by adapting the principle of protocol layering. The idea here is to partition
communication functions into a vertical set of layers. Each layer performs a related
set of functions. Division of work between layers is done in such a way that they are
manageable and provide a logical interface and break point. Each communication
layer provides certain services to layers above it and relies on the next lower layer to
perform more primitive functions. Each layer hides internal details from other layers.
Thus dividing the communication problem into several layers reduces its complexity
and makes the work of developing cornrnunication software a lot easier and error
The differences among different types of computer networks are usually based on
perspective. For example, computer networks are frequently classified by the geographical
area (LAN, MAN, WAN), their topologies (e.g., point to point or broadcast),or the type
of communication path they use and the manner in which data are transmitted across
this path (e.g., circuit-switched and packet-switched).
Computer networks are classified by the geographical area are:
1) Local Area Networks (LANs)
2) Metropolitan Network (MANS)
Ethernet Bridge
A LAN is a high-speed data network that covers a relatively small geographic area. It
typically connects workstations, personal computers, printers, servers, and other
devices, so that devices can communicate with each other to share resources. LANs
offer computer users many advantages, including shared access to devices and
applications, file exchange between collnected users, and communication between
users via electronic mail and other applications.
A Local Area Network is a system of computers that share resources such as disk
drives, printers, data, CPU power, fadmodem, applications, etc. They usually have
distributed processing, which means that there are many desktop computers
distributed around the network and that there is no central processor machine
(mainframe).
Operating System Location: In a building or individual rooms or floors of buildings or nearby buildings.
Fundamentals & Can be campus wide like a college or university.
LAN Characterisation
There are four key areas that characterise a local area network.
These are:
1) Transmission Medium a
2) Access Method
3) Topology
4) SignalingTechniques
LAN ~ e d i a - ~ c c e dMethods
s
Media contention occurs when two or more network devices have data to send at the
same time. Because multiple devices cannot talk on the network simultaneously, some
type of method must be used to allow one device access to the network media at a
time. This is done in two main ways: carrier senses multiple accesses collision detect
(CSMAICD) and token passing.
In networks using CSMAICD technology such as Ethernet, network devices contend
for the network media. When a device has data to send, it first listens to see if any
other device is currently using the network. If not, it starts sending its data. After
finishing its transmission, it listens again to see if a collision occurred.A collision occurs
when two devices send data simultaneously.When a collision happens, each device
waits a random length of time before resending its data. In most cases, a collision will
not occur again between the two devices. Because of this type of network contention,
the busier a network becomes, the more collisions occur. This is why performance of
Ethernet degrades rapidly as the number of devices on a single network increases.
In token-passing networks such as Token Ring and FDDI, a special network packet
called a token is passed around the network from device to device. When a device has
data to send, it must wait until it has the token and then send its data. When the data
transmission is complete, the token is released so that other devices may use the
network media. The main advantage of token-passing networks is that they are
deterministic. In other words, it is easy to calculate the maximum time that will pass
before a device bas the opportunity to send data. This explains the popularity of token-
passing networks in some real-time environments such as factories, where machinery
must be capable of communicating at determinable intervals.
For CSMAICD networks, switches segment the network into multiple collision
domains. This reduces the number of devices per network segment that must contend
for the media. By creating smaller collision domains, the performance of a network can
be increased significantly without requiring addressing changes.
Normally CSMAICD networks are half-duplex, meaning that while a device sends
information, it cannot receive at the same time. While that device is talking, it is
incapable of also listening for other traffic. This is much like a walkie-talkie. When one
person wants to talk, he presses the transmit button and begins speaking. While he is
talking, no one else on the same frequency can talk. When the sending person is
finished, he releases the transmit button and the frequency is available to others.
When switches are introduced, full-duplex operation is possible. Full-duplex works
much like a telephoneyou can listen as well as talk at the same time. When a
network device is attached directly to the port of a network switch, the two devices
may be capable of operating in full-duplex mode. In full-duplex mode, performance can
be increased, but not quite as much as some like to claiin.. However, full-duplex
operation does increase the throughput of most applications because the network
media is no longer shared. Two devices on a full-duplex connection can send data as Introduction to
soon as it is ready. Networking Concept
Token-passing networks such as Token Ring can also benefit from network switches.
In large networks, the delay between turns to transmit may be significant because the
token is passed around the network.
LAN Transmission Methods
For Transmission, LAN usually broadcast their message to all hosts on the LAN The
address in the packet or frame enables the destination to receive the packet, while the
rest of the hosts ignore the broadcast message.
LAN data transmissions fall into three classifications: unicast, multicast, and
broadcast. In each type of transmission, a single packet is sent to one or more nodes.
In a unicast transmission, a single packet is sent from the source to a destination on a
network. First, the source node addresses the packet by using the address of the
destination node. The package is then sent onto the network, and finally, the network
passes the packet to its destination.
A multicast transmission consists of a single data packet that is copied and sent to a
specific subset of nodes on the network. First, the source node addresses the packet
by using a multicast address. The packet is then sent into the network, which makes
copies of the packet and sends a copy to each node that is part of the multicast
address.
A broadcast transmission consists of a single data packet that is copied and sent to all
nodes on the network. In these types of transmissions, the source node addresses the
packet by using the broadcast address. The packet is then sent on to the network,
which makes copies of the packet and sends a copy to every node on the network
Topology: The most common LAN topologies are bus, ring, and star.
3.8.2 Metropolitan Networks (MANs)
Metropolitan Area Networks (MANs), as shown in Figure 4, are networks that
connect LANs together within a city.
Warehwse
The main criterion for a MAN is that the connection between LANs is through a local
exchange carrier (the local phone company) . The protocols that are used for MANs
are quite different from those used for LANs (except for ATM, which can be used for
both under certain conditions). It has been distinguished as a separate type of
network; because of the specific standard known as Distributed Queue Double Bus
(DQDB) that has been adopted for MAN. The DQDB comprises two unidirectional
buses for connecting computers.
T ,T I Router Router
L A
Figure 7: City to city, across a country or across a continent.
The rnairi difference between a MAN and a WAN is that the WAN uses Long Distance Introduction to
Carriers. Otherwise the same protocols and equipment are used as in MAN. Networking Concept
Main differences between a LAN and a WAN are given in the following Tablel.
Tablel: Difference between LAN and MAN
-
Wide area Network Local Area Network
May be managed by organizations LAN uses simple protocols and does not
independent of users employ any retransmission strategy for
lost frames
WAN uses complex protocols and
extej~siveerror recovery mechanisms Number of host on a LAN is limited
(usually up to 1024)
Number of node coinputers has no
theoretical limit and could be very large.
Tile practical limit comes from address-
ing schemes used to ide~itifjrindividual
system on the network and other
resource constrains.
1
Source1 Host1
Sender Receiver
..
Figure 81 O r t r Communication-1
I
t
I I I I
I I I I
DCE: The interface between the Source and the Medium, and the Medium and the
Receiver is called the DCE (Data Communication Equipment) (Figure 9) and is a
physical piece ofequipment.
DTE: Data Terminal Equipment is the telecommunications name given to the source
and receiver's equipment. Tt is any device that is a source of or destination for binary
digital data.
The DTE generates the data and passes them, through DCE. The DCE takes the generated
data by DTE and converts them to an appropriate signal. Then this signal is introduced to
telecommunication link. Most commonly used DCE is a modem, discussed in the section.
Data flow (transir7ission mode) is the flow of data between two points.
There are three types of dataflow (Figure 10): simplex, half duplex and full duplex.
Simplex: data flows in only one direction (Figure 11) on the data communication line
(medium). Examples are radio and television broadcasts. They go from the TV station Netw
to your home television.
'
TV
rransmitter
station 1 One direction
SIMPLEX
Half-Duplex: Data flows in both directions but only one direction at a time (Figure 12)
on the data communication line. Each of the stations can both transmit and receive. For
example; a conversation on walkie-talkie is a half-duplex data flow. Each person takes
turns talking. If both talk at once - nothing occurs!
Modems
Voice Channel
(Phclne Line)
Basic Definition
Digital Connection
T@XD(2) T'xD O
RXD (3).
0-4kHzBW
Analog
Voice Band
Modem
The modem converts digital information into tones (frequencies) for transmitting
through the phone lines.
ExternalIInternal Modems
There are 2 basic physical types of mode'ms: Internal & External modems. External
modems (Figure 17) sit next to the computer i~ndconnect to the serial port using a
straight-through serial cable.
Serial Cable
External
Modem
Internal modems (Figure 18) are a plug-in circuit board that sits inside the computer. It
incorporates the serial port on-board. They are less expensive than external modems
because they do not require a case, power supply and serial cable. They appear to the
communication programs as if they were an external modem for all practical purposes.
------- a if~ it
Internal ~ ~ d Ie *n ~~ p as
were an External
(2) Short Haul Modem: A modem used to transmit data over 30 km or less. Modems
we use at home or to connect computers together among different offices in the
same building are short haul modems.
(3) Acoustic Modem: A modem that couples to the telephone handset with what looks
like suction cups that contain a speaker and microphones. Used by travelling sales
people to connect to hotel phones.
(4) Smart Modem: A modem with a CPU (microprocessor) on board that uses the
Hayes AT command set. This allows auto-answer & dial capability rather than
manuallv dialine & answering.
(6) V.32 Modem: A milestone modem that uses a 2400-baud modem with 4 bit
encoding. This results in a 9600 bps (bits per second) transfer rate.
Baud (Figure 19) is the speed at which the analog data is changing on the voice
channel and bps is the speed at which the decoded digital data is being transferred.
Features of Modems
(1) Speed: The speed at which the modem can send data in bps (bits per second).
bps.
(2) Auto DialIRe Dial: Smart modems can dial the phone number and auto re dial if a
busy signal is received.
(3) Auto Answer: Most modems have Ring Detect capability and can automatically
answer the telephone when an incoming call comes in.
(4) Self-Testing: Newer modems have self-testing features. They can test the digital
connectio~~ to the terminallcomputer and the analog connection to a remote
modem. Thcv call also check the modem's internal electronics.
(5) Voice Over Data: Voice Over Data modems allow a voice conversation to take
place while data is being transmitted. This requires both the source and
destination modems to have this feature.
Introduction to
Networking Concept I
(6) Synchronousor Asynchronous Transmission: Newer modems allow a choice of
synchronous or asynchronous transmission of data. Normally, modem
transmission is asynchronous (we send individual characters with just start and
stop bits). Synchronous transmission or packet transmission is used in specific
The physical connection determines how many bits (1's or 0's) can be transmitted in
a single instance of time. If only 1 bit of information can be transmitted over the
data transmission medium at a time then it is considered a serial communication
Receives
I ~ i arr a rime
1 bit at a time
If more than 1 bit of information is transmitted over the data transmission medium at a
time then it is considered a parallel communication (Figure 21). By grouping, we can
send data n bits at a time instead of one, through n wires.
Data Traosm~ssionMedium - 8 W i n s
0- 0-
Sends ~n ~n Receives
Parallel Data 0- 0- Parallel Data
8bitsatarime 0- 0- 8 bits at a tin
Byte: OlM 1010 ~n
0-
1J l Byte: 0100 1010
Separate wire D- Separate w i r ~
L
n
for each bit! 0- for each bit!
0-
Trans~nissionMedia
Unguided
Guided transmission uses a cabling system that guides the data signals along a specific
path. The data signals are bound by the cabling system. Guided media is also known as
bound media. "Cabling" is meant in a generic sense, and is not meant to be interpreted
as copper wire cabling only. Guided media are commonly used for point-to-point
connection. The cllaracteristics of the medium mainly decide the nature and quality of
transmission. Guided media are commonly used for LAN application.
a) Open Wire
b) Twisted Pair
C) Coaxial Cable
d) Optical Fiber
Open Wire
Open wire 1s (Figure 23) traditionally used to describe the electrical wire strung along
power poles. There is a single wire strung between poles. No shielding or protection
from noise interference IS used. We are going to extend the traditional definition of
open wire to include any data signal path without shieldingor protection from noise
' interference. This can include multi conductor cables or single wires. This medium is
susceptible to a large degree of noise and interference and consequently is not
acceptable for data transmission except for short distalices of less than 20 ft.
Twisted Pair
The wires in twisted pair (Figure 24) cabling are twisted together in pairs. Each pair
consists of a wire used for the +ve data signal and a wire used for the -ve data signal.
Each pair is twisted together to minimize electromagnetic interference between the
pairs.Ar1y noise that appears on 1 wire of the pair will also occur on the other wire.
Because the wires are opposite pojarities, they are 180 degrees out of phase (180
degrees - phasor definition of opposite polarity). When the noise appears on both
wires, it cancels or nulls itself out at the receiving end.
Coaxial Cable
Coaxial cable (Figure 26) consists of two conduotors. The inner conductor is held I
inside an insulator with the other conductor woven around it providing a shield. An
insulating protective coating called a jacket covers the outer conductor.
The outer shield protects the inner conductor from outside electrical signals. The
distance between the outer conductor (shield) and inner conductor plus the type of
material used for insulating the inner conductor determine the cable properties or
impedance. Typical impedances for coaxial cables are 75 ohms for Cable TV, 50 ohms
for Ethernet Thinnet and Thicknet. The excellent control ofthe impedance
characteristics of the cable allow higher data rates to be transferred than with twisted
pair cable.
Optical fiber
Optical fiber consists of thin glass fibers that can carry information at frequeit-ies in
the visible light spectrum and beyond. The typical optical fiber consists of a very
Typically Cladding has a diameter of 125 microns. Coating the cladding is a protective
coating consisting of plastic, it is called the Jacket.
Optical fibers work on the principle that the core refracts the light and the cladding.
reflects the light. The core refracts the light and guides the light along its path. The
100 100
John Ware I
Building I I Building
I I
Typically, repeaters are used to connect two physically close buildings together (when
they are too far apart to just extend the segment). They can be used to connect floors
of a building that would normally surpass the maximum allowable segment length.
Note: for large extensions, as in the above example, two Repeaters are required. For
shorter extensions, only one Repeater may be required.
Physical Physical
100
I
A B C Rep-er I 13 E F
1
100
1, ,I rTP7,
I loo
I
Floor 5 I Floor 1
Network Node
Star Topology
The Hub is installed in a central wiring closet (Figure 3 1) with all the cables extending
out to the network nodes. The advantage of having a central wiring location is that it is
easier to maintain and troubleshoot large networks. All of the network cables come to
the central hub. This way, it is especially easy to detect and fix cable problems. You
can easily move a workstation in-a star topology- by changing the connection to the
hub at the central wiring closet.
Wice #1 Office #2 mice #3 Office #4 Office #5
3.13.3 Bridges
Bridges have all the features of the repeater. Besides regenerating the signals, a bridge
can segment (or divide) a network to isolate traffic related problems. A bridge sends
the data frames only to the concerned segment, thus preventing excess traff~c.A
bridge can split an overloaded network into two separate networks, reducing the
amount of traffic on each segment and thus making each network more efficient. Just
like repeaters, the bridges can be used to link different physical media. Bridges can
also be used to connect dissimilar networks like Ethernet system to a Token Ring
system. Thus bridges can be used to join networks using CSMAtCD access and token
passing access.
Bridges are both hardware and software devices. They can be standalone devices -
separate boxes specifically designed for bridging applications- or they can be
dedicated PCs (with 2 NlCs and bridging software). Most server software will
automatically act as a bridge when a second NIC card is installed.
Bridge OSI Operating Layer
Bridges (Figure 34) operate on the OS1 Model Data Link Layer, while repeaters work
at the physical layer. Since bridges work on a higher layer than repeaters, they are
more complex than repeaters and cost more than repeaters. They look at the MAC
addresses for Ethernet and Token Ring, and determine whether or not to forward--or
ignore-a packet.
Router
Bridges have their own routing tables. Initially the bridge's routing table is empty. As
nodes send packets, the source address is copied to the routing table. With this address
information, the bridge learns where the computers are situated. When any packet is
received by a bridge it reads its source and destination address. If the bridge knows the
location of the destination node it forwards the packet to the segment on which the
destination node is situated. If it does not know the destination, it forwards the packet
to all the segments.
Purposes of a Bridge
The purposes of a Bridge are the following:
Isolates networks by MAC addresses
Manages network traffic by filtering packets
Translates from one protocol to another
Isolates networks by MAC addresses Introduction to '
Networking Concept
For example, you have one segment called Segment 100: it has 50 users (in several
departments) using this network segment. The Engineering Dept. is CAD (Computer
Aided Design) -oriented, while the Accounting Dept. is into heavy number crunching
(vear end reports, month end statements, etc.).
100 100
Accounting I "Other" I Engineering
I ~ P L
Dept I I D~P
On this network, any traffic between Clients A, B or C and the Accou~ltingFile Server
(in the Accounting Dept.) will be heard across the Segment 100. Likewise, any traffic
between the Engineering Dept. clients G, H or I (to the CAD File Server) will be
heard throughout the Network Segment. The result is that "Other" Department
accesses to the Generic File Server are incredibly slow: this is because of the
unnecessary traffic that is being generated from other departments (Engineering &
Accounting).
The solution is to use one Bridge (Figure 36) to isolate the Accounting Dept., and
another bridge to isolate the Engineering Department. The Bridges will only allow
packets to pass through that are not on the local segment. The bridge will first check
its "routing" table to see ifthe packet is on the local segment. If it is, it will ignore the
packet, and not forward it to the remote segment. If Client A sent a packet to the
Accounting File Server then Bridge # I will check its routing table (to see if the
Accounting File Server is on the local port). If it is on the local port, then Bridge #1
will not forward the packet to the other segments.
I I
Accounting I Generic I CAD
, File Server I ,, ,File Server1 Fileserver , .. .
100
Accounting
ha1 ~anotc
II "Other" iaaa Engineering 100 I
If Client A sent a packet to the Generic File Server, Bridge #1 will again check its
routing table to see if the Generic File Server is on the local port. If it is not, then
Bridge #1 will forward the packet to the remote port.
Note: The terms local and remote ports are arbitrarily chosen to distinguish between
the two network ports available on a bridge. R1 I
Operating System In this manner, the network is segmented, and the local department traffic is isolated
Fundamentals & from the rest of the network. Overall network bandwidth increases because the
Networking
Accounting Dept. does not have to fight with the Engineering Dept. (for access to the
segment). Each segment has reduced the amount of traffic on it and the result is faster
access. Each department still has complete access to the other segments, but only
when required.
3.13.4 Routers
A router is a special -purpose computer having a processor (CPU) and memory like
any other computer. But unlike any other computer, it has more than one 110 interface
that allows it to connect to multiple computer networks.
Routers are both hardware and software devices. Just like bridges, Router can connect
network segments and filter and isolate traffic. Unlike a bridge, a router can connect
networks that use different technologies, addressing methods, media types, frame
formats, and speeds. Routers are used in complex network situations because they
provide better traffic management than bridges. A router keeps track of the address of
all the segment of a network and can even determine the best path for sending data.
Routers do not pass broadcast traffic.
Like bridges, the routers also maintain routing tables in their memories to store
information about physical connections on the network. The router examines each
packet of data, checks the routing table , and then forwards the packet if necessary.
Routers are more inelegant than bridges, as routers can share status and routing
information with one another and use this information to bypass slow or malfunctioning
connections. Routers do not maintain any state information about the packets; they
simply move them along the network. Routers are usually employed by wide area
networks using dissimilar addressing schemes and different communication protocols.
Routers do not allow bad data to get passed on to the network. Thus they save
networks from broadcast storms.
There are two types of routers - static routers and dynamic routers.
Static routers require an administrator to manually set up and configure the routing
table and to specify each route.
Dynamic routers maintain a routing table automatically and require minimal set up and
configuration.
Router OSI Operating Layer
Routers operate on the OSI Model's Network Layer as shown in Figure 37. The
Internet work must use the same Network Layer protocol. Routers allow the
transportation of the Network Layer PDU through the Internetwork, even though the
Physical and Data Link Frame size and addressing scheme may change.
Bridge
Daralink Daralink
Physical Physical
a Computer network is classified into three types: LAN, MAN and WAN.
a The most familiar type of DCE is the modem that modulates and demodulates
signals.
Guided transmission media use a cabling system that guides the data signals
along a specific path.
Unguided transmission media consist of a means for the data signals to travel
but nothing to guide them along a specific path.
Repeater is a device that operates at the physical layer, bridge at the data link
layer, router at the network layer and Gateway at all seven layers of the OSI
model.
3.15 SOLUTIONS/ANSWERS
Check Your Progress 1
Noise immunity: RFI and EM1 immune (RFI - Radio Frequency Interference,
EM1 -Electromagnetic Interference) Because fiber -optic transmission uses
light rather than electricity, noise is not a factor.
No corrosion.
The main advantage of bus topology is that it is quite easy to set up. Any
workstation can be easily moved to another location as bus runs throughout the
office. Another benefit of this layout is that if one computer on the bus fails, it does
not affect the rest of the traffic on the bus.
A network with bus topoiogy cannot become too big as all the traffic is on a single
bus. The entire network can be down only if the bus has a break. The open ends of
the bus must be terminated to prevent signal bounce. If one or both ends of the bus
are not terminated, the whole network can be down.
Mesh Topologies
In a mesh topology, every node has a dedicated point-to point link to every other
node. Simply dedicated means that the links carry traffic only between the two
nodes. So mesh topology ddes not have traffic congestion problems. Every node
has n-1 link, for a fully connected mesh topology having n nodes. So total number of
links will be n (n-l).This also means that every node has (n-1) I10 ports
1) Use of dedicated links guarantees that each connection can carry its own data
load. This eliminates the traffic problem.
2) If one link fails, it does not affect the rest of network. This means it is robust.
3) Point to point links make fault identification and fault isolation easy.
4) Privacy or security is high; as any other link cannot gain access to dedicated link
where the message is travailing.
1) More cabling and I10 ports are required, because every node must be connected
to every other node.
2) Cost is very high, because more number of nodes and cabling required.
4.0 INTRODUCTION
An internetwork is a collection of packet-switching and broadcast networks,
connected by bridges, switches, or routers which are intermediate networking
devices, that functions as a single large network. So a11 users and devices can
communicate, regardless of the network segment to which they are attached.
Figure I illustrates some different kinds of network technologies that can be
interconnected by routers and other networking devices to create an internetwork.
Figure 1: Internetworking
Operating System In this unit we will explain the concepts, architecture and protocols of internetworking.
Fundamentals &
Networking
4.1 OBJECTIVES
After going through this unit you should be able to:
In the late 1970s, the networking community came together in an effort to replace
these closed systems with open systems. They wanted that all networking products
should be conipatible with other vendor products. The International Standards
Organisation (ISO) developed Open Systems Interconnection (OS1) reference model
for networking the model gives guidelines about how the parts of a network
communication system should work together.
Layer 7-Application
Layer 6-Presentation
Layer 5-Session
Layer 4-Transport
Layer 3-Network
Layer 2-Data link
Layer 1-Physical
Internehorking:
Concept, Architecture
and Protocols
Presentation
In the datagram approach, each packet is treated independently and may follow a
different path through the network. Packets may be re-ordered, dropped or
delivered in wrong sequence. The communication protocols will have to provide
error recovery and sequencing of packets at the destination.
In the virtual circuit approach, a tixed logical path through the network from
sender to destination is established before any packets are sent. This path remains
unchanged for the duration of the connection or session. Although no resources
are reserved along the path, packets are buffered at intermediate nodes awaiting
transmission.
Thus, a virtual circuit only defines a path for packets to follow without actually
reserving dedicated channels along the route as is the case with circuit switching.
Virtual circuit may provide a number of services including sequencing, error control
and flow control.
Operating System In comparing datagram and virtual circuit switching with other switching technologies,
Fundamentals & there are several factors to be considered. First of all, packet switching is faster
because messages are not stored in their entirety for later retrieval. Each packet is
small enough to be stored in a router's machine memory until it can be routed an
instant later. Secondly, packet switching allows the avoidance of route failure due to
excessive traffic loads. This is accomplished by routing packets along routes that are
the most free and clear. Thirdly, packet switching spreads the load of communication
across several paths.
The motivation for adopting packet switching are cost and performance. Because
multiple machines can share network fewer interconnections are required an'd cost is
kept low. Packet switched networks that span large geographical distances are
fundamentally different from those that span short distances. To help characterize the
differences in capacity and intended use, packet switched technologies are often
divided into three broad categories: Wide Area Network (WAN), Metropolitan Area
Network (MAN) and Local Area Network. There are structural protocols for each
category. In the next section we will examine one such protocol.
You might suspect that gateways, which must know how to route packets to their
destination, are large machines with enough primary or secondary memory to hold
information about every machine in the internet to which they attach. However,
gateways used with TCP/IP internets are usually minicomputers; they often have little
or no disk storage and limited main memories. The trick to building a small internet
gateway lies in the following concept:
For Windows NT
Settings
Control Panel
Network
Select Properties
3) You will see a dialog box in which you can enter the IP address and subnet mask.
Windows NT, by default, uses the appropriate directed broadcast address of 144.19.255.255
based on the subnet mask that you specify.
4.7 TCPJIP
Perhaps no other protocols designed to work above the Data Link and Physical OSI
layers are as popular as TCPIIP. That's primarily because this global protocol suite
has been used by and continually promulgated by thousands of government and
educational institutions world-wide.
The Transmission Control Protocol (TCP) and the Internet Protocol (IP) are
commonly referred to collectively as TCPIIP. TCP represents a transport layer
protocol that provides end to end reliable transmission. To do so, TCP includes such
functions as flow control, error control, and exchange of status information. In
comparison, IP represents a connectionless-modenetwork layer protocol designed to
route message between networks. In addition to TCP, the Internet suite specifies an
optional connection less -mode layer 4 transport protocol known as the User
Datagram Protocol(UDP).UDP is used for transaction - based applications, such as
transmission of network management information when transmission efficiency is
more important than reliability.
Figure 5 illustrates the layering structure of the TCPIIP protocol suite to include a
few of the application services included in the suite.
Application Layer
Transport Layer
Internet Layer
Host-to-Network
Layer
TCPIIP is not a single protocol but a set of more than a dozen protocols. Each protocol
within the TCPIIP family is dedicated to a different task. All the protocols that make up
TCPIIP use the primary components of TCPIIP to send packets of data.
Transmission Control PrvLocoland Internet Protocol are two ofthe primary protocols in
the TCPIIP family. The different protocols and services that make up the TCPIIP
family can be grouped according to their purposes. The groups and their protocols are
the following:
1 Transport: These protocols control the movement of data between two macliines.
1) What is a packet?
2) Which layer of the OSI model has been divided into two sublayers, and what
are they?
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
4) Describe how a TCP message gets from one place to another in step sequence?
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
FTP File Transfer Protocol allows the transfer of copies of files between one
node and another. FTP is not hardware-dependent so its services can function
just about anywhere. Using this utility to copy data is typical ly referred to as
"FTPing" a file.
SMTP Simple Mail Transfer Protocol is the middleman that uses UDP to
move data around from one inter~ietworkhost to another. Applications run on
both hosts that make use of SMTP.
ICMP Internet Control Message Protocol offers flu\\ control and error-
detection to the unreliable delivery method of IP. It prcn,idcsa facility for
routers and gateways on the net to communicate with a source if there is a
problem. It also provides a mechanism for determining if a destination cannot
be reached.
Most hosts have a utility program, generally also called FTP, which provides an
interactive command line interface to run an FTP session. . FTP clients can also be
integrated in other applications, such as web browsers. Anonymous FTP is a special
form of file transfer service that allows public access to files at an FTP server. An
FTP client can establish an anonymous FTP session by supplying the user name
"anonymous" and an arbitrary password (The FTP server usually requests to supply
an email address as password).
FTP employs TCP as its transport protocol, thereby ensuring a reliable transfer of
transmitted data. Two TCP connections are established for each FTP session, called
control connection and data connection The control connection is used for commands
from the client and messages from the server. The data connection is used for the
transport of files. FTP server uses the well-known TCP port 2 1 for the control
connection, and the well-known TCP port 20 for the data connection, and an FTP
client selects available ephemeral port numbers. The control connection is established
at the beginning of the FTP session and stays up for the entire lifetime of the session.
The control connection is used by the FTP client for authentication, for setting various
session parameters, and for commands to download or upload files. The data
connection is opened and closed for each transfer of a file or file list. As soon as a file
or a file list has been transferred, the data connection is closed. If there is another file
transfer, the data connection is re-opened. By default, the data connection is
established upon request by the FTP server. The FTP client starts a TCP server that
waits for a connection on an ephemeral port, and sends the port number of this p c r ~on
the control connection to the FTP server. After the FTP server receives the port, it can
request a data connection to the FTP client. A security concern with FTP is that the
user name and the password submitted by the FTP client on the control collne~tionat
the beginning of an FTP session are not encrypted. Therefore, anyolie with the abil~ty
to capture traffic from an FTP client can obtain the user name and password used by
an FTP client.
The FTP client sends commands to the FTP server, and the FTP server responds
with a three-digit response code and an explaining text message. The commands from
the FTP client as well as the responses from the FTP server are transmitted as ASCII
Characters. 13 The end of a client command and the end of a server response is
represented by an end-of-line sequence, which consists of the ASCII special
characters Carriage Retgrn (ASCII 10) followed by Line Feed (ASCII 13). When the
TCP connection to TCP port 21 of the FTP server is established, the FTP server sends
a message that it is ready to interact on a new FTP session. Then, the user supplies a
user name and a password. If the authentication is succc;ssfi~l,tiie user sends the I!'
address and port number of its ephemeral port for the data con~~ectiorr. The IP ciJdress
and port number is sent in dotted-decimal notation, where the first four numbers
specify the 1P address and the last two numbers specify the port number. By default, Internetworking:
tiles are transmitted as text files using ASCII characters. However, the FTP client can Concept, Architecture
and Protocols
change this default so that files are transmitted bit-by-bit without any interpretation.
When the file transfer has been completed, the FTP server sends a message to the
FTP client. At this 13 ASCII (American Standard Code for Information Interchange) is
an encoding format for textual data, which represents an alphanumeric character or
special character by seven bits. Application-layer protocols transmit each ASCII
character in a byte (octet) with the most significant bit set to zero. TheFTP client can
download or upload another files, or end the FTP sessions by issuing the command
"Quit".
TFTP uses the unreliable transport protocol UDP for data transport, whereas FTP uses
TCP. Each TFTP message is carried in a separate UDP datagram. The first two bytes
of a TFTP message specify the type of message, which can be a request to download
a file, request to upload a file, a data message, or an acknowledgement or error
message. A TFTP session is initiated when a TFTP client sends a request to upload or
download a file from an ephemeral UDP port to the (well-known) UDP port 69 of a
TFTP server. When the request is received the TFTP server picks an ephemeral UDP
port of its own and uses this port to communicate with the TFTP client. Thus, both
client and server communicate using ephemeral ports.
Since UDP does not recover lost or corrupted data, TFTP is responsible for
maintaining the integrity of the data exchange. TFTP transfers data in blocks of 5 12
bytes. Each block is assigned a 2-byte long sequence number and is transmitted in a
separate UDP datagram. A block must be acknowledged before the next block can be
sent. When an acknowledgment is not received before a timer expires, the block is
retransmitted.
4.9.3 TELNET
Telnet is a remote login protocol for executing commands on a remote host. The Telnet
protocol runs in a client-server mode and uses the TCP protocol for data transmission.
A client initiates a Telnet session by contacting a Telnet server at a remote host.
Recently, the use of Telnet in public networks has been discouraged since Telnet does
not offer good protection against third parties that can observe ("snoopy7)traffic
between a Telnet client and a Telnet server. At the Telnet client, a character that is
typed on the keyboard is not displayed on the monitor, but, instead, is encoded as an
ASCII character and transmitted to a remote Telnet server. At the server, the ASCII
character is interpreted as if a user had typed the character on the keyboard of the
remote machine. If the keystroke results in any output, this output is encoded as
(ASCII) text and sent to the Telnet client, which displays it on its monitor. The output .
can be just the (echo of the) typed character or it can be the output of a command that
was executed at the remote Telnet server.
Telnet uses a single TCP connection for communications. The Telnet server uses
the well known TC:P port 23 and the Telnet client uses an ephemeral TCP port.
After establishin8 the TCP connection, the Telnet client and server negotiate a set
Operatlog System of parameters for the Telllet session, including terminal type, line speed, iftyped
Fundamentals & characters'should be echoed to the client or not, and so on. Unless a Telnet
Networking
session is explicitly configured not to do so, Telnet client sends one TCP segment
for each typed character. Telnet provides some independence from the
differences of hardware and software at hosts by mapping input and output to a
virtual device, called Network Virtual Terminal (NVT) or pseudo terminal. The
Telnet client and Telnet server map the input from a keyboard and the output to a
monitor to the ASCII character set. Thus, before a character is sent over the
network it is encoded as ASCII character. Also, when an ASCII character is
received on tlie TCP connection, the receiving host interprets the character and
translates it into its local character format.
The Secure Shell suite of protocols provides application layer services for remote
login and file transfer services, similar to FTP, Telnet, rlogin, rsh, and rcp, but ensures
secure encrypted communications between untrusted hosts. All components of Secure
Sliell provide authentication, confidentiality, and integrity of data, using a variety of
encryption and authentication algorithms, and protect against common attacks on the
security or integrity of co~nmunicationsbetween hosts.
A user on a host prepares an email on a mail preparation program, called a user agent.
Examples of user agents on Unix operating systems are mail, xmail, elm, or pine 14.
Email messages are written in plain text and users can add non-text files to an email
message. The user agent passes the email to a mail server, where the message is
queued for transmission., the user agent and the mail server are on the same'host, but
it is also possible that they are on different hosts. The mail server uses the application-
layer protocol SMTP (Simple Mail Transfer Protocol) to transmit the email message to
the mail server of the receiver of the email. The sending mail server uses DNS, the
domain name service, to locate the correct remote mail server. In addition to
translating host names into IP addresses, DNS also provides the IP addresses of mail
servers. For the email ,the mail server at Host A queries DNS for the IP address of the
mail server that is responsible for tlie domain of the email receiver. Once the IP
address of the remote mail server is obtained, the sending mail server starts an SMTP
client and initiates a TCP connection to the SMTP server of the remote mail server at
the.wel1-known TCP port 25. As soon as the TCP connection is established, the SMTP
client and server exchange SMTP commands and transfer the email message. These
are user agents for hosts with a UNJX operating system. Commands and the email
message are transmitted as plain text using ASCII characters. If an email message
contains parts that are not text files, these parts are converted to ASCII characters
using the end-of-line sequence to indicate the end of a command. The SMTP client Internetworking:
issues commands to the server, and the server responds to each command with a Concept, Architecture
and Protocols
three-digit response code and explaining text. Aftzr the TCP connection is established,
the remote mail server sends a brief message.
411 email message may traverse multiple SMTP servers before reaching its destination.
For example, on most networks a single host is dedicated to handle all outgoingemail
messages for all hosts of the network. In this case, all hosts forward their outgoing
email message to the dedicated mail server, which relays the elnails to the proper
destinations. Also, in many networks, the receiving mail server does not have access to
the receiver's mailbox, and relays incoming messages to the mail server on a host
where the receiver's mailbox resides. When a mail server relays an email message, it
adds lines to the header of an email message. These lines can be used by the receiver
of an email message to trace the path of an incoming email. A mail server adds
incoming emails to the mailbox of a user, and assumes that the user has aLcess to the
mailbox. Often, however, a user is not permanently connected to its mail server. In
such situations, the user can employ mail access protocols to retrieve mail messages
from their mailboxes at a remote host. Currently, two popular mail access protocols are
in wide use: Post Office Protocol Version 3 (POP3) and Internet Mail Access Protocol
([MAP). Mail access protocols are generally integrated as a component of the user
agent.
For outgoing messages, the user agent at Host X still uses SMTP. , The SMTP client
of the user agent at Host X connects to the SMTP server of Host A. Here, Host A
acts as a relay and forwards the message to the mail server of the email receiver.
Alternatively, the SMTP client at Host X can directly connect to the mail server of the
receiver.
Browser-based Emails
Browser based emails allow user to access emails through web browser. The user
agent (the web browser) is used HTTP (not POPIIMAP) for the interaction between
the browser and email server. When a user wants to send or view the received mail,
the browser sends all such commands in the form of HTTP
Traditional email systems are text based. Multipurpose Internet Mail extensions
(MIME) system extends the basic elnail system by permitting users to send binary file,
e.g., multimedia file, any other arbitrary format
When activated, the browser retrieves the document that is referenced in tlie
hyperlink. A Web browser makes it convenient to access a variety of documents at
different web servers, which refer to each other by hyperlinks, thus, providing users
with a feeling of navigating a global database of documents. On the Web, tlie location
of a document is expressed in terms of a Uniform Resource Locator (URL). A URL
specifies a unique location for a document on the web. It can reference an HTML
document, but also any other file that can be accessed with a Web browser. An
example of a URL is http://www.ignou.ac.in/index.html, which specifies that an
HTML document with name index.htnz1 can be accessed via the protocol HTTP
from a host with the name www.ignou.ac.in
hostname
hostname 1
IP a d d r e s s
9
send IP da agram
to the host
The primary goal is a consistent name space, which w ~ ibel used for referring to
resources. Names should not be required to contain network identifiers, addresses,
routes, or similar information as part of the name. Name space should be maintained in
a distributed manner, with local caching to improve performance. Mechanisms for
creating and deleting names; these should also be distributed.
The costs of implementing such a facility dictate that it is generally useful, and not
restricted to a single application. We should be able to use names to retrieve host
addresses, mailbox data, and other as yet undetermined information. All data
associated with a name is tagged with a type, and queries can be limited to a single
type.
4) OSIArchitecture independent
Design Principles
.
Hierarchy: The name space as well as management space should be hierarchical.
The name space can be represented as a tree with the root label as a null string. The
domain name system uses a hierarchical naming scheme known as domain names,
which is similar to the Unix file system tree. The root ofthe DNS tree is a special node
with a null label. The name of each node (except root) has to be up to 63 characters.
The domain name of any node in the tree is the list of labels, starting at that node,
working up to the root, usinga period ("dot") to separate the labels (individual sections
of a name might represent sites or a group, but the domain system simply calls each
section a label). Thus, the domain name "ignou.ac.in" contains three labels: "ignou",
"ac", and "in". Any suffix of a label in a domain name is also called a domain. In the
above example the lowest level domain is "ignou.ac.in" (the domain name for the
IGNOU in India), the second level domain is "ac.inY'(the domain name for Academic
organizations of India), and the top-level domain (for this name) is "in" (the domain
name for India). The node in is the second level node (after root) (Figure 7).
Caching: A fundamental property of the DNS is caching. That is, when a name server
receives information about a mapping, it caches that information. Thus a later query for
the same mapping can use the cached result. The DNS uses the caching for optimizing
search cost. Caching is required as otherwise there will be:
long time for lookup
congestion at the root server
Every server has a cache for recently used names as well as a record of where the
mapping information for that name was obtained. When a client asks the server to
resolve certain name the server does as follows:
1) Check if it has authority for the name. If yes, the server doesn't need caching
information.
2) If not, the server checks its cache whether the name has been resolved recently.
If yes, the server reports the caching information to its clients.
Wc can examine the cache when the server cashed the information once, but didn't Internetworking:
ch:rnge it. Since information about a particular name can change, the server may Concept, Architecture
and Protocols
have incorrect information in its caching table. The Tiine to Live (TTL) value is used
to decide when to age information. Whenever an authority responds to a request, it
includes a TTL value in the response, which specifies how long it guarantees the
binding to remain.
DNS Architecture
k:
NAME SERVERS are server programs, which hold information about the domain
tree's structure and set information. A name server may cache structure or set
information about any part of the domain tree, but in general a particular name server
has complete information about a subset of the domain space, and pointers to other
name servers that can be used to lead to information from any part of the domain
tree.
REVOLVERS are programs that extract information from name servers in response
to client requests. Revolvers must be able to access at least one name server and use
that name server's information to answer a query directly.
Data in the DNS co~lsistsof Resource Records. There exists a data type for each
record. It is of the form (A, MX) where A is the 32-bit IP address, MX is a 16-bit
value along with a host name which acts as the mail exchange for the domain. DNS
can be used for both forward lookup (host name to 1P address) and reverse lookup
(IP address to host name). Name space has an entire subtree for reverse
n1apping.e.g. 1NADDR.ARPA for reverse lookup
DNS Zones
The zone (Figure 8) is a subtree of the DNS that is administered separately.
Whenever a new system is installed in a zone, the DNS administrator for the zone
allocates a name and an IP address for the new system and enters these into the
name server's database. W~thina zone DNS service for subsidiary zones may be
Zones are contiguous regions of the name space, where each can be forked into sub
zones. Each of these sub zones can have its independent management.
For example, the IGNOU zone has 2-sub zones cse and lib, which have their own
management.
ROOT
A name server can support multiple zones; several sub zones can use the same name
server. Name servers have pointers among each other.
Operating System Remarks on DNS
Fundamentals &
Networking DNS uses datagram based access, although a DNS query requires reliability, TCP
is not used, as it is a query response mechanism.
Network management system contains two primary elements: a manager and agents.
The Manager is the console through which the network administrator performs
network management functions. Agents are the entities that interface to the actual
device being managed. Bridges, Hubs, Roilters or network servers are examples of
managed devices that contain managed objects. These managed objects might be
hardware, configuration parameters, performance statistics, and so on, that directly
relate to the current operation of the device in qilestion. These objects are arranged in
what is known as a virtual inforliiation database, called a managenlent information
base, also called MIB. SNMP allow u u
SmIP
?.gent
Neturork
Engine
Query agents
Get responses from agents
Set variables in agents
Acknowledge asynchronous events from agents
SNMP uses the User Datagram Protocol (UDP) as the transport protocol for
passing data between managers and agents. UDP was chosen over the Transmission
Control Protocol (TCP) because it is connectionless; that is, no end-to-end
connection is made between the agent and the NMS when datagranzs (packets) are
sent back and forth. This aspect of UDP makes it unreliable, since there is no
acknowledgment of lost datagrams at the protocol level. It's up to the SNMP
application to determine ifdatagrams are lost and retransmit them if it so desires. This
is typically accomplished with a simple timeout. The NMS sends a UDP request to an
agent and waits for a response. The length of time the NMS waits depends on how it's
configured. If the timeout is reached and the NMS has not heard back from the agent,
it assumes the packet was lost and retransmits the request. The number of times the
NMS retransmits packets is also configurable.
At least as far as regular information requests are concerned, the unreliable nature of
UDP isn't a real problem. At worst, the management station issues a request and
never receives a response. For traps, the situation is somewhat different. If an agent
sends a trap and the trap never arrives, the NMS has no way of knowing that it was
ever sent. The agent doesn't even know that it needs to resend the trap, because the
NMS is not required to send a response back to the agent acknowledging receipt of
the trap.
The upside to the unreliable nature of UDP is that it requires low overhead, so the
impact on your network's performance is reduced. SNMP has been implemented over
TCP, but this is more for special-case situations in which someone is developing an
agent for a proprietary piece of equipment. In a heavily congested and managed
network, SNMP over TCP is a bad idea. It's also worth realizing that TCP isn't magic,
and that SNMP is designed for working with networks that are in trouble-if your
network never failed, you wouldn't need to monitor it. When a network is failing, a
protocol that tries to get the data through but gives up if it can't is almost certainly a
better design choice than a protocol that will flood the network with retransmissions in
its attempt to achieve reliability.
SNMP uses the UDP port 161 for sending and receiving requests, and port 162 for
receiving traps from managed devices. Every device that implements SNMP must use
these port numbers as the defaults, but some vendors allow you to change the default
ports in the agent's configuration. If these defaults are changed, the NMS must be
made aware of the changes so it can query the device on the correct ports.
Figure 11 shows the TCPIIP protocol suite, which is the basis for all TCPIIP
communication. Today, any device that wishes to communicate on the Internet (e.g.,
Windows NT systems, Unix servers, Cisco routers, etc.) must use this protocol suite.
This model is often referred to as a protocol stack, since each layer uses the
information from the layer directly below it and provides a service to the layer directly
Concept, Architecture
and Protocols I
..............................................................................................................................
3) Can a server will work as an FTP server and a webserver?
..............................................................................................................................
4) Multiple choice
a) TRUE
b) FALSE
ii) If I wanted to login to a host computer via the Internet, I would use
a) telnet
b) traceroute
c) snmp
iii) To determine if another computer was reachable (alive), the utility I could use is
b) nslookup
c) telnet
iv) My computer is very slow. 1 wish to take advantage of a much faster computer
on the network and have my program run there. Which of the following would I
use?
b) snmp
C) rsh
b) ping
c) rsh
I wish to gain some statistics fro111a network server about the number of data Internetworking:
packets being sent and received. Which ofthe following should I use? Concept, Architecture
and Protocols
a) snmp 1;
bj telnet
c) rsh
d) ftp
4.13
- SUMMARY
This unit introduced the building blocks on which internetworks are built. Internetworks
are complex systems that, when viewed as a whole, are too much to understand. Only
by breaking the network down into the collceptual pieces can it be easily understood.
As you read and experience internetworks, try to think of them in terms of OSI layers
and conceptual pieces.
Understanding the interaction between various layers and protocols makes designing,
configuring, and diagnosing internetworks possible. Without understanding of the
building blocks, you cannot uilderstand the interaction between them.
Assigning Internet address to the nodes on the network is a very common task you will
,,erform when building a TCP/IP network. Two types of TP addresses exist: those for
I P version 4 and those for TP version 6. IP addresses must be unique on a network. in
special cases, it is possible to introduce non-unique addresses, called private addresses.
IP addresses posses a certain structure; they are divided into a network number (netid)
and a host number (hostid) portion. This chapter examines the strengths and
weaknesses of this scheme. Not all IP addresses can be assigned as a unique
identification for network connections. Only class A, B, and C addresses are
assignable to individual network connections. Class D is used for IP multicasting. In
addition, there are several special addresses used for broadcasting, loop back
addresses, and special circumstances. Besides IP & TCP, we looked at several other
protocols.
-
4.14 SOLUTIONSIANSWERS
Check Your Progress 1
(2) TCP sends a request message to the destination machine. The request
message contains a unique number called the socket number that identifies
the sending machine's IP address and a port number.
(9) TCP then adds a header (Protocol Data Unit) to the data.
(10) TCP send the packaged segment to IP.
(1 1) IP encapsulates it and sends it over the network, so called "datagram".If
there is several segments, a sequence number will created and added to the
datagram.
(12) If a segment is missing, TCP sends message back to the sending machine
with the faulty sequence number.
1) The port numbers are divided into three ranges: the Well Known Ports, the Registered
Ports, and the Dynamic and/or Private Ports.
The Dynamic and/or Private Ports are those from 49152 through 65535
3) Yes , a server can be running several services and listening at different ports for
request
4) 1 (a)
2 (a)
3 (a)
4 (c)
5 (d)
6 (a)