SlideShare a Scribd company logo
Discussion # 6
Operating-System Structure
A system as large and complex as a modern operating system
must be
engineered carefully if it is to function properly and be
modified easily. A
common approach is to partition the task into small components,
or modules,
rather than have one monolithic system. Each of these modules
should be
a well-defined portion of the system, with carefully defined
inputs, outputs,
and functions. We have already discussed briefly in Chapter 1
the common
components of operating systems. In this section, we discuss
how these
components are interconnected and melded into a kernel.
Simple Structure
Many operating systems do not have well-defined structures.
Frequently, such
systems started as small, simple, and limited systems and then
grew beyond
their original scope. MS-DOS is an example of such a system. It
was originally
designed and implemented by a few people who had no idea that
it would
become so popular. It was written to provide the most
functionality in the
least space, so it was not carefully divided into modules. Figure
2.11 shows its
structure.
In MS-DOS, the interfaces and levels of functionality are not
well separated.
For instance, application programs are able to access the basic
I/O routines
to write directly to the display and disk drives. Such freedom
leaves MS-DOS
vulnerable to errant (or malicious) programs, causing entire
system crashes
when user programs fail. Of course, MS-DOS was also limited
by the hardware
of its era. Because the Intel 8088 for which it was written
provides no dual
mode and no hardware protection, the designers of MS-DOS had
no choice but
to leave the base hardware accessible.
Another example of limited structuring is the original UNIX
operating
system. Like MS-DOS, UNIX initially was limited by hardware
functionality. It
consists of two separable parts: the kernel and the system
programs.
The kernel is further separated into a series of interfaces and
device drivers, which have
been added and expanded over the years as UNIX has evolved.
We can view the
traditional UNIX operating system as being layered to some
extent, as shown in
Figure 2.12. Everything below the system-call interface and
above the physical
hardware is the kernel. The kernel provides the file system,
CPU scheduling,
memory management, and other operating-system functions
through system
calls. Taken in sum, that is an enormous amount of functionality
to be combined
into one level. This monolithic structure was difficult to
implement and
maintain. It had a distinct performance advantage, however:
there is very little
overhead in the system call interface or in communication
within the kernel.
We still see evidence of this simple, monolithic structure in the
UNIX, Linux,
and Windows operating systems.
Please talk about this discussion in your own words.
Discussion # 7
“Virtual Machines,” of Operating System Concepts
Type 1 Hypervisor
Type 1 hypervisors are commonly found in company data
centers and are in a
sense becoming “the data-center operating system.” They are
special-purpose
operating systems that run natively on the hardware, but rather
than providing
system calls and other interfaces for running programs, they
create, run, and
manage guest operating systems. In addition to running on
standard hardware,
they can run on type 0 hypervisors, but not on other type 1
hypervisors.
Whatever the platform, guests generally do not know they are
running on
anything but the native hardware.
Type 1 hypervisors run in kernel mode, taking advantage of
hardware
protection. Where the host CPU allows, they use multiple modes
to give guest
operating systems their own control and improved performance.
They implement
device drivers for the hardware they run on, because no other
component
could do so. Because they are operating systems, they must also
provide
CPU scheduling, memory management, I/O management,
protection, and even
security. Frequently, they provide APIs, but those APIs support
applications in
guests or external applications that supply features like
backups, monitoring,
and security. Many type 1 hypervisors are closed-source
commercial offerings,
such as VMware ESX while some are open source or hybrids of
open and closed
source, such as Citrix XenServer and its open Xen counterpart.
By using type 1 hypervisors, data-center managers can control
and manage
the operating systems and applications in new and sophisticated
ways. An
important benefit is the ability to consolidate more operating
systems and
applications onto fewer systems. For example, rather than
having ten systems
running at 10 percent utilization each, a data center might have
one server
manage the entire load. If utilization increases, guests and their
applications can
be moved to less-loaded systems live, without interruption of
service. Using
snapshots and cloning, the system can save the states of guests
and duplicate
those states—a much easier task than restoring from backups or
installing
manually or via scripts and tools.
The price of this increased manageability is the cost of the
VMM (if it is a commercial product), the need to learn new
management tools and methods, and the increased complexity.
Another type of type 1 hypervisor includes various general-
purpose
operating systems with VMM functionality. In this instance, an
operating system
such as RedHat Enterprise Linux, Windows, or Oracle Solaris
performs its
normal duties as well as providing a VMM allowing other
operating systems
to run as guests. Because of their extra duties, these hypervisors
typically
provide fewer virtualization features than other type 1
hypervisors. In many
ways, they treat a guest operating system as just another
process, albeit with
special handling provided when the guest tries to execute
special instructions.
Please talk about this discussion in your own words.
Discussion # 8
“Distributed System Structures,” of Operating System Concepts
Communication Structure
Now that we have discussed the physical aspects of networking,
we turn to
the internal workings. The designer of a communication
network must address
five basic issues:
• Naming and name resolution. How do two processes locate
each other to
communicate?
• Routing strategies. How are messages sent through the
network?
• Packet strategies. Are packets sent individually or as a
sequence?
• Connection strategies. How do two processes send a sequence
of messages?
In the following sections, we elaborate on each of these issues.
17.4.1 Naming and Name Resolution
The first issue in network communication involves the naming
of the systems
in the network. For a process at site A to exchange information
with a process
at site B, each must be able to specify the other. Within a
computer system,
each process has a process identifier, and messages may be
addressed with the
process identifier. Because networked systems share no
memory, however, a
host within the system initially has no knowledge about the
processes on other
hosts.
To solve this problem, processes on remote systems are
generally identified
by the pair <host name, identifier>, where host name is a name
unique within
the network and identifier is a process identifier or other unique
number within
that host. A host name is usually an alphanumeric identifier,
rather than a
number, to make it easier for users to specify. For instance, site
A might have
hosts named homer, marge, bart, and lisa. Bart is certainly
easier to remember
than is 12814831100.
Names are convenient for humans to use, but computers prefer
numbers for
speed and simplicity. For this reason, there must be a
mechanism to resolve the
hostname into a host-id that describes the destination system to
the networking
hardware. This mechanism is similar to the name-to-address
binding that
occurs during program compilation, linking, loading, and
execution (Chapter
8). In the case of host names, two possibilities exist. First,
every host may have a
data file containing the names and addresses of all the other
hosts reachable on
the network (similar to binding at compile time). The problem
with this model
is that adding or removing a host from the network requires
updating the data
files on all the hosts. The alternative is to distribute the
information among
systems on the network. The network must then use a protocol
to distribute
and retrieve the information. This scheme is like execution-time
binding. The
first method was the one originally used on the Internet. As the
Internet grew,
however, it became untenable. The second method, the domain-
name system
(DNS), is the one now in use.
DNS specifies the naming structure of the hosts, as well as
name-to-address
resolution. Hosts on the Internet are logically addressed with
multipart namesknown as IP addresses. The parts of an IP
address progress from the most
specific to the most general, with periods separating the fields.
For instance,
bob.cs.brown.edu refers to host bob in the Department of
Computer Science at
Brown University within the top-level domain edu. (Other top-
level domains
include com for commercial sites and org for organizations, as
well as a domain
for each country connected to the network, for systems
specified by country
rather than organization type.) Generally, the system resolves
addresses by
examining the host-name components in reverse order. Each
component has a
name server—simply a process on a system—that accepts a
name and returns
the address of the name server responsible for that name. As the
final step, the
name server for the host in question is contacted, and a host-id
is returned.
For example, a request made by a process on system A to
communicate with
bob.cs.brown.edu would result in the following steps:
1. The system library or the kernel on system A issues a request
to the name
server for the edu domain, asking for the address of the name
server for
brown.edu. The name server for the edu domain must be at a
known
address, so that it can be queried.
2. The edu name server returns the address of the host on which
the
brown.edu name server resides.
3. System A then queries the name server at this address and
asks about
cs.brown.edu.
4. An address is returned. Now, finally, a request to that address
for
bob.cs.brown.edu returns an Internet address host-id for that
host (for
example, 128.148.31.100).
This protocol may seem inefficient, but individual hosts cache
the IP addresses
they have already resolved to speed the process. (Of course, the
contents of
these caches must be refreshed over time in case the name
server is moved
or its address changes.) In fact, the protocol is so important that
it has been
optimized many times and has had many safeguards added.
Consider what
would happen if the primary edu name server crashed. It is
possible that
no edu hosts would be able to have their addresses resolved,
making them
all unreachable! The solution is to use secondary, backup name
servers that
duplicate the contents of the primary servers.
Before the domain-name service was introduced, all hosts on the
Internet
needed to have copies of a file that contained the names and
addresses of each
host on the network. All changes to this file had to be registered
at one site (host
SRI-NIC), and periodically all hosts had to copy the updated
file from SRI-NIC
to be able to contact new systems or find hosts whose addresses
had changed.
Under the domain-name service, each name-server site is
responsible for
updating the host information for that domain. For instance, any
host changes
at Brown University are the responsibility of the name server
for brown.edu and
need not be reported anywhere else. DNS lookups will
automatically retrieve
the updated information because they will contact brown.edu
directly. Domains
may contain autonomous subdomains to further distribute the
responsibility
for host-name and host-id changes.
Please talk about this discussion in your own words.

