Cot 4600 operating systems spring 2011
1 / 26

COT 4600 Operating Systems Spring 2011 - PowerPoint PPT Presentation

  • Uploaded on

COT 4600 Operating Systems Spring 2011. Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 6:00-7:15 PM. Last time: Discussion of the paper “Architecture of Complexity” by H. A. Simon Modularity, Abstractions, Layering, Hierarchy Today:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' COT 4600 Operating Systems Spring 2011' - sakina

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cot 4600 operating systems spring 2011

COT 4600 Operating Systems Spring 2011

Dan C. Marinescu

Office: HEC 304

Office hours: Tu-Th 6:00-7:15 PM

Lecture 5 thursday january 27 2011

Last time:

Discussion of the paper “Architecture of Complexity” by H. A. Simon

Modularity, Abstractions, Layering, Hierarchy


Discussion of the paper “Hints for Computer Systems Design” by Butler Lampson.

Layering and Hierarchy for Coping with Complexity

Complexity of Computer Systems

Bandwidth and Latency


Names and The Basic Abstractions

Memory. Critical Properties of Memory Systems.

Read-Write Coherence

Before or After Atomicity

Next time

Raid Systems

Lecture 5 – Thursday, January 27 2011

Lecture 5

Layering for coping with complexity
Layering for Coping with Complexity

  • Layering  building a set of successive functional entities with restricted communication patterns, a layer may only communicate with the layer below it and with the one above it.

  • Examples: networking

Hierarchy for coping with complexity
Hierarchy for Coping with Complexity

  • Hierarchical structures  construct a large system from a small collection of relatively large subsystems

  • Examples:

    • Corporations

    • An army

    • A computer is a collection of subsystems


  • Modularity along with abstraction, layering, and hierarchy allow a designer to cope with complexity;

  • Names and addresses  provide the means to connect modules.

  • A system  a bunch of resources, glued together with names

  • Naming allows the designer to:

    • Delay the implementation of some modules; use dummy ones

    • Replace an implementation with another one.

  • Binding choosing an implementation for a module

    • Delayed binding; use a place holder.

Digital computers a distinct species of complex systems
Digital computers - a distinct species of complex systems

  • The complexity of digital computer systems not limited by the laws of physics  distant bounds on composition

    • Digital systems are noise-free.

    • The hardware is controlled by software

  • The rate of change unprecedented

    • The cost of digital hardware has dropped in average 30% per year for the past 35 years

Lecture 5

Analog digital and hybrid systems
Analog, digital, and hybrid systems

  • Analog systems:

    • the noise from individual components accumulate and

    • the number of components is limited

  • Digital systems:

    • are noise-free

    • the number of components is not limited

    • regeneration  restoration of digital signal levels

    • static discipline the range of the analog values a device accepts for each input digital value should be wider than the range of analog output values

    • digital components could fail but big mistakes are easier to detect than small ones!!

  • Hybrid systems  e.g., quantum computers and quantum communication systems

Lecture 5

Computers are controlled by software
Computers are controlled by software

  • Composition of hardware limited by laws of physics.

  • Composition of software is not physically constrained;

    • software packages of 107 lines of code exist

  • Abstractions hide the implementation beneath module interfaces and allow the

    • creation of complex software

    • modification of the modules

  • Abstractions can be leaky. Example, representation of integers, floating point numbers.

Lecture 5

Exponential growth of computers
Exponential growth of computers

  • Unprecedented:

    • when a system is ready to be released it may already be obsolete.

    • when one of the parameters of a system changes by a factor of

      • 2 other components must be drastically altered due to the incommensurate scaling.

      • 10  the systems must be redesigned; E.g.; balance CPU, memory, and I/O bandwidth;

    • does not give pause to developers

      • to learn lessons from existing systems

      • find and correct all errors

    • negatively affects “human engineering”  ability to build reliable and user-friendly systems

    • the legal and social frameworks are not ready

Lecture 5

Coping with complexity of computer systems
Coping with complexity of computer systems

  • Modularity, abstraction, layering, and hierarchy are necessary but not sufficient.

  • An additional technique  iteration

  • Iteration

    • Design increasingly more complex functionality in the system

    • Test the system at each stage of the iteration to convince yourself that the design is sound

    • Easier to make changes during the design process

Lecture 5

