6.033 - Computer System Engineering One-pager #2: Due in Recitation 5, Thursday, February 19, 2009

Read The X Window System paper by Scheifler and Gettys (reading #5), following the bulleted guideline below. This paper provides a good opportunity to try the approach of warming up by nibbling around the edges:

While reading the X Windows paper, keep in mind that a client requests a service and a server provides it. In terms of the display, the X server is running locally (and controlling the display hardware), and the X client may be running remotely (but wishes to display information to the user). For example, suppose that you are sitting in Cambridge and running a database application in California. From the point of receiving information, you are the client and the database program is the server. But from the point of view of display, the database program is the client, and the computer you are sitting in front of is the server. The database application wishes to draw windows, but only the X Windows server (running on your local computer) is permitted to directly manipulate your screen. Thus, the database program must issue (display) requests, which the X server satisfies.

This is a nice "systems" paper to read because it describes a real, working system and it explains the reasons choices where made from among design alternatives, even pointing out when choices where arbitrary. Furthermore, it is written for the most part in plain English with a minimum of jargon.

Next, read "Myth: X Demonstrates the Power of Client/Server Computing" (pages 127-128) in The UNIX-HATERS Handbook for a different perspective on the X Window System. Are the issues they raise a direct consequence of the design goals mentioned in the initial paper, or are they an implementation artifact? Notice that the UNIX-HATERS Handbook was written in 1994 and the X Window System of today may have resolved some of their issues.

Instead of relying on other people's written accounts, you may wish to explore X yourself by working through the 2007 Hands On #2 (X Windows). This is an entirely optional step.


After learning a bit about the X Window System, take the role of an outside technical consultant advising the developer of a new low power, low cost tablet PC. The tablet will have (relatively) limited processing power and heavy network usage will limit its battery life. Write a one-page memo to Katherine Wang, the project manager of the software design group, with your recommendation on whether the tablet should run the X Window System as its windowing system. Since you are a technical consultant, advance your recommendation based on the technical merits of the X Window System in this context. You only have one page, so it's best to focus on the most important points and justifications.

Be sure to phrase the memo in technical terms appropriate to its intended audience; i.e., a technically-savvy manager, with prior engineering experience.

Use no more than one sheet of paper for your report. (Consult the 6.033 FAQ for formatting specifications.) We care more about quality and conciseness than we do about length. You will not be able to address every issue in one page, so you will have to make your best argument and judiciously choose your supporting facts for this one-pager.

Two copies of this assignment are due at the beginning of recitation on Thursday, February 19, 2009. The second copy will be forwarded to the writing program for evaluation. Be sure to include your email address in the submission so we may give you early feedback where required.


Your submission will be graded by both the 6.033 staff and the Writing Program, as described here. The staff grade will focus on your justification of the benefits from using X, and on how well you articulate your argument. The Writing Program grade will focus on the style and clarity of your memo, according to the following key areas:
  1. Completeness of Ideas. Has the reader been provided with all the information necessary to understand the costs or benefits of using X in this project?
  2. Sequencing. Has the information been sequenced in a way that facilitates fast and accurate assimilation and assessment?
  3. Language & Syntax. Is the memo well proofread and substantially free of surface errors?
  4. Format. Does the assignment adhere to standard memo format and conventions?
  5. Visual Organization. Does the use of segmentation, white space, and other visual characteristics facilitate the clear transmission of the information in the memo?

You may also consult this brief list of guidelines for writing a memo.

Go to 6.033 Home Page