As we work toward the project component of this course, you will read Butler Lampson’s hints for system design, a classic collection of good advice for building systems. To prepare for our in-class discussion, please submit answers to each of the following prompts before class on Friday.
Each of the following questions asks you to identify one of Butler Lampson’s hints for system design in some setting. Please select a different hint in your response to each question.
Think back to a time when you were building some sort of substantial software, either for class or some other purpose. What is one of Lampson’s hints that would have helped you? How would you have applied this hint? Why would it have been helpful?
Operating systems use abstractions that frequently reflect Lampson’s hints (or vice versa). Identify at least one concept from this class where you can find one of Lampson’s hints in use. Explain how this concept uses the hint you identified. Make sure the hint you list here is different from the one in your previous response.
Sometimes we can learn how systems work simply by observing their behavior. Think of a case where some real system must use one of Lampson’s hints, based either on evidence that the hint is being used or your own intuition about how such a system could be built. Explain why you believe this hint is in use. Make sure the hint you list here is different from the one in your previous responses.