6.033 - Computer System Engineering Memo #2: Due before Recitation, Thursday, February 18, 2010.

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. Relative to 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 on a computer in California. You may think of yourself as a client, and think of the database application as a server. But from X's point of view, the database application 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 were 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 problems they identify 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 problems.

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.


You are an engineer overseeing the development of the user interface for a new low-cost laptop PC, to be given to incoming MIT freshmen. You have decided to build the UI on top of the X Window System, but your boss, Peter Smith, has his doubts. He has read the UNIX-HATERS Handbook section (referenced above) and is concerned that the overhead of the protocol is not justified by the benefits of the client/server paradigm. Write a one-page memo to Peter Smith, Project Manager for the Low-Cost Laptop project, arguing for the suitability of X in this deployment. Focus on the technical merits of the X Window System (ignoring its ubiquity), and provide two clear benefits you expect to see from use of X.

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 page for your memo. Consult the Therac memo guidelines for tips on writing an effective memo. We are looking for quality and conciseness. 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 memo.

This assignment should be submitted as a PDF via the electronic submission system before recitation on Thursday, Februrary 18th.


Your submission will be graded by the 6.033 staff (not by the writing program). We will focus on your justification of the benefits of using X, and on how well you articulate your argument.
Go to 6.033 Home Page