6.033 Handout 3

ASSIGNMENT: February 15 through February 22

For Lecture: Wednesday, February 15

Read Tanenbaum, Chapter 1.

Re-read Ward and Halstead, Computation Structures, chapters 16 and 18. That is the 6.004 textbook. Most of it should seem familiar. We are going to launch technical content from that base so you want to be sure it is secure.

For Recitation: Thursday, February 16

If you have been paying attention, you know that reading reports are required on Tuesdays, not Thursdays. On Thursday, just come prepared to carry on the suggested discussion. Note that if you don't do the reading, your recitation instructor will notice that your participation isn't up to that of everyone else. Your goal is to make a good impression; reading the paper is the first step in making that good impression.

In preparation of this section, read reading #9, #10, #11. The topic of this section is system structure. Reading #9 is an "old" paper (1970); it is one of the first papers discussing microkernel-based systems, although the word was not used back then. Reading #10 is an article that appeared in Byte magazine in 1994. This article has a high density of hype and basically repeats the arguments of reading #9. Cutting through the hype, you may want to ask yourself the question who is really benefiting from the microkernel trend. End-users? Hardware designers? Hardware vendors? OS programmers and vendors? Application programmers?

Bershad et al., "Lightweight Remote Procedure Call" (reading #11) will be a little puzzling; just read it
superficially and try to understand it in terms of the things that you already know, rather than trying to understand everything he says. One hint: despite the name, there is nothing "remote" about "LRPC". LRPC is the basic interprocess communication primitive used in microkernel-based systems; as a personal exercise you may want to compare this primitive to the primitives proposed in reading #9.

We will attempt to hand back your corrected reading reports in this section, so that you can use the TA's feedback to improve your next writing assignment.

For Lecture, Tuesday, February 21

Tuesday is a virtual Monday, so there will be a lecture instead of a section. Nevertheless, you are supposed to hand in your one-page reading report for this week on Tuesday in lecture. Your reading report should address the following question. Networks are becoming faster but disks and memory aren't, so it is becoming more practical for programs to utilize the resources of multiple workstations on a local area network. For example, instead of writing a swapped-out page to disk, one could write it to the memory of another workstation. Identify one or two problems that might be encountered with the use of resources on a remote workstation. What effects will these problems cause (decreased performance? decreased reliability? decreased security? increased complexity?) Why are they not problems for virtual memory on a single machine?

In preparation for lecture, also read Tanenbaum Chapter 3.

For Lecture, Wednesday, February 22

In preparation for lecture, read Tanenbaum Chapter 2.


System Aphorism of the week: Everything should be made as simple as possible, but no simpler. (A. Einstein)