Lecture9 - COT 5611 Operating Systems Design Principles...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
COT 5611 Operating Systems Design Principles Spring 2012 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 5:00-6:00 PM
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Lecture 9 - Wednesday February 8 n Reading assignment: Chapter 7 from the on-line text n Last time: n Consensus protocols n Modeling concurrency – Petri Nets 2/16/12 2 Lecture 9
Background image of page 2
Today n Design principles for computer and communication systems n Interesting Properties of Networks ¨ Isochronous and Asynchronous Multiplexing ¨ Packet Forwarding; Delay ¨ Queuing models for delay determination ¨ Buffer Overflow and Discarded Packets ¨ Duplicate Packets and Duplicate Suppression ¨ Damaged Packets and Broken Links ¨ Reordered Delivery ¨ Summary of Interesting Properties and the Best-Effort Contract 2/16/12 3 Lecture 9
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
General design principles n Adopt sweeping simplifications : So you can see what you are doing. n Avoid excessive generality : If it is good for everything, it is good for nothing. n Avoid rarely used components : Deterioration and corruption accumulate unnoticed—until the next use. n Be explicit : Get all of the assumptions out on the table. n Decouple modules with indirection : Indirection supports replaceability. n Design for iteration : You won't get it right the first time, so make it easy to change. n End-to-end argument : The application knows best. n Escalating complexity principle : Adding a feature increases complexity out of proportion. n Incommensurate scaling rule : Changing a parameter by a factor of ten requires a new design. n Keep digging principle : Complex systems fail for complex reasons. 2/16/12 4 Lecture 9
Background image of page 4
General design principles n Law of diminishing returns : The more one improves some measure of goodness, the more effort the next improvement will require. n Open design principle : Let anyone comment on the design; you need all the help you can get. n Principle of least astonishment : People are part of the system. Choose interfaces that match the user’s experience, expectations, and mental models. n Robustness principle : Be tolerant of inputs, strict on outputs. n Safety margin principle : Keep track of the distance to the edge of the cliff or you may fall over the edge. n Unyielding foundations rule : It is easier to change a module than to change the modularity. 2/16/12 5 Lecture 9
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Area-specific design principles n Atomicity - golden rule of atomicity: Never modify the only copy! n Coordination - one-writer principle: If each variable has only one writer, coordination is simpler. n
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/15/2012 for the course COP 5611 taught by Professor Staff during the Spring '08 term at University of Central Florida.

Page1 / 31

Lecture9 - COT 5611 Operating Systems Design Principles...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online