1 / 27

COT 4600 Operating Systems Fall 2009

COT 4600 Operating Systems Fall 2009. Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM. Lecture 5. Last time: Project. Today: Names and the basic abstractions Storage Next Time Naming in computing systems. Names and the three basic abstractions.

sfigueroa
Download Presentation

COT 4600 Operating Systems Fall 2009

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM

  2. Lecture 5 Last time: Project. Today: Names and the basic abstractions Storage Next Time Naming in computing systems Lecture 5

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

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

  5. 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)

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

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

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

  9. Access type; access time • Sequential access • Tapes • CD/DVD • Random access devices • Disk • Seek • Search time • Read/Write time • RAM

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

  11. Names and physical addresses Figure 2.2 from textrbook 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

  12. RAID – Redundant Array of Inexpensive Disks • The abstraction put to work to increase performance and durability. • Raid 0  allows concurrent reading and writing. Increases performance but does not improve reliability. • Raid 1  increases durability by replication the block of data on multiple disks (mirroring) • Raid 2  Disks are synchronized and striped in very small stripes, often in single bytes/words. • Error correction calculated across corresponding bits on disks, and is stored on multiple parity disks (Hamming codes).

  13. RAID (cont’d) Raid 3 Striped set with dedicated parity or bit interleaved parity or byte level parity. Raid 4  improves reliability, it adds error correction

  14. RAID (cont’d) • Raid 5  striped disks with parity combines three or more disks to protect data against loss of any one disk. • The storage capacity of the array is reduced by one disk • Raid 6  striped disks with dual parity combines four or more disks to protect against loss of any two disks.  • Makes larger RAID groups more practical. • Large-capacity drives lengthen the time needed to recover from the failure of a single drive. Single parity RAID levels are vulnerable to data loss until the failed drive is rebuilt: the larger the drive, the longer the rebuild will take. Dual parity gives time to rebuild the array without the data being at risk if a (single) additional drive fails before the rebuild is complete.

  15. Figure 2.3 from textbook

  16. Interpreters • The active elements of a computer system • Diverse • Hardware  Processor, Disk Controller, Display controller • Software  • script language: Javascropt, Pearl, Python • text processing systems: Latex, Tex, Word • browser : Safari, Google Chrome,Thunderbird • All share three major abstractions/components: • Instruction reference  tells the system where to find the next instruction • Repertoire  the set of actions (instructions) the interpreter is able to perform • Environment reference  tells the interpreter where to find the its environment, the state in which it should be to execute the next instruction

  17. An abstract interpreter The three elements allow us to describe the functioning of an interpreter regardless of its physical realization. Interrupt  mechanism allowing an interpreter to deal with the transfer of control. Once an instruction is executed the control is passed to an interrupt handler which may change the environment for the next instruction. More than a single interpreter may be present.

  18. Figure 2.5 from the textbook

  19. Processors • Can execute instructions from a specific instruction set • Architecture • PC, IR, SP, GPR, ALU, FPR, FPU • State is saved on a stack by the interrupt handler to transfer control to a different virtual processor, thread.

  20. Interpreters are organized in layers Each layer issues instructions/requests for the next. A lower layer generally carries out multiple instruction for each request from the upper layer.

  21. Figure 2.6 from the textbook

  22. Example – a calendar management program • Top layer a Java program with the following components: • The instruction reference  get the information provided by the keyboard and mouse and interpret them • The repertoire  add an event, delete an event, etc. • The environment  the files holding the current calendar • Next layer  JVM which interprets the program • The instruction reference: next bytecode instruction • JVM instructions • The environment: IR, PC, etc • Bottom layer  the computer the JVM is running on

  23. Figure 2.7 from the textbook

  24. Communication Links • Two operations • SEND (link_name, outgoing_message_Buffer) • RECEIVE (link_name, incoming_message_Buffer) • Message  an array of bits • Physical implementation in hardware • Wires • Networks • Ethernet • Internet • The phone system

More Related