More Related Content

PPTX
System structure
PPT
operating system structure part-ii for system calls
PPT
Wk6a
PDF
CSI-503 - 11.Distributed Operating System
PPTX
CSS 12 - Q1 - Lesson 3.pptx
PPTX
Case study operating systems
PDF
Windows 2000 Case for Bundle with Silberschatz OSC 5th Edition John Wiley & S...
PPTX
The Art of IOS and Distributed System IO
System structure
operating system structure part-ii for system calls
Wk6a
CSI-503 - 11.Distributed Operating System
CSS 12 - Q1 - Lesson 3.pptx
Case study operating systems
Windows 2000 Case for Bundle with Silberschatz OSC 5th Edition John Wiley & S...
The Art of IOS and Distributed System IO

Similar to Discussion # 6Operating-System StructureA system as large an.docx (20)

PPTX
dadaaasfsfsfscvxvvsvxvxvvxvvvxvxvvxvvvvv
PPTX
sadadadadcscxzxvxvxxvzvvxvvxvvxvvxvvvvvv
PDF
Windows 2000 Case for Bundle with Silberschatz OSC 5th Edition John Wiley & S...
PPTX
THIS IS A TOPIC OF COMPUTER BASICS FROM SCRATCH
PPT
Chapter 1-Introduction.ppt
PPT
Chapter 1-Introduction.ppt
PDF
1.sap basis material_keylabs1
PDF
SAP BASIS ONLINE TRAINING MATERIAL by Keylabs
PPT
Chapter One.ppt
PDF
PPTX
StructuringMethod study of information and communication technoloy.pptx
PPT
Operating-System Structures
PPTX
Distributed Systems.pptx
DOCX
1 Anatomy of a Database System Joseph M. Hellerstein and
PDF
Windows 2000 Case for Bundle with Silberschatz OSC 5th Edition John Wiley & S...
PDF
istributed system
PDF
Chapter 1 introduction
PPTX
Operating system by aman kr kushwaha
PPTX
Apos week 1 4
dadaaasfsfsfscvxvvsvxvxvvxvvvxvxvvxvvvvv
sadadadadcscxzxvxvxxvzvvxvvxvvxvvxvvvvvv
Windows 2000 Case for Bundle with Silberschatz OSC 5th Edition John Wiley & S...
THIS IS A TOPIC OF COMPUTER BASICS FROM SCRATCH
Chapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
1.sap basis material_keylabs1
SAP BASIS ONLINE TRAINING MATERIAL by Keylabs
Chapter One.ppt
StructuringMethod study of information and communication technoloy.pptx
Operating-System Structures
Distributed Systems.pptx
1 Anatomy of a Database System Joseph M. Hellerstein and
Windows 2000 Case for Bundle with Silberschatz OSC 5th Edition John Wiley & S...
istributed system
Chapter 1 introduction
Operating system by aman kr kushwaha
Apos week 1 4
Ad

