• 沒有找到結果。

Distributed System Structures

在文檔中 OPERATING SYSTEM CONCEPTS (頁 85-89)

DISTRIBUTED-SYSTEM

STRUCTURES

A distributed system is a collection of processors that do not share memory or a clock. In-stead, each processor has its own local memory. The processors communicate with one another through various communication networks, such as high-speed buses or telephone lines. In this chapter, we discuss the general structure of distributed systems and the networks that intercon-nect them. We contrast the main differences in operating-system design between these types of systems and the centralized systems with which we were concerned previously. Detailed discussions are given in Chapters 16 and 17.

Answers to Exercises

15.1 Contrast the various network topologies in terms of reliability.

Answer: ) No answer.

15.2 Why do mostWANs employ only a partially connected topology?

Answer: ) No answer.

15.3 What are two main differences between aWANand aLAN?

Answer: (1) Distance covered. A WAN can cover hundreds or even thousands of miles, a LAN typically covers an area less than a kilometer (although it is often much less.) (2) Speed. WANs typically run at about 56 Kbps, and modern LANs can run up to 1 gigabit.

15.4 What network configuration would best suit the following environments?

a. A dormitory floor b. A university campus

c. A state d. A nation

Answer: ) No answer.

79

80 Chapter 15 Distributed-System Structures

15.5 Even though the ISOmodel of networking specifies seven layers of functionality, most computer systems use fewer layers to implement a network. Why do they use fewer layers? What problems could the use of fewer layers cause?

Answer: No Answer

15.6 Explain why a doubling of the speed of the systems on an Ethernet segment may result in decreased network performance. What changes could be made to ameliorate the prob-lem?

Answer: Faster systems may be able to send more packets in a shorter amount of time.

The network would then have more packets traveling on it, resulting in more collisions, and therefore less throughput relative to the number of packets being sent. More net-works can be used, with fewer systems per network, to reduce the number of collisions.

15.7 Under what circumstances is a token-ring network more effective than an Ethernet net-work?

Answer: A token ring is very effective under high sustained load, as no collisions can occur and each slot may be used to carry a message, providing high throughput. A token ring is less effective when the load is light (token processing takes longer than bus access, so any one packet can take longer to reach its destination), or sporadic.

15.8 Why would it be a bad idea for gateways to pass broadcast packets between networks?

What would be the advantages of doing so?

Answer: All broadcasts would be propagated to all networks, causing a lot of network traffic. If broadcast traffic were limited to important data (and very little of it), then broad-cast propagation would save gateways from having to run special software to watch for this data (such as network routing information) and rebroadcast it.

15.9 What are the advantages of using dedicated hardware devices for routers and gateways?

What are the disadvantages over using general-purpose computers?

Answer: No answer.

15.10 In what ways is using a name server better than using static host tables? What are the problems and complications associated with name servers? What methods could be used to decrease the amount of traffic name servers generate to satisfy translation requests?

Answer: Name servers require their own protocol, so they add complication to the sys-tem. Also, if a name server is down, host information may become unavailable. Backup name servers are required to avoid this problem. Caches can be used to store frequently requested host information to cut down on network traffic.

15.11 The originalHTTPprotocol usedTCP/IPas the underlying network protocol. For each page, graphic, or applet, a separate TCP session was contructed, used, and torn down.

Because of the overhead of building and destroyingTCP/IPconnections, there were per-formance problems with this implementation method. Would usingUDPrather thanTCP have been a good alternative? What other changes could be made to improveHTTP per-formance?

Answer: No answer.

15.12 Of what use is an address resolution protocol? Why is the use of such a protocol better than making each host read each packet to determine to whom it is destined? Does a token-ring network need such a protocol?

Answer: AnARPtranslates general-purpose addresses into hardware interface numbers so the interface can know which packets are for it. Software need not get involved. It is more efficient than passing each packet to the higher layers. Yes, for the same reason.

Answers to Exercises 81

15.13 What are the advantages and disadvantages of making the computer network transparent to the user?

Answer: The advantage is that all files are accessed in the same manner. The disadvan-tage is that the operating system becomes more complex.

15.14 What are two formidable problems that designers must solve to implement a network-transparent system?

Answer: No answer.

15.15 Process migration within a heterogeneous network is usually impossible, given the dif-ferences in architectures and operating systems. Describe a method for process migration across different architectures running:

a. The same operating system b. Different operating systems Answer: No answer.

15.16 To build a robust distributed system, you must know what kinds of failures can occur.

a. List three possible types of failure in a distributed system.

b. Specify which of the entries in your list also are applicable to a centralized system.

Answer: No answer.

15.17 Is it always crucial to know that the message you have sent has arrived at its destination safely? If your answer is “yes,” explain why. If your answer is “no,” give appropriate examples.

Answer: No. Many status-gathering programs work from the assumption that packets may not be received by the destination system. These programs generally broadcast a packet and assume that at least some other systems on their network will receive the information. For instance a daemon on each system might broadcast the systems load average and number of users. This information might be used for process migration target selection. Another example is a program that determines if a remote site is both running and accessible over the network. If it sends a query and gets no reply it knows the system cannot currently be reached.

15.18 Present an algorithm for reconstructing a logical ring after a process in the ring fails.

Answer: No answer.

15.19 Consider a distributed system with two sites, A and B. Consider whether site A can dis-tinguish among the following:

a. B goes down.

b. The link between A and B goes down.

c. B is extremely overloaded and its response time is 100 times longer than normal.

What implications does your answer have for recovery in distributed systems?

Answer: No answer.

在文檔中 OPERATING SYSTEM CONCEPTS (頁 85-89)