13.07.2015 Views

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Exercises 3191974). StarOs (Jones, 1979) and Medusa (Ousterhout, 1980) were both designed forCm*, a more advanced multiprocessor in which each cpu has its own main store but canaccess the main store of other cpu’s with some delay. Locus (Popek et al., 1981) andMOS (Barak and Litman, 1982) are distributed versions of Unix that unify the file systeminto one hierarchy, identically visible to all machines. Both have demonstrated processmigration.Many research-oriented operating systems display the communication-kernelapproach in some form, including Accent (Rashid and Robertson, 1981), Amoeba(Tanenbaum and Mullender, 1981), Arachne (Solomon and Finkel, 1978), Charlotte(Finkel et al., 1983), Clouds (Allchin et al., 1982), Demos/MP (Powell, 1977), Eden(Lazowska et al., 1981), Micros (Wittie and van Tilborg, 1980), SODS/OS (Sincoskieand Farber, 1980), Thoth (Cheriton et al., 1979), and V kernel (Cheriton andZwaenepoel, 1983). A number of programming language efforts are also related to thecommunication-kernel approach, particularly Argus (Liskov and Scheifler, 1983) andLynx (Scott, 1985). Lynx, for example, imposes Algol-like scope rules on the virtualspace shared by threads to help limit the chaos of shared space. It also provides inexpensivetype checking of all messages. Birrell has reported on efficient implementation ofremote procedure calls (1984).Other operating systems have novel features. Soda (Kepecs and Solomon, 1984)proposes an unusual communication mechanism that uses a global set of port numbersand allows the initiator of communication to be either the reader or the writer. Theresponder to the communication is allowed to see a small amount of data before decidingwhether to accept the communication. NonStop (Bartlett, 1981) is a multicomputeroperating system marketed by Tandem. It provides redundancy at a number of levels toallow for graceful degradation when parts fail. A discussion of distributed operating systemsin general can be found in the article by Tanenbaum and Van Renesse (1985).7 EXERCISES1. The cobegin construct is a synchronization tool in the sense discussed in Chapter8. Can it build the synchronization graph of Figure 8.1?2. Show how to build the synchronization graph of Figure 8.1 using only Split andJoin.3. In the scenario of Figure 9.7, why did A have to make its own port? Assuming thatthe Finger port is a free port, why couldn’t A have received its answer on that port?4. Demos/MP uses write capabilities to input ports for communication. The readerfor an input port (called the owner) is fixed for the life of the port, but writers cangive their capabilities away.(a) What information should be stored by the port manager for the holder of a writecapability?(b) What information should be stored by the port manager for the owner of thatport?(c) In Figure 9.8, we used bound ports to show how the command interpreter can

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

Saved successfully!

Ooh no, something went wrong!