Unformatted text preview:

How to Write a Design Report for 6.0339 Steps in the Writing Process9 Steps in the Writing ProcessRead and understand the assignmentIdentify the design problemIsolate design constraintsDevelop a design approachConsider alternativesWrite introduction & conclusionWrite the front and end matterReview the assignment specsEdit & ProofreadReport FormatWriting HelpHow to Write a Design Report for 6.033Mya PoeMIT Program in Writing and Humanistic StudiesMarch 14, [email protected] Steps in the Writing Process1. Read and understand the assignment2. Identify the design problem3. Isolate specific design constraints4. Develop a design approach5. Consider alternatives6. Write your introduction and conclusion7. Write your front and end matter8. Check assignment specs9. Edit and proofread9 Steps in the Writing ProcessUnderstandthe assignmentIdentify the design problemIsolate design constraintsDevelop a design approachConsideralternativesWrite intro.and conclusionWrite front and end matterCheck assignment specsEdit and ProofreadStep #1Read and understand the assignmentz Underline important design conceptsz Identify report deliverablesIII. Resource limitations and design goalsBecause the mote is so small, it has very strict resource limitations in terms of energy. Your design will have to cope with the tradeoffsintroduced by these limitations. We also want to make as many of the motes (which are disposable) as possible: your design must balance reducing the cost of the mote with improving performance and saving energy. . .We estimate that a good paper will be 8 to 10 pages in length (single spaced).Step #2Identify the design problemz In one sentence, what design problem are you solving?• The problem statement helps you clarify the purpose of your project by making you focus on the “bigger” picture.The problem I am trying to solve in this project is ____________.The purpose of this project is to ___________________________.Step #3Isolate design constraintsz What limitations will you consider in your design? • Make a checklist using the assignment sheet, or• Number the constraints on the assignment sheetExamples:√ 16-bit microprocessor (running at 8Mhz) √ 32Kbytes of RAM (with a bandwidth of 8Mbs)√ “You are only concerned with interactions between programs”Step #4Develop a design approachz Begin with a conceptual overview of your design• You may need a figure to clarify your ideasz Follow with a detailed design description:• Move from general to specific• Use section headings to help readers understand hierarchy of ideas• Chunk information into readable units• Use figures, tables, and pseudo-code to illustrate conceptsz Tip: Do not throw away alternative design ideas2 Conceptual Overview of the MMUTo achieve enforced modularity in a segmented memory system, each process must be able to protect its segments from other processes as it sees fit. The O/S must therefore maintain a database of permission information describing which processes are allowed to read from, write to, or execute in each memory segment. The kernel must update this permissions table whenever it services a system call to allocate a new data segment, spawn a new process, or change the permissions of a segment.The MMU works by synthesizing queries to this permissions table from three pieces of information:1. The process making a memory request.2. The memory segment this process wishes to access.3. The type of access (read, write, and/or execute) the process is asking for.-- From “Simple Sharing and Enforced Modularity Access Control in a Segmented Memory System.” Jeff Bartelma. March 21, 20023 MMU Details and Design DecisionsThe following subsections discuss the Beta MMU design in detail . . .3.1 Process-Based vs. Segment-Based Access ControlTo design an MMU capable of enforcing modularity in every case, it is necessary to distinguish process-based access control from segment-based access control. . . If the MMU had data specifying only that code in segment X should be allowed access segment C (segment-based access control), it would fail to stop instance B of MATLAB from illegally accessing A's private data. See Figure 1. To prevent this problem, the MMU must control access to segments based on the process, not segment, that generated the memory request.Figure 1: Two processes sharing a segment of executable code. The dotted line indicates unauthorizedsharing allowed by segment-based access control.Step #5Consider alternativesz Write a description of design alternatives not chosen.• Refer to design constraints to isolate specific variables • Explain the advantages and disadvantages of alternatives• Tip: No need for more than 1 page in length.Step #6Write introduction & conclusionIntroductionz Explain your motivation for the design• Reference the problem you are addressingz State your approach to the problemz List specific design considerationsz State the purpose of your documentConclusionz Summarize your project1 A Segmented Memory SystemMost virtual memory systems provide each program module with a distinct address space, tied to physical memory that is invisible to other modules. By restricting each module's view of memory, this “standard model" of virtual memory provides excellent faultisolation. However, to claim the advantage of modularity, a programmer adopting the standard model forfeits a convenient interface for sharing memory. Two programs attempting to access the same physical location must use the different virtualaddresses specified in their respective page maps. Sharing would be simpler if all processes ran in the same address space,that is, if any program could reference any piece of data, irrespective of the program that owns it. Ideally, we would like to retain isolation while providing this palatable interface for sharing.One way to approach this problem is to use a segmented memory system: divide the single address space into a number of “segments" and interpret the b high-level bits of each CPU-issued virtual address as a segment number. The remaining bits of a virtual address are used as an offset into the segment. . . .Motivation/ProblemGoalApproachA good MMU must enable a program to prevent all other programs from accessing its segments. That is, the MMU must be able to enforce modularity. At the same time, the MMU must facilitate useful sharing; for example, two instances of Emacs should be able to share the same segment of executable code while


View Full Document

MIT 6 033 - How to Write a Design

Documents in this Course
TRIPLET

TRIPLET

12 pages

End Layer

End Layer

11 pages

Quiz 1

Quiz 1

4 pages

Threads

Threads

18 pages

Quiz I

Quiz I

15 pages

Atomicity

Atomicity

10 pages

QUIZ I

QUIZ I

7 pages

Load more
Download How to Write a Design
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view How to Write a Design and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view How to Write a Design 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?