COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 6:00-7:15 PM.

Slides:



Advertisements
Similar presentations
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
Advertisements

Lecture 13 Page 1 CS 111 Online File Systems: Introduction CS 111 On-Line MS Program Operating Systems Peter Reiher.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Device Management.
Chapter 1 Data Storage. 2 Chapter 1: Data Storage 1.1 Bits and Their Storage 1.2 Main Memory 1.3 Mass Storage 1.4 Representing Information as Bit Patterns.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Language Evaluation Criteria
COT 5611 Operating Systems Design Principles Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 1:00-2:00 PM.
CGS 3863 Operating Systems Spring 2013 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 11:30 AM – 1 PM.
CS370 Spring 2007 CS 370 Database Systems Lecture 2 Overview of Database Systems.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM.
Input/OUTPUT [I/O Module structure].
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
An Introduction to Software Architecture
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Digital Design and Computer Architecture Dr. Robert D. Kent LT Ext Lecture 1 Introduction.
CE Operating Systems Lecture 20 Disk I/O. Overview of lecture In this lecture we will look at: Disk Structure Disk Scheduling Disk Management Swap-Space.
Chapter 1 Introduction. Objectives To explain the definition of computer architecture To discuss the history of computers To describe the von-neumann.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 3:00-4:00 PM.
Programming for GCSE Topic 5.1: Memory and Storage T eaching L ondon C omputing William Marsh School of Electronic Engineering and Computer Science Queen.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Managing Complexity: Systems Design March 2, 2001.
Computer Architecture Lecture 32 Fasih ur Rehman.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Office: HEC 439 B.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Operating Systems COT 4600 – Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: W, F 3:00-4:00 PM.
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM.
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
System Components Operating System Services System Calls.
Types for Programs and Proofs
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Operating System I/O System Monday, August 11, 2008.
COP 4600 Operating Systems Fall 2010
COT 5611 Operating Systems Design Principles Spring 2014
COT 5611 Operating Systems Design Principles Spring 2012
COT 5611 Operating Systems Design Principles Spring 2012
COT 4600 Operating Systems Spring 2011
COT 4600 Operating Systems Fall 2010
An Introduction to Software Architecture
Chapter 2: Operating-System Structures
COT 5611 Operating Systems Design Principles Spring 2012
COT 5611 Operating Systems Design Principles Spring 2010
Computer Architecture
Chapter 2: Operating-System Structures
COT 5611 Operating Systems Design Principles Spring 2014
COT 5611 Operating Systems Design Principles Spring 2014
Presentation transcript:

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: 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 Iteration 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 Lecture 5

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 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

Names 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 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 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 Composition of hardware limited by laws of physics. Composition of software is not physically constrained;  software packages of 10 7 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 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 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 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 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

Critical elements of information revolution! Lecture 5

Names and fundamental abstractions The fundamental abstractions 1. Storage  mem, disk, data struct, File Systems, disk arrays 2. Interpreters  cpu, programming language e.g. java VM 3. Communication  wire, Ethernet rely on names. Naming:  Flat  Hierarchical Lecture 5

16 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 Host: boticelli.cs.ucf.edu put /dcm/classes/Fall09/Lectures/Lecture5.ppt get /dcm/classes/Fall09/Lectures/Lecture5.ppt

Lecture 5 Latency and Bandwidth 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. 17

Lecture 5 18

Lecture 5 19 Memory 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 20 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 21 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 22

Lecture 5 23 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 24 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 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 25

Lecture 5 Names and physical addresses 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 26 Figure 2.2 from textrbook