Program Representation Goals
Enable Program Analysis and Transformation
Semantic Checks, Correctness Checks, Optimizations
Structure Translation to Machine Code
Sequence of Steps
6.033 Lecture 3: Naming
system = a bunch of resources, glued together with names
often the best way to view or build
often most interesting action is in the names
[cloud with components & connections]
what are the resources?
often can view them as
6.824 (6.033)notes, Appendix 4-B, Case study of the Network File System
The original paper on NFS:
Design and Implementation of the Sun Network File System
Sandberg, Goldberg, Kleiman, Walsh, Lyon
NFS is a neat system:
NFS was very succe
6.824 2006 Lecture 6: Crash Recovery for Disk File Systems
Common theme in system-building:
You have some persistent state you're maintaining, reading and
Maybe the data is replicated in multiple servers' memory,
maybe it's on one or more disks.
6.033 Lecture 4: Client/server
how to impose order on complex programs?
break into modules
[big Therac-25 blob => components, interactions]
goal: decouple, narrow set of interactions
what form does modularity take?
6.003 Lecture 7: Threads and Condition Variables
topic: virtual processors / threads
monday: client/server / bounded buffer w/ one CPU per program
today: more programs than CPUs
only one CPU (no busy looping!)
or a few CPUs, many more programs
6.824 2006 Lecture 5: RPC Transparency
Preserve original client code
Preserve original server code
RPC glues client/server together w/o changing behavior
Programmer doesn't have to think about network
How well does this work?
6.033 Lecture 6: Client/server on one computer
how to implement c/s on one computer
valuable in itself
involves concurrency, an independently interesting topic
DP1 is all about concurrency
what do we want?
[diagram: X client, X server, NO KERNEL YET
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
6.004 Computation Structures
Quiz #4: April 24, 2009
Athena login name
NOTE: Reference material appears on the backs
6.033 Lecture 5: Operating System Organization
Plan for next few lectures
general topic: modularity
just talked about one module per computer (c/s)
more details on net-based c/s later in course
now: modules within one computer
L5: o/s organization - tools
1.124 Quiz 2
Thursday November 9, 2000
Time: 1 hour 20 minutes
Answer all questions. All questions carry equal marks.
Show the steps that are involved in sorting the string SORTME using the quicksort
algorithm given below.
6.033 Spring 2008, Quiz 3
Page 2 of 14
1. [6 points]: Which of the following statements about the paper Why Cryptosystems Fail by Ross
Anderson (reading #17) is true?
(Circle True or False for each choice.)
A. True / False The paper claims that