13.07.2015 Views

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

308 Co-operating Processes Chapter 9with ports provide varying degrees of selectivity for ReadPort. For example, the Demosoperating system, which uses capabilities that allow the holder to write to input ports, letsthe ReadPort call specify any subset of input ports. In contrast, the Charlotte distributedoperating system, which uses capabilities to bound ports, allows ReadPort to specifyeither all ports or just one, but not an arbitrary subset. The Soda inter-process communicationmechanism allows the recipient to look at a small amount of the message beforedeciding whether it wants the message.3 DISTRIBUTED OPERATING SYSTEMSOnce an operating system provides inter-process communication, it lends itself to implementationon a distributed computer. Before we discuss how to generalize uniprocessoroperating systems to more general machines, we will need to define the sorts of machineswe will discuss.Computer installations often experience crises in which the available resources nolonger satisfy the demand that users are making. The first action a manager might take isto determine the bottleneck — that is, the limiting resource. It may be that adding anadditional disk unit or replacing a device controller with a faster one will remove thebottleneck. Often installing more main store will increase throughput to an acceptablelevel. Or the limiting resource may be computation: More work is being presented to thecomputer than can be completed. In this case, it is necessary either to replace the currentcomputer with a faster one or to introduce new computers.Both these approaches are common. Manufacturers make several models of theircomputers that differ in cost, performance, and modernity. The newer and the fastermodels usually support the same instruction set as the older and the slower models. <strong>An</strong>operating system that runs on one computer will often run without modification onanother model of the same machine.3.1 MultiprocessorsA related approach offered by some manufacturers is to add a second or third central processingunit to the machine. When several cpu’s share a common main store, we call theresulting machine a multiprocessor. Main store is often subdivided into independentmodules, each of which can service one access request (from a cpu or a channel) at atime. The purpose of this division is to allow separate cpu’s to access modules simultaneouslyif the requests do not conflict. If there are several cpu’s, a switching network isused to direct requests from cpu’s to the correct main store module. This switching networkintroduces new delays and contention points because two requests directed to differentmain store modules might still have to traverse the same switch.Converting a uniprocessor operating system to a multiprocessor requires carefulattention to concurrency issues, as discussed in Chapter 8. One successful approach is to

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!