Distributed Systems Page 2-1 2 Distributed Systems_免费下载

Distributed Systems Page 2-1 2 Distributed Systems_免费下载


2024年3月26日发(作者:大地高清神马电影网)

Distributed Systems Page 2-1

2 Distributed Systems

Distributed systems are the backbone of modern computer configurations, particularly configurations in

which SCCs exist. In today’s world, computers systematically rely on remote computers to store

information, to perform specialized calculations, or to otherwise work together to implement an

information technology solution. Tanenbaum describes these distributed system as

“A distributed system is a collection of independent computers that appear to the users of

the system as a single computer.”

1

A distributed system is typically a collection of autonomous devices (computers) that are

interconnected by some means for exchanging information. Systems people often think of a distributed

system as being a collection of computing nodes interconnected by a network. Informally, you can always

think of a node as being some kind of a computer, each with a communication device that connects it to a

shared data switching network Thus, collections of computers connected with a LAN or the Internet are

the basis of distributed systems.

Tanenbaum emphasizes that the OS in a distributed system is designed so that when an application

program is executed on the distributed system, it could use various nodes in the network without any

special programming. That is, one important goal of a distributed system is that a program that runs on a

single computer can also run (without modification) on a distributed system where it may use many

computers during its execution. Programmers say that the distribution of the execution over multiple

computers is transparent, meaning that the way that the program is written is the same whether it executes

on a single computer or on the distributed system. In reality, contemporary distributed systems do a pretty

good job of making the distribution transparent, but it is usually not perfect: the program may need minor

modifications to execute on a distributed system – the amount of modification required reflects the

closeness of the real system to a truly distributed system.

People are inspired to use distributed systems for a several primary reasons:

• It might be possible to execute a conventional program in less time on a distributed system than on

an individual computer, since multiple computers could be working on a single problem at the

same time.

• A distributed system makes it possible to incorporate specialized computers to perform specialize

functions – possibly more efficiently or producing a better result. For example if an organization

needs frequent access to a diversity of data, a distributed system could incorporate a computer that

is dedicated to implementing a database. We say that such computers provide specialized services

to other general purpose computers.

• It is sometimes beneficial to place a computer “close” to the source of its data. In physical

closeness, this can enable the computer to validate and pre process data that it has collected prior

to storing it for general use. For example, a point-of-sale terminal can manage on optical bar

reader, enabling the terminal to detect and correct read errors without interacting with a computer

that keeps track of total sales. Another interpretation of “close” has to do with logical proximity:

organizations often prefer to store information for which they are responsible in a computer that

they control. For example, a test lab might prefer to keep data related to product testing on a test

lab machine rather than saving it in a centralized database or file system.

• Reliability can be built into a distributed system by duplicating computers to perform critical

functions. For example, if a computer manages a corporation’s transactions, the corporation may

decide it is worth the cost and effort to duplicate each transaction to avoid information loss due to

a machine failure.

• Distributed system designs can sometimes enable a system to scale its resources (such as

processing capacity) to match its program execution load.

As a result of these (and other) reasons, and because of the evolution of technologies (such as networks),

distributed systems are a cost-effective way of configuring computational facilities.

1

[Tanenbaum, 1995], page 2.

G. Nutt Single-Threaded SCC Operating Systems

Creative Commons Attribution-Share Alike 3.0 U.S. License

Distributed Systems Page 2-2

2.1 Networks

Since distributed systems are collections of communicating computers, network technology is one of their

essential cornerstones. Section 1.3

introduced networks; in this section we will take a closer look at the

technology to see how network devices are similar and different to/from other I/O devices, and to see how

network technology plays such an important role in distributed systems.

2.1.1 Network Devices

Networks differ from many other devices in the way that the software views a network device. One could

install a network device on a computer, but it would be useless unless the device was then connected to an

actual data transmission network. Equally obvious, the network would still be worthless if there were no

other computers attached to the data transmission network. A network device depends on the existence of

an external, shared mechanism that can transmit and receive signals to/from designated recipients; we will

refer to this data transmission mechanism as the subcommunication network (see Figure 2-1, which is the

same as Figure 1-10).

Application

CPU

CPU

CPU

CPU

Application

Bus

Bus

Controller

Controller

Comm

Comm

Device

Device

Controller

Controller

Comm

Comm

Device

Device

Subcommunication

Network

Figure 2-1: Network Communication

Notice that in the case of a network device, the actual device is the subcommunication network; that is,

in the network case the actual device is not really part of the computer’s configuration at all. The

computer’s component is the device controller that adapts the computer to the subcommunication network,

often referred to as the network interface controller, (or NIC). The NIC’s job is to be able to physically

and electronically connect to the subcommunication network, and to be able to write data to (and read data

from) the network. For send (or output) operations, the NIC translates data from the computer’s internal

binary form into the subcommunication network’s internal form, and then transmits the data over the

subcommunication network to a specific remote node. On input operations, the NIC receives data that is

directed to it by the subcommunication network, and then translates it from the subcommunications

network’s internal form into the computer’s internal form. NIC I/O commands are similar to commands for

other devices, namely to read and write data from/to the subcommunication network. Part of what makes

this tricky is that when one computer’s NIC writes data, then the receiving computer’s NIC must be ready

to read the data, since the subcommunication network only transfer information, but does not buffer it until

the recipient is ready to receive it.

This means that the NIC is normally designed to receive information that is transmitted to a remote

computer even if the software on the receiving computer may be busy doing some other task. The NIC

buffers incoming network data until the host computer’s software issues a read operation on the NIC; only

then does the NIC return information from its buffers (sent by a remote computer) as a result of the read.

Obviously, every NIC has a fixed amount of memory that it can use for a buffer. Therefore it can only

Single-Threaded SCC Operating Systems

Creative Commons Attribution-Share Alike 3.0 U.S. License

G. Nutt


发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1711443781a1907284.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信