More from lynettearnold46882 (20)

DOCX
Assignment User FrustrationThe quality of the user experience i.docx
DOCX
Assignment Upstream Approaches to Canadian Population HealthAlt.docx
DOCX
Assignment Type up an essay on one of two prompts and submit the .docx
DOCX
Assignment TypeIndividual ProjectDeliverable Length8–10 slid.docx
DOCX
Assignment Type Individual discussion Board;   450 – 550 word.docx
DOCX
Assignment Two UNIT 2Student Name _______________________.docx
DOCX
Assignment Two Select a college or university and provide th.docx
DOCX
Assignment Two Objectives • Understand how the.docx
DOCX
Assignment Topic Exploration and Analysis (Proposal)In Week 6 o.docx
DOCX
Assignment To consider three sources about the Fall of Rome and w.docx
DOCX
Assignment topic Rapid Influenza Testing in Children and Adult.docx
DOCX
Assignment Topic 1Choose a contemporary painting, sculpture, o.docx
DOCX
Assignment TitleAssessment Item 03 Case Study Analysis – Engagi.docx
DOCX
Assignment Title Knowledge management cycle process in or.docx
DOCX
Assignment Three Technical Descriptions Due March 2 (1155 PM .docx
DOCX
Assignment ThreeUNIT 3 – ON LINE CLASSStudent Name __________.docx
DOCX
Assignment title An Evaluation of the Business Strategy at Mc D.docx
DOCX
ASSIGNMENT The student will submit a research project that compares.docx
DOCX
Assignment Three Case study report – mixed mediaValue 40 .docx
DOCX
Assignment The Nurse Leader as Knowledge WorkerThe term kn.docx
Assignment User FrustrationThe quality of the user experience i.docx
Assignment Upstream Approaches to Canadian Population HealthAlt.docx
Assignment Type up an essay on one of two prompts and submit the .docx
Assignment TypeIndividual ProjectDeliverable Length8–10 slid.docx
Assignment Type Individual discussion Board;   450 – 550 word.docx
Assignment Two UNIT 2Student Name _______________________.docx
Assignment Two Select a college or university and provide th.docx
Assignment Two Objectives • Understand how the.docx
Assignment Topic Exploration and Analysis (Proposal)In Week 6 o.docx
Assignment To consider three sources about the Fall of Rome and w.docx
Assignment topic Rapid Influenza Testing in Children and Adult.docx
Assignment Topic 1Choose a contemporary painting, sculpture, o.docx
Assignment TitleAssessment Item 03 Case Study Analysis – Engagi.docx
Assignment Title Knowledge management cycle process in or.docx
Assignment Three Technical Descriptions Due March 2 (1155 PM .docx
Assignment ThreeUNIT 3 – ON LINE CLASSStudent Name __________.docx
Assignment title An Evaluation of the Business Strategy at Mc D.docx
ASSIGNMENT The student will submit a research project that compares.docx
Assignment Three Case study report – mixed mediaValue 40 .docx
Assignment The Nurse Leader as Knowledge WorkerThe term kn.docx
Ad

Recently uploaded (20)

PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Computing-Curriculum for Schools in Ghana
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
master seminar digital applications in india
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Pre independence Education in Inndia.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Lesson notes of climatology university.
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Complications of Minimal Access Surgery at WLH
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Microbial diseases, their pathogenesis and prophylaxis
Computing-Curriculum for Schools in Ghana
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
master seminar digital applications in india
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Pre independence Education in Inndia.pdf
Microbial disease of the cardiovascular and lymphatic systems
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Lesson notes of climatology university.
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
2.FourierTransform-ShortQuestionswithAnswers.pdf
Supply Chain Operations Speaking Notes -ICLT Program
Complications of Minimal Access Surgery at WLH

Discussion # 6Operating-System StructureA system as large an.docx

  • 1. Discussion # 6 Operating-System Structure A system as large and complex as a modern operating system must be engineered carefully if it is to function properly and be modified easily. A common approach is to partition the task into small components, or modules, rather than have one monolithic system. Each of these modules should be a well-defined portion of the system, with carefully defined inputs, outputs, and functions. We have already discussed briefly in Chapter 1 the common components of operating systems. In this section, we discuss how these components are interconnected and melded into a kernel. Simple Structure Many operating systems do not have well-defined structures. Frequently, such systems started as small, simple, and limited systems and then grew beyond their original scope. MS-DOS is an example of such a system. It was originally designed and implemented by a few people who had no idea that it would become so popular. It was written to provide the most functionality in the least space, so it was not carefully divided into modules. Figure 2.11 shows its structure.
  • 2. In MS-DOS, the interfaces and levels of functionality are not well separated. For instance, application programs are able to access the basic I/O routines to write directly to the display and disk drives. Such freedom leaves MS-DOS vulnerable to errant (or malicious) programs, causing entire system crashes when user programs fail. Of course, MS-DOS was also limited by the hardware of its era. Because the Intel 8088 for which it was written provides no dual mode and no hardware protection, the designers of MS-DOS had no choice but to leave the base hardware accessible. Another example of limited structuring is the original UNIX operating system. Like MS-DOS, UNIX initially was limited by hardware functionality. It consists of two separable parts: the kernel and the system programs. The kernel is further separated into a series of interfaces and device drivers, which have been added and expanded over the years as UNIX has evolved. We can view the traditional UNIX operating system as being layered to some extent, as shown in Figure 2.12. Everything below the system-call interface and above the physical hardware is the kernel. The kernel provides the file system, CPU scheduling, memory management, and other operating-system functions through system calls. Taken in sum, that is an enormous amount of functionality to be combined
  • 3. into one level. This monolithic structure was difficult to implement and maintain. It had a distinct performance advantage, however: there is very little overhead in the system call interface or in communication within the kernel. We still see evidence of this simple, monolithic structure in the UNIX, Linux, and Windows operating systems. Please talk about this discussion in your own words. Discussion # 7 “Virtual Machines,” of Operating System Concepts Type 1 Hypervisor Type 1 hypervisors are commonly found in company data centers and are in a sense becoming “the data-center operating system.” They are special-purpose operating systems that run natively on the hardware, but rather than providing system calls and other interfaces for running programs, they create, run, and manage guest operating systems. In addition to running on standard hardware, they can run on type 0 hypervisors, but not on other type 1 hypervisors. Whatever the platform, guests generally do not know they are running on anything but the native hardware. Type 1 hypervisors run in kernel mode, taking advantage of hardware protection. Where the host CPU allows, they use multiple modes to give guest
  • 4. operating systems their own control and improved performance. They implement device drivers for the hardware they run on, because no other component could do so. Because they are operating systems, they must also provide CPU scheduling, memory management, I/O management, protection, and even security. Frequently, they provide APIs, but those APIs support applications in guests or external applications that supply features like backups, monitoring, and security. Many type 1 hypervisors are closed-source commercial offerings, such as VMware ESX while some are open source or hybrids of open and closed source, such as Citrix XenServer and its open Xen counterpart. By using type 1 hypervisors, data-center managers can control and manage the operating systems and applications in new and sophisticated ways. An important benefit is the ability to consolidate more operating systems and applications onto fewer systems. For example, rather than having ten systems running at 10 percent utilization each, a data center might have one server manage the entire load. If utilization increases, guests and their applications can be moved to less-loaded systems live, without interruption of service. Using snapshots and cloning, the system can save the states of guests and duplicate those states—a much easier task than restoring from backups or installing
  • 5. manually or via scripts and tools. The price of this increased manageability is the cost of the VMM (if it is a commercial product), the need to learn new management tools and methods, and the increased complexity. Another type of type 1 hypervisor includes various general- purpose operating systems with VMM functionality. In this instance, an operating system such as RedHat Enterprise Linux, Windows, or Oracle Solaris performs its normal duties as well as providing a VMM allowing other operating systems to run as guests. Because of their extra duties, these hypervisors typically provide fewer virtualization features than other type 1 hypervisors. In many ways, they treat a guest operating system as just another process, albeit with special handling provided when the guest tries to execute special instructions. Please talk about this discussion in your own words. Discussion # 8 “Distributed System Structures,” of Operating System Concepts Communication Structure Now that we have discussed the physical aspects of networking, we turn to the internal workings. The designer of a communication network must address five basic issues: • Naming and name resolution. How do two processes locate each other to communicate? • Routing strategies. How are messages sent through the network?
  • 6. • Packet strategies. Are packets sent individually or as a sequence? • Connection strategies. How do two processes send a sequence of messages? In the following sections, we elaborate on each of these issues. 17.4.1 Naming and Name Resolution The first issue in network communication involves the naming of the systems in the network. For a process at site A to exchange information with a process at site B, each must be able to specify the other. Within a computer system, each process has a process identifier, and messages may be addressed with the process identifier. Because networked systems share no memory, however, a host within the system initially has no knowledge about the processes on other hosts. To solve this problem, processes on remote systems are generally identified by the pair <host name, identifier>, where host name is a name unique within the network and identifier is a process identifier or other unique number within that host. A host name is usually an alphanumeric identifier, rather than a number, to make it easier for users to specify. For instance, site A might have hosts named homer, marge, bart, and lisa. Bart is certainly easier to remember than is 12814831100. Names are convenient for humans to use, but computers prefer numbers for speed and simplicity. For this reason, there must be a mechanism to resolve the
  • 7. hostname into a host-id that describes the destination system to the networking hardware. This mechanism is similar to the name-to-address binding that occurs during program compilation, linking, loading, and execution (Chapter 8). In the case of host names, two possibilities exist. First, every host may have a data file containing the names and addresses of all the other hosts reachable on the network (similar to binding at compile time). The problem with this model is that adding or removing a host from the network requires updating the data files on all the hosts. The alternative is to distribute the information among systems on the network. The network must then use a protocol to distribute and retrieve the information. This scheme is like execution-time binding. The first method was the one originally used on the Internet. As the Internet grew, however, it became untenable. The second method, the domain- name system (DNS), is the one now in use. DNS specifies the naming structure of the hosts, as well as name-to-address resolution. Hosts on the Internet are logically addressed with multipart namesknown as IP addresses. The parts of an IP address progress from the most specific to the most general, with periods separating the fields. For instance, bob.cs.brown.edu refers to host bob in the Department of Computer Science at Brown University within the top-level domain edu. (Other top- level domains
  • 8. include com for commercial sites and org for organizations, as well as a domain for each country connected to the network, for systems specified by country rather than organization type.) Generally, the system resolves addresses by examining the host-name components in reverse order. Each component has a name server—simply a process on a system—that accepts a name and returns the address of the name server responsible for that name. As the final step, the name server for the host in question is contacted, and a host-id is returned. For example, a request made by a process on system A to communicate with bob.cs.brown.edu would result in the following steps: 1. The system library or the kernel on system A issues a request to the name server for the edu domain, asking for the address of the name server for brown.edu. The name server for the edu domain must be at a known address, so that it can be queried. 2. The edu name server returns the address of the host on which the brown.edu name server resides. 3. System A then queries the name server at this address and asks about cs.brown.edu. 4. An address is returned. Now, finally, a request to that address for bob.cs.brown.edu returns an Internet address host-id for that host (for example, 128.148.31.100). This protocol may seem inefficient, but individual hosts cache
  • 9. the IP addresses they have already resolved to speed the process. (Of course, the contents of these caches must be refreshed over time in case the name server is moved or its address changes.) In fact, the protocol is so important that it has been optimized many times and has had many safeguards added. Consider what would happen if the primary edu name server crashed. It is possible that no edu hosts would be able to have their addresses resolved, making them all unreachable! The solution is to use secondary, backup name servers that duplicate the contents of the primary servers. Before the domain-name service was introduced, all hosts on the Internet needed to have copies of a file that contained the names and addresses of each host on the network. All changes to this file had to be registered at one site (host SRI-NIC), and periodically all hosts had to copy the updated file from SRI-NIC to be able to contact new systems or find hosts whose addresses had changed. Under the domain-name service, each name-server site is responsible for updating the host information for that domain. For instance, any host changes at Brown University are the responsibility of the name server for brown.edu and need not be reported anywhere else. DNS lookups will automatically retrieve the updated information because they will contact brown.edu directly. Domains
  • 10. may contain autonomous subdomains to further distribute the responsibility for host-name and host-id changes. Please talk about this discussion in your own words.