Iteration design principles
Iteration – design principles

  • Make it easy to change

    • the simplest version must accommodate all changes required by successive versions

    • do not deviate from the original design rationale

    • think carefully about modularity  it is very hard to change it.

  • Take small steps; rebuild the system every day, to discover design flaws and errors. Ask others to test it.

  • Don’t rush to implementation. Think hard before starting to program.

  • Use feedback judiciously

    • use alpha and beta versions

    • do not be overconfident from an early success

  • Study failures  understand that complex systems fail for complex reasons.

Lecture 5

Curbing complexity
Curbing complexity

  • In absence of physical laws curb the complexity by good judgment. Easier said than done because:

    • tempted to add new features than in the previous generation

    • competitors have already incorporated the new features

    • the features seem easy to implement

    • the technology has improved

    • human behavior: arrogance, pride, overconfidence…

Lecture 5

Names and fundamental abstractions
Names and fundamental abstractions

  • The fundamental abstractions

    • Storage  mem, disk, data struct, File Systems, disk arrays

    • Interpreters cpu, programming language e.g. java VM

    • Communication wire, Ethernet

      rely on names.

  • Naming:

    • Flat

    • Hierarchical

Lecture 5

Names and the three basic abstractions
Names and the three basic abstractions

  • Memory  stores named objects

    • write(name, value) value  READ(name)

    • file system: /dcm/classes/Fall09/Lectures/Lecture5.ppt

  • Interpreters  manipulates named objects

    • machine instructions ADD R1,R2

    • modules  Variables call sort(table)

  • Communication Links connect named objects

    • HTTP protocol used by the Web and file systems


      put /dcm/classes/Fall09/Lectures/Lecture5.ppt

      get /dcm/classes/Fall09/Lectures/Lecture5.ppt

Lecture 5


Latency and bandwidth
Latency and Bandwidth

Lecture 5

  • Important concepts for physical characterization.

  • Applies to all three abstractions.

  • Informal

    • Bandwidth  number of operations per second!

    • Latency  to get there

  • The bandwidth of the CPU, Memory, and I/O sbsystems must be balanced.



  • Hardware memory:

    • Devices

      • RAM (Random Access Memory) chip

      • Flash memory  non-volatile memory that can be erased and reprogrammed

      • Magnetic tape

      • Magnetic Disk

      • CD and DVD

    • Systems

      • RAID

      • File systems

      • DBMS (Data Base management Systems)

Lecture 5


Attributes of the storage medium system
Attributes of the storage medium/system

  • Durability  the time it remembers

  • Stability  whether or not the data is changed during the storage

  • Persistence  property of data storage system, it keeps trying to preserve the data

Lecture 5


Critical properties of a storage medium system
Critical properties of a storage medium/system

  • Read/Write Coherence  the result of a READ of a memory cell should be the same as the most recent WRITE to that cell.

  • Before-or-after atomicity the result of every READ or WRITE is as if that READ or WRITE occurred either completely before or completely after any other READ or WRITE

Lecture 5


Why it is hard to guarantee the critical properties
Why it is hard to guarantee the critical properties?

  • Concurrency  multiple threads could READ/WRITE to the same cell

  • Remote storage  The delay to reach the physical storage may not guarantee FIFO operation

  • Optimizations  data may be buffered to increase I/O efficiency

  • Cell size may be different than data size  data may be written to multiple cells.

  • Replicated storage  difficult to maintain consistency.

Lecture 5


Access type access time
Access type; access time

  • Sequential access

    • Tapes

    • CD/DVD

  • Random access devices

    • Disk

      • Seek

      • Search time

      • Read/Write time

    • RAM

Lecture 5


Physical memory organization
Physical memory organization

Lecture 5

  • RAM  two dimensional array. To select a flip-flop provide the x and y coordinates.

  • Tapes  blocks of a given length and gaps (special combination of bits.

  • Disk:

    • Multiple platters

    • Cylinders correspond to a particular position of the moving arm

    • Track  circular pattern of bits on a given platter and cylinder

    • Record  multiple records on a track


Names and physical addresses
Names and physical addresses

Figure 2.2 from textrbook

Lecture 5

Location addressed memory  the hardware maps the physical coordinates to consecutive integers, addresses

Associative memory  unrestricted mapping; the hardware does not impose any constraints in mapping the physical coordinates