Input/Output. q Principles of I/O hardware & software q Secondary storage q Next: File systems
|
|
- Ronald Manning
- 5 years ago
- Views:
Transcription
1 Input/Output q Principles of I/O hardware & software q Secondary storage q Next: File systems
2 Operating systems and I/O Two key OS goals with respect to I/O Control I/O devices Provide a simple, easy-to-use, interface to them Problem a wide range of devices Data rates From 10B/sec (keyboard) to 12,800MB/sec (100 Gigabit Ethernet) Complexity of control A printer (simple) or a disk Units of transfer Character or block devices Error condition nature of errors, reporting, consequences, Difficult to get a uniform & consistent approach 2
3 I/O devices I/O devices components Device itself mechanical component Device controller or adapter electronic component Device controller Converts serial bit stream to block of bytes Performs error correction as necessary Makes data available in main memory Maybe more than one device per controller Some standard interface between controller and devices: IDE, ATA, SATA, SCSI, FireWire, Thunderbolt, 3
4 I/O controller & CPU communication Device controllers have A few registers for communication with CPU Data-in, data-out, status, control, command, A buffer that OS can read/write (e.g. video RAM) Registers Status Command Data Interface Micro-controller (CPU) Memory (DRAM or SRAM or both) Other hardware specific chips Internals A canonical device 4
5 The OS/device interaction A typical interaction While (STATUS == BUSY) ; // wait until devices is free Write data to DATA register Write command to COMMAND register // this starts the device and executes the command While (STATUS == BUSY) ; // wait until is done with your request This model of waiting until ready is call polling When the main CPU is involved in this transfer of data, we call this programmed I/O Simple but polling is very inefficient wasting CPU cycles 5
6 Interrupts to the rescue Instead of waiting, the OS issues a requests, puts the process to sleep and context switches When device is done, raises an interrupt causing CPU to jump to an interrupt handler to finish the request Much better but not always the best, with a fast device it may be best polling Or perhaps a hybrid model polling for a bit and then use interrupts 6
7 Moving data with DMA Another issue with our canonical protocol transferring large chunk of data also wastes CPU as it waits for the copies Direct Memory Access DMA) Another device to take over this OS tells DMA where the data is, much to copy and where to send it to DMA does the work; raises an interrupt when done 7
8 Direct Memory Access OS can use it only if HW has DMA controller Either on the devices (controller) or the parentboard DMA controller has access to the system bus, independent of CPU Various registers accessible by the CPU CPU program the DMA controller DMA controller CPU issues command to disk read, to internal buffer and check DMA operation Address Buffer CPU Count Control + ACK Disk controller Main memory Interrupt when done DMA requests xfer to mem. Data xfer 8
9 The OS/device interaction Issue read command to I/O module Read status of I/O module CPU I/O I/O CPU Issue read command to I/O module Read status of I/O module CPU I/O Do something else I/O CPU Interrupt Issue read command to I/O module Read status of I/O module CPU DMA Do something else DMA CPU Interrupt Not ready Check status Error Check status Error Ready Ready Read word from I/O module I/O CPU Read word from I/O module I/O CPU Write word into memory Write word into memory CPU Mem No Done? No Done? Yes Programmed I/O Yes Interrupt-driven I/O Direct Memory Access 9
10 How does the OS talks with the device a. Separate I/O and memory space, each control register assigned an I/O port and special I/O instructions IBM 360 (IN REG,PORT) Memory Two addresses spaces I/O Ports b. Memory-mapped I/O Mapped all control registers into the memory space; first in PDP-11 One address space Single address spaces c. Hybrid Pentium (e.g., graphic controller) Two addresses spaces 10
11 Memory-mapped I/O pros and cons No special instructions or protection mechanism needed Instruction that can reference memory can reference control registers Write the software that interact with devices entirely in C Caching? Disable it on a per-page basis One AS, so all memory modules and all I/O devices must check all references Easy with single bus, harder with dual-bus arch High-bandwidth memory bus CPU Mem I/O 11
12 Drivers for abstraction How to fit different devices into a general OS? Device drivers abstracts the specifics E.g.., File system and apps oblivious of disk details Application POSIX API [open, close, read, write, ] File system Generic block i/f [block read/write] Generic block layer Specific block i/f [protocol specific read/write] Device driver [SCSI, ATA, etc] User Kernel mode But may hide some useful capabilities Because every device needs a driver >70% of OS code Not written by kernel hackers, so more bugs per line 12
13 An IDE disk driver A simple interface to the system Four type of registers: control, command block, status, error Available for r/w to specific I/O addresses (e.g., 0x3F6) with in and out instructions Control register: Address 0x3F6 = 0x08 (0000 1RE0): R=reset, E=0 means enable interrupt Command block registers: Address 0x1F0 = Data Port Address 0x1F1 = Error Address 0x1F2 = Sector Count Address 0x1F3 = LBA low byte Address 0x1F4 = LBA mid byte Address 0x1F5 = LBA hi byte Address 0x1F6 = 1B1D TOP4LBA: B=LBA D=drive Status Register (Address 0x1F7: BUSY READY FAULT SEEK DRQ CORR IDDEX ERROR Error register (Address 0x1F1): (check when Status ERROR = 1) BBK UNC MC IDNF MCR ABRT TONF AMNF 13
14 Basic protocol Assuming it has been initialized What for drive to be ready Read status register until drive is READY and not BUSY Write parameters to command registers Write the sector count, logical block address (LBA) of the sector to be accessed, and drive number to command registers Start the I/O by issuing r/w to command register Data transfer (for writes) Wait until drive status is READY and DRQ (drive request for data); write data to data port Handle interrupts Simplest case, handle interrupt for each sector transferred,.. Error handling After each operation, check status register for ERROR 14
15 Look at the xv6 IDE driver Add the read/write request to the queue If this is the only request then start it else it will be started in time Wait for the request to complete void ide_rw(struct buf *b) { aqcuire(&ide_lock); for (struct buf **p = &ide_queue; *pp; pp=&(*pp)->qnext) ; // walk queue *pp = b; // add request to end if (ide_queue == b) // if q is empty ide_start_request(b); // send req to disk while ((b->flags & (B_VALID B_DIRTY))! B_VALID) sleep(b, &ide_lock); // wait for completion release(&ide_lock); } 15
16 Look at the xv6 IDE driver static int ide_wait_ready() { while (((int r = inb(0x1f7)) & IDE_BSY)!(r & IDE_DRDY)) ; // loop until drive isn t busy } static void ide_start_request(struct buf *b) { ide_wait_ready(); outb(0x3f6, 0); // generate interrupt outb(0x1f2, 1); // how many sectors? outb(0x1f3, b->sector & 0xff); // Logical Block Address here outb(0x1f4, (b->sector >> 8) & 0xff); //.. and here outb(0x1f5, (b->sector >> 16) & 0xff); //.. and here outb(0x1f6, 0xe0 ((b->dev&1)<<4) ((b->sector>>24)&0x0f)); if(b->flags & B_DIRTY) { outb(0x1f7, IDE_CMD_WRITE); // this is a WRITE outs1(0x1f0, b->data, 512/4); // transfer data too! } else { outb(0x1f7, IDE_CMD_READ); // this is a READ (no data) } } 16
17 Look at the xv6 IDE driver Eventually, disk will finish its operation and trigger an interrupt. trap will call ideintr to handle it. If buffer was being read and disk controller has data waiting, reads data into buffer with insl void ide_intr() { struct buf *b; acquire (&ide_lock); if (!(b->flags & B_DIRTY) && ide_wait_ready() > 0) insl(0x1f0, b->data, 512/4); // if READ: get data b->flags!= B_VALID; b->flags &= ~B_DIRTY; wakup(b); // wake waiting process if ((ide_queue = b->qnext)!= 0) // start next request ide_start_request(ide_queue); // (if one exists) release(&ide_lock); } Now buffer is ready, sets B_VALID, clears B_DIRTY, and wakes up any process sleeping on buffer 17
18 Now a short break 18
19 Disk A concrete I/O device The disk surface spins at a fixed rotational rate ( RPM) Platters with two surfaces sector tracks spindle spindle spindle spindle The read/write head is attached to the end of the arm and flies over the disk surface on a thin cushion of air. By moving radially, the arm can position the read/write head over any track. arm spindle read/write heads move in unison from cylinder to cylinder 19
20 Where the time goes Move the head to the write track seek time (T seek ) On a Cheetah 15K.5 T seek = 4 ms And wait for the sector to go under rotational delay (T rotation ) T rotation = T max rotation /2 = 1/RPMs x 60 sec/1 min x 1/2 15,00 RPMs or 2 ms Now transfer the data (T transfer ) 30 microsecs Total I/O time T I/O = T seek + T rotation +T transfer 6 ms Rate of I/O - size of the transfer / total I/O time 4KB reads / 6ms ~ 0.66 MB/s Random Sequential (a bunch of sectors at once) ~ 125 MB/s 20
21 Disk arm scheduling With disk scheduling easier to estimate time Time to read/write a disk block dominated by seek If request come one at a time, little you can do - FCFS Starting at 53 Requests: 98,183,37,122, 14,124,65,67 21
22 SSTF Given a queue of request for blocks scheduling to reduce head movement Starting at 53 Requests: 98,183,37,122, 14,124,65,67 As SJF, possible starvation 22
23 SCAN, C-SCAN and C-LOOK SCAN C-SCAN Nice, but no need to be blind Starting at 53 Requests: 98,183,37,122, 14,124,65,67 C-LOOK Assuming a uniform distribution of requests, where s the highest density when head is on the left? 23
24 Some scheduling issues Where is scheduling done, OS or disk controller? Originally the OS In modern systems, the controller has all the information and can do it OS just issue a bunch of requests at once How long should the system wait before issuing a new I/O request to the disk? Don t let the device idle work-conserving Wait a bit for a better request non-work-conserving Couldn t the scheduler merge requests? Go over a set of request and merge consecutive ones if possible 24
25 Redundant Array of Inexpensive Disks Independent Disk transfer rates are improving, but slower than CPU performance Use multiple disks to improve performance Strip content across multiple disks Use parallel I/O to improve performance To the FS, just another disk an array of blocks Only bigger, potentially faster and more reliable Evaluating RAID designs Capacity with N disks of size B blocks, what is the available capacity? Reliability how many disk faults can we tolerate? Performance 25
26 RAID 0: Striping Files (range of sectors) are striped across; not really a RAID level, no redundancy But upper bound on performance and capacity (N*B) High read throughput Best write throughput (nothing extra to write) Chunk size is key Small more files striped across many disks, but worst access time But striping reduces reliability (n*mtbf) Add redundancy for reliability Disk 0 Disk 1 Disk 2 Disk
27 RAID 1: Mirroring Files are striped some of the disks and data is written in 2+ places Read from either copy On failure, use the surviving one Two models with four disks RAID 1-0: Mirror then stripes RAID 0-1: Stripes then mirror Of course you need at least 2x space (N*B/2) Read latencies of one disk; writes need two writes to complete and so a bit slower Disk 0 Disk 1 Disk 2 Disk 3 Consistency? Atomicity with write-ahead log
28 RAID 4: Redundancy with parity Like RAID 0 with a strip-for-strip parity written onto an extra drive Parity with a simple XOR Across all bits of the set of blocks Tolerates one disk failure With small capacity cost, (N 1)*B Reads Disk 0 Disk 1 Disk 2 Disk Disk 4 P0 P1 P2 28
29 RAID 5: Distributed parity Block interleaved distributed parity Distribute parity info over all disks Similar capacity and fault tolerance to RAID 4 Much better performance (no hot spot), particularly random So, typically used instead of RAID 4 Disk 0 Disk 1 Disk 2 Disk P1 Disk 4 P P
30 RAIDs other issues RAID 2, 3 work on word (or byte) basis Extra EEC bits added to parts of a word and distributed over all disks RAID 2 A single parity bit computed per word and written to the parity disk RAID 3 Software instead of hardware RAID Tradeoffs Granularity (multiple blocks or words) and redundancy (across all disks or just a few) 30
31 Next time File systems Interface Implementation And a number of good examples 31
32 Look at the xv6 IDE driver (v9) // Sync buf with disk. // If B_DIRTY is set, write buf to disk, clear B_DIRTY, set B_VALID. // Else if B_VALID is not set, read buf from disk, set B_VALID. void iderw(struct buf *b) { struct buf **pp; if(!(b >flags & B_BUSY)) panic("iderw: buf not busy"); if((b >flags & (B_VALID B_DIRTY)) == B_VALID) panic("iderw: nothing to do"); if(b >dev!= 0 &&!havedisk1) panic("iderw: ide disk 1 not present"); acquire(&idelock); // Append b to idequeue. b >qnext = 0; for(pp=&idequeue; *pp; pp=&(*pp) >qnext) ; *pp = b; // Start disk if necessary. if(idequeue == b) idestart(b); First request? Start it } // Wait for request to finish. while((b >flags & (B_VALID B_DIRTY))!= B_VALID){ sleep(b, &idelock); } Instead of polling, go to sleep, waiting for the interrupt handler release(&idelock); to record in buffer s flags that operation is done 32
33 Look at the xv6 IDE driver (v9) // Start the request for b. Caller must hold idelock. static void idestart(struct buf *b) { if(b == 0) panic("idestart"); if(b >blockno >= FSSIZE) panic("incorrect blockno"); int sector_per_block = BSIZE/SECTOR_SIZE; int sector = b >blockno * sector_per_block; int read_cmd = (sector_per_block == 1)? IDE_CMD_READ : IDE_CMD_RDMUL; int write_cmd = (sector_per_block == 1)? IDE_CMD_WRITE : IDE_CMD_WRMUL; if (sector_per_block > 7) panic("idestart"); } idewait(0); outb(0x3f6, 0); // generate interrupt outb(0x1f2, sector_per_block); // number of sectors outb(0x1f3, sector & 0xff); outb(0x1f4, (sector >> 8) & 0xff); outb(0x1f5, (sector >> 16) & 0xff); outb(0x1f6, 0xe0 ((b >dev&1)<>24)&0x0f)); if(b >flags & B_DIRTY){ outb(0x1f7, write_cmd); outsl(0x1f0, b >data, BSIZE/4); } else { outb(0x1f7, read_cmd); } Getting these details right is one reason why writing device drivers is challenging 33
34 Look at the xv6 IDE driver (v9) // Interrupt handler. void ideintr(void) { struct buf *b; // First queued buffer is the active request. acquire(&idelock); if((b = idequeue) == 0){ release(&idelock); // cprintf("spurious IDE interrupt\n"); return; } idequeue = b >qnext; Eventually, disk will finish its operation and trigger an interrupt. trap will call ideintr to handle it. Look at first buffer in queue to see which operation was happening // Read data if needed. if(!(b >flags & B_DIRTY) && idewait(1) >= 0) insl(0x1f0, b >data, BSIZE/4); // Wake process waiting for this buf. b >flags = B_VALID; b >flags &= ~B_DIRTY; wakeup(b); // Start disk on next buf in queue. if(idequeue!= 0) idestart(idequeue); If buffer was being read and disk controller has data waiting, reads data into buffer with insl Now buffer is ready, sets B_VALID, clears B_DIRTY, and wakes up any process sleeping on buffer } release(&idelock); Finally, pass next waiting buffer to disk 34
36. I/O Devices. Operating System: Three Easy Pieces 1
36. I/O Devices Oerating System: Three Easy Pieces AOS@UC 1 I/O Devices I/O is critical to comuter system to interact with systems. Issue : w How should I/O be integrated into systems? w What are the general
More informationInput/Output. Today. Next. Principles of I/O hardware & software I/O software layers Secondary storage. File systems
Input/Output Today Principles of I/O hardware & software I/O software layers Secondary storage Next File systems Operating systems and I/O Two key OS goals Control I/O devices Provide a simple, easy-to-use,
More informationInput/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security
Input/Output Today Principles of I/O hardware & software I/O software layers Disks Next Protection & Security Operating Systems and I/O Two key operating system goals Control I/O devices Provide a simple,
More informationInput/Output. Today. Next. ! Principles of I/O hardware & software! I/O software layers! Secondary storage. ! File systems
Input/Output Today! Principles of I/O hardware & software! I/O software layers! Secondary storage Next! File systems Operating systems and I/O! Two key operating system goals Control I/O devices Provide
More informationCSE 153 Design of Operating Systems Fall 2018
CSE 153 Design of Operating Systems Fall 2018 Lecture 12: File Systems (1) Disk drives OS Abstractions Applications Process File system Virtual memory Operating System CPU Hardware Disk RAM CSE 153 Lecture
More informationMass-Storage Structure
CS 4410 Operating Systems Mass-Storage Structure Summer 2011 Cornell University 1 Today How is data saved in the hard disk? Magnetic disk Disk speed parameters Disk Scheduling RAID Structure 2 Secondary
More informationI/O, Disks, and RAID Yi Shi Fall Xi an Jiaotong University
I/O, Disks, and RAID Yi Shi Fall 2017 Xi an Jiaotong University Goals for Today Disks How does a computer system permanently store data? RAID How to make storage both efficient and reliable? 2 What does
More information[537] I/O Devices/Disks. Tyler Harter
[537] I/O Devices/Disks Tyler Harter I/O Devices Motivation What good is a computer without any I/O devices? - keyboard, display, disks! We want: - H/W that will let us plug in different devices - OS that
More informationCSE 153 Design of Operating Systems
CSE 153 Design of Operating Systems Winter 2018 Lecture 20: File Systems (1) Disk drives OS Abstractions Applications Process File system Virtual memory Operating System CPU Hardware Disk RAM CSE 153 Lecture
More informationChapter-6. SUBJECT:- Operating System TOPICS:- I/O Management. Created by : - Sanjay Patel
Chapter-6 SUBJECT:- Operating System TOPICS:- I/O Management Created by : - Sanjay Patel Disk Scheduling Algorithm 1) First-In-First-Out (FIFO) 2) Shortest Service Time First (SSTF) 3) SCAN 4) Circular-SCAN
More informationChapter 6. Buffer cache. Code: Data structures
DRAFT as of October 16, 2009: Copyright 2009 Cox, Kaashoek, Morris Chapter 6 Buffer cache One of an operating system s central roles is to enable safe cooperation between processes sharing a computer.
More informationUC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara
Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Input and Output Input/Output Devices The OS is responsible for managing I/O devices Issue requests Manage
More informationChapter 10: Mass-Storage Systems
Chapter 10: Mass-Storage Systems Silberschatz, Galvin and Gagne Overview of Mass Storage Structure Magnetic disks provide bulk of secondary storage of modern computers Drives rotate at 60 to 200 times
More informationRef: Chap 12. Secondary Storage and I/O Systems. Applied Operating System Concepts 12.1
Ref: Chap 12 Secondary Storage and I/O Systems Applied Operating System Concepts 12.1 Part 1 - Secondary Storage Secondary storage typically: is anything that is outside of primary memory does not permit
More informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 9: Mass Storage Structure Prof. Alan Mislove (amislove@ccs.neu.edu) Moving-head Disk Mechanism 2 Overview of Mass Storage Structure Magnetic
More informationInput/Output. Chapter 5: I/O Systems. How fast is I/O hardware? Device controllers. Memory-mapped I/O. How is memory-mapped I/O done?
Input/Output : I/O Systems Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Character-oriented terminals Graphical user interfaces Network terminals Power management
More informationHard Disk Drives (HDDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Hard Disk Drives (HDDs) Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Virtualization Virtual CPUs Virtual memory Concurrency Threads Synchronization
More informationCOS 318: Operating Systems. Storage Devices. Vivek Pai Computer Science Department Princeton University
COS 318: Operating Systems Storage Devices Vivek Pai Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Today s Topics Magnetic disks Magnetic disk
More informationIntroduction Disks RAID Tertiary storage. Mass Storage. CMSC 420, York College. November 21, 2006
November 21, 2006 The memory hierarchy Red = Level Access time Capacity Features Registers nanoseconds 100s of bytes fixed Cache nanoseconds 1-2 MB fixed RAM nanoseconds MBs to GBs expandable Disk milliseconds
More informationHard Disk Drives (HDDs)
Hard Disk Drives (HDDs) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationCSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware
CSE 120 July 27, 2006 Day 8 Input/Output Instructor: Neil Rhodes How hardware works Operating Systems Layer What the kernel does API What the programmer does Overview 2 Kinds Block devices: read/write
More informationOperating Systems 2010/2011
Operating Systems 2010/2011 Input/Output Systems part 2 (ch13, ch12) Shudong Chen 1 Recap Discuss the principles of I/O hardware and its complexity Explore the structure of an operating system s I/O subsystem
More informationCOS 318: Operating Systems. Storage Devices. Jaswinder Pal Singh Computer Science Department Princeton University
COS 318: Operating Systems Storage Devices Jaswinder Pal Singh Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Today s Topics Magnetic disks
More informationCSE 380 Computer Operating Systems
CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note on Disk I/O 1 I/O Devices Storage devices Floppy, Magnetic disk, Magnetic tape, CD-ROM, DVD User
More informationChapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition
Chapter 10: Mass-Storage Systems Silberschatz, Galvin and Gagne 2013 Chapter 10: Mass-Storage Systems Overview of Mass Storage Structure Disk Structure Disk Attachment Disk Scheduling Disk Management Swap-Space
More informationComputer Organization and Structure. Bing-Yu Chen National Taiwan University
Computer Organization and Structure Bing-Yu Chen National Taiwan University Storage and Other I/O Topics I/O Performance Measures Types and Characteristics of I/O Devices Buses Interfacing I/O Devices
More informationCOS 318: Operating Systems. Storage Devices. Kai Li Computer Science Department Princeton University
COS 318: Operating Systems Storage Devices Kai Li Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Today s Topics Magnetic disks Magnetic disk
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Review: Memory Accesses 2 Impact of Program Structure on Memory Performance o Consider an array named data with 128*128 elements o Each
More informationI/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13
I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of
More informationStorage. Hwansoo Han
Storage Hwansoo Han I/O Devices I/O devices can be characterized by Behavior: input, out, storage Partner: human or machine Data rate: bytes/sec, transfers/sec I/O bus connections 2 I/O System Characteristics
More informationChapter 12: Mass-Storage
Chapter 12: Mass-Storage Systems Chapter 12: Mass-Storage Systems Revised 2010. Tao Yang Overview of Mass Storage Structure Disk Structure Disk Attachment Disk Scheduling Disk Management Swap-Space Management
More informationCSCI-GA Operating Systems. I/O : Disk Scheduling and RAID. Hubertus Franke
CSCI-GA.2250-001 Operating Systems I/O : Disk Scheduling and RAID Hubertus Franke frankeh@cs.nyu.edu Disks Scheduling Abstracted by OS as files A Conventional Hard Disk (Magnetic) Structure Hard Disk
More informationI/O Management and Disk Scheduling. Chapter 11
I/O Management and Disk Scheduling Chapter 11 Categories of I/O Devices Human readable used to communicate with the user video display terminals keyboard mouse printer Categories of I/O Devices Machine
More informationu Covered: l Management of CPU & concurrency l Management of main memory & virtual memory u Currently --- Management of I/O devices
Where Are We? COS 318: Operating Systems Storage Devices Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) u Covered: l Management of CPU
More informationChapter 10: Mass-Storage Systems
Chapter 10: Mass-Storage Systems Silberschatz, Galvin and Gagne 2013 Chapter 10: Mass-Storage Systems Overview of Mass Storage Structure Disk Structure Disk Attachment Disk Scheduling Disk Management Swap-Space
More informationAppendix D: Storage Systems
Appendix D: Storage Systems Instructor: Josep Torrellas CS433 Copyright Josep Torrellas 1999, 2001, 2002, 2013 1 Storage Systems : Disks Used for long term storage of files temporarily store parts of pgm
More informationMass-Storage. ICS332 - Fall 2017 Operating Systems. Henri Casanova
Mass-Storage ICS332 - Fall 2017 Operating Systems Henri Casanova (henric@hawaii.edu) Magnetic Disks! Magnetic disks (a.k.a. hard drives ) are (still) the most common secondary storage devices today! They
More informationVirtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili
Virtual Memory Lecture notes from MKP and S. Yalamanchili Sections 5.4, 5.5, 5.6, 5.8, 5.10 Reading (2) 1 The Memory Hierarchy ALU registers Cache Memory Memory Memory Managed by the compiler Memory Managed
More informationI/O Device Controllers. I/O Systems. I/O Ports & Memory-Mapped I/O. Direct Memory Access (DMA) Operating Systems 10/20/2010. CSC 256/456 Fall
I/O Device Controllers I/O Systems CS 256/456 Dept. of Computer Science, University of Rochester 10/20/2010 CSC 2/456 1 I/O devices have both mechanical component & electronic component The electronic
More informationV. Mass Storage Systems
TDIU25: Operating Systems V. Mass Storage Systems SGG9: chapter 12 o Mass storage: Hard disks, structure, scheduling, RAID Copyright Notice: The lecture notes are mainly based on modifications of the slides
More informationThe Device Driver Interface. Input/Output Devices. System Call Interface. Device Management Organization
Input/Output s Slide 5-1 The Driver Interface Slide 5-2 write(); Interface Output Terminal Terminal Printer Printer Disk Disk Input or Terminal Terminal Printer Printer Disk Disk Management Organization
More informationI/O & Storage. Jin-Soo Kim ( Computer Systems Laboratory Sungkyunkwan University
I/O & Storage Jin-Soo Kim ( jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics I/O systems Device characteristics: block vs. character I/O systems
More informationMass-Storage Structure
Operating Systems (Fall/Winter 2018) Mass-Storage Structure Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review On-disk structure
More informationStorage Systems. Storage Systems
Storage Systems Storage Systems We already know about four levels of storage: Registers Cache Memory Disk But we've been a little vague on how these devices are interconnected In this unit, we study Input/output
More informationCIS Operating Systems I/O Systems & Secondary Storage. Professor Qiang Zeng Spring 2018
CIS 3207 - Operating Systems I/O Systems & Secondary Storage Professor Qiang Zeng Spring 2018 Previous class Memory subsystem How to allocate physical memory? How to do address translation? How to be quick?
More informationChe-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University
Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University l Chapter 10: File System l Chapter 11: Implementing File-Systems l Chapter 12: Mass-Storage
More informationI/O CANNOT BE IGNORED
LECTURE 13 I/O I/O CANNOT BE IGNORED Assume a program requires 100 seconds, 90 seconds for main memory, 10 seconds for I/O. Assume main memory access improves by ~10% per year and I/O remains the same.
More informationChapter 11. I/O Management and Disk Scheduling
Operating System Chapter 11. I/O Management and Disk Scheduling Lynn Choi School of Electrical Engineering Categories of I/O Devices I/O devices can be grouped into 3 categories Human readable devices
More informationAdministrivia. CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Disks (cont.) Disks - review
Administrivia CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Homework #4 due Thursday answers posted soon after Exam #2 on Thursday, April 24 on memory hierarchy (Unit 4) and
More informationI/O 1. Devices and I/O. key concepts device registers, device drivers, program-controlled I/O, DMA, polling, disk drives, disk head scheduling
I/O 1 Devices and I/O key concepts device registers, device drivers, program-controlled I/O, DMA, polling, disk drives, disk head scheduling reading Three Easy Pieces: Chapters 36-37 I/O 2 Sys/161 Device
More informationDisk Scheduling. Based on the slides supporting the text
Disk Scheduling Based on the slides supporting the text 1 User-Space I/O Software Layers of the I/O system and the main functions of each layer 2 Disk Structure Disk drives are addressed as large 1-dimensional
More informationChapter 12: Mass-Storage Systems. Operating System Concepts 8 th Edition,
Chapter 12: Mass-Storage Systems, Silberschatz, Galvin and Gagne 2009 Chapter 12: Mass-Storage Systems Overview of Mass Storage Structure Disk Structure Disk Scheduling 12.2 Silberschatz, Galvin and Gagne
More informationCSE 120. Operating Systems. March 27, 2014 Lecture 17. Mass Storage. Instructor: Neil Rhodes. Wednesday, March 26, 14
CSE 120 Operating Systems March 27, 2014 Lecture 17 Mass Storage Instructor: Neil Rhodes Paging and Translation Lookaside Buffer frame dirty? no yes CPU checks TLB PTE in TLB? Free page frame? no yes OS
More informationCIS Operating Systems I/O Systems & Secondary Storage. Professor Qiang Zeng Fall 2017
CIS 5512 - Operating Systems I/O Systems & Secondary Storage Professor Qiang Zeng Fall 2017 Previous class Memory subsystem How to allocate physical memory? How to do address translation? How to be quick?
More informationComputer Science 61C Spring Friedland and Weaver. Input/Output
Input/Output 1 A Computer is Useless without I/O I/O handles persistent storage Disks, SSD memory, etc I/O handles user interfaces Keyboard/mouse/display I/O handles network 2 Basic I/O: Devices are Memory
More informationLecture 23: Storage Systems. Topics: disk access, bus design, evaluation metrics, RAID (Sections )
Lecture 23: Storage Systems Topics: disk access, bus design, evaluation metrics, RAID (Sections 7.1-7.9) 1 Role of I/O Activities external to the CPU are typically orders of magnitude slower Example: while
More informationChapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall 1 2 Differences
More informationModule 13: Secondary-Storage Structure
Module 13: Secondary-Storage Structure Disk Structure Disk Scheduling Disk Management Swap-Space Management Disk Reliability Stable-Storage Implementation Operating System Concepts 13.1 Silberschatz and
More informationI/O CANNOT BE IGNORED
LECTURE 13 I/O I/O CANNOT BE IGNORED Assume a program requires 100 seconds, 90 seconds for main memory, 10 seconds for I/O. Assume main memory access improves by ~10% per year and I/O remains the same.
More informationFile. File System Implementation. Operations. Permissions and Data Layout. Storing and Accessing File Data. Opening a File
File File System Implementation Operating Systems Hebrew University Spring 2007 Sequence of bytes, with no structure as far as the operating system is concerned. The only operations are to read and write
More informationI/O Hardwares. Some typical device, network, and data base rates
Input/Output 1 I/O Hardwares Some typical device, network, and data base rates 2 Device Controllers I/O devices have components: mechanical component electronic component The electronic component is the
More informationECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017
ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 Input/Output (IO) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke) IO:
More informationOPERATING SYSTEMS CS3502 Spring Input/Output System Chapter 9
OPERATING SYSTEMS CS3502 Spring 2018 Input/Output System Chapter 9 Input/Output System Major objectives: An application s I/O requests are sent to the I/O device. Take whatever response comes back from
More informationInput/Output Management
Chapter 11 Input/Output Management This could be the messiest aspect of an operating system. There are just too much stuff involved, it is difficult to develop a uniform and consistent theory to cover
More informationSTORAGE SYSTEMS. Operating Systems 2015 Spring by Euiseong Seo
STORAGE SYSTEMS Operating Systems 2015 Spring by Euiseong Seo Today s Topics HDDs (Hard Disk Drives) Disk scheduling policies Linux I/O schedulers Secondary Storage Anything that is outside of primary
More informationFile. File System Implementation. File Metadata. File System Implementation. Direct Memory Access Cont. Hardware background: Direct Memory Access
File File System Implementation Operating Systems Hebrew University Spring 2009 Sequence of bytes, with no structure as far as the operating system is concerned. The only operations are to read and write
More informationChapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition
Chapter 10: Mass-Storage Systems Silberschatz, Galvin and Gagne 2013 Objectives To describe the physical structure of secondary storage devices and its effects on the uses of the devices To explain the
More informationCISC 7310X. C11: Mass Storage. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 4/19/2018 CUNY Brooklyn College
CISC 7310X C11: Mass Storage Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/19/2018 CUNY Brooklyn College 1 Outline Review of memory hierarchy Mass storage devices Reliability
More informationCS420: Operating Systems. Mass Storage Structure
Mass Storage Structure James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Overview of Mass Storage
More informationStorage systems. Computer Systems Architecture CMSC 411 Unit 6 Storage Systems. (Hard) Disks. Disk and Tape Technologies. Disks (cont.
Computer Systems Architecture CMSC 4 Unit 6 Storage Systems Alan Sussman November 23, 2004 Storage systems We already know about four levels of storage: registers cache memory disk but we've been a little
More informationConcepts Introduced. I/O Cannot Be Ignored. Typical Collection of I/O Devices. I/O Issues
Concepts Introduced I/O Cannot Be Ignored Assume a program requires 100 seconds, 90 seconds for accessing main memory and 10 seconds for I/O. I/O introduction magnetic disks ash memory communication with
More informationCSE325 Principles of Operating Systems. Mass-Storage Systems. David P. Duggan. April 19, 2011
CSE325 Principles of Operating Systems Mass-Storage Systems David P. Duggan dduggan@sandia.gov April 19, 2011 Outline Storage Devices Disk Scheduling FCFS SSTF SCAN, C-SCAN LOOK, C-LOOK Redundant Arrays
More informationI/O Systems and Storage Devices
CSC 256/456: Operating Systems I/O Systems and Storage Devices John Criswell! University of Rochester 1 I/O Device Controllers I/O devices have both mechanical component & electronic component! The electronic
More informationChapter 13: Mass-Storage Systems. Disk Scheduling. Disk Scheduling (Cont.) Disk Structure FCFS. Moving-Head Disk Mechanism
Chapter 13: Mass-Storage Systems Disk Scheduling Disk Structure Disk Scheduling Disk Management Swap-Space Management RAID Structure Disk Attachment Stable-Storage Implementation Tertiary Storage Devices
More informationChapter 13: Mass-Storage Systems. Disk Structure
Chapter 13: Mass-Storage Systems Disk Structure Disk Scheduling Disk Management Swap-Space Management RAID Structure Disk Attachment Stable-Storage Implementation Tertiary Storage Devices Operating System
More informationToday: Secondary Storage! Typical Disk Parameters!
Today: Secondary Storage! To read or write a disk block: Seek: (latency) position head over a track/cylinder. The seek time depends on how fast the hardware moves the arm. Rotational delay: (latency) time
More informationDisk Scheduling. Chapter 14 Based on the slides supporting the text and B.Ramamurthy s slides from Spring 2001
Disk Scheduling Chapter 14 Based on the slides supporting the text and B.Ramamurthy s slides from Spring 2001 1 User-Space I/O Software Layers of the I/O system and the main functions of each layer 2 Disks
More informationOPERATING SYSTEMS CS3502 Spring Input/Output System Chapter 9
OPERATING SYSTEMS CS3502 Spring 2017 Input/Output System Chapter 9 Input/Output System Major objectives: An application s I/O requests are sent to the I/O device. Take whatever response comes back from
More informationLecture 13. Storage, Network and Other Peripherals
Lecture 13 Storage, Network and Other Peripherals 1 I/O Systems Processor interrupts Cache Processor & I/O Communication Memory - I/O Bus Main Memory I/O Controller I/O Controller I/O Controller Disk Disk
More informationCSE380 - Operating Systems. Communicating with Devices
CSE380 - Operating Systems Notes for Lecture 15-11/4/04 Matt Blaze (some examples by Insup Lee) Communicating with Devices Modern architectures support convenient communication with devices memory mapped
More informationWhere We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2012 Daniel J. Sorin Duke University
Introduction to Computer Architecture Input/Output () Copyright 2012 Daniel J. Sorin Duke University Slides are derived from work by Amir Roth (Penn) Spring 2012 Where We Are in This Course Right Now So
More informationMass-Storage. ICS332 Operating Systems
Mass-Storage ICS332 Operating Systems Magnetic Disks Magnetic disks are (still) the most common secondary storage devices today They are messy Errors, bad blocks, missed seeks, moving parts And yet, the
More informationChapter 12: Secondary-Storage Structure. Operating System Concepts 8 th Edition,
Chapter 12: Secondary-Storage Structure, Silberschatz, Galvin and Gagne 2009 Chapter 12: Secondary-Storage Structure Overview of Mass Storage Structure Disk Structure Disk Attachment Disk Scheduling Disk
More informationChapter 6. Storage & Other I/O
Chapter 6 Storage & Other I/O 5 components of a Computer Computer Processor (active) Control ( brain ) Datapath ( brawn ) Memory (passive) (where programs, data live when running) Devices Input Output
More informationI/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)
I/O Devices Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Hardware Support for I/O CPU RAM Network Card Graphics Card Memory Bus General I/O Bus (e.g., PCI) Canonical Device OS reads/writes
More informationSecondary storage. CS 537 Lecture 11 Secondary Storage. Disk trends. Another trip down memory lane
Secondary storage CS 537 Lecture 11 Secondary Storage Michael Swift Secondary storage typically: is anything that is outside of primary memory does not permit direct execution of instructions or data retrieval
More informationCHAPTER 12: MASS-STORAGE SYSTEMS (A) By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 12: MASS-STORAGE SYSTEMS (A) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 12: Mass-Storage Systems Overview of Mass-Storage Structure Disk Structure Disk Attachment Disk Scheduling
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,
More informationChapter 6 Storage and Other I/O Topics
Department of Electr rical Eng ineering, Chapter 6 Storage and Other I/O Topics 王振傑 (Chen-Chieh Wang) ccwang@mail.ee.ncku.edu.tw ncku edu Feng-Chia Unive ersity Outline 6.1 Introduction 6.2 Dependability,
More informationIntroduction I/O 1. I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec
Introduction I/O 1 I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec I/O bus connections I/O Device Summary I/O 2 I/O System
More informationCS 201 The Memory Hierarchy. Gerson Robboy Portland State University
CS 201 The Memory Hierarchy Gerson Robboy Portland State University memory hierarchy overview (traditional) CPU registers main memory (RAM) secondary memory (DISK) why? what is different between these
More informationStorage. CS 3410 Computer System Organization & Programming
Storage CS 3410 Computer System Organization & Programming These slides are the product of many rounds of teaching CS 3410 by Deniz Altinbuke, Kevin Walsh, and Professors Weatherspoon, Bala, Bracy, and
More informationCS5460: Operating Systems Lecture 20: File System Reliability
CS5460: Operating Systems Lecture 20: File System Reliability File System Optimizations Modern Historic Technique Disk buffer cache Aggregated disk I/O Prefetching Disk head scheduling Disk interleaving
More informationComputer Architecture Computer Science & Engineering. Chapter 6. Storage and Other I/O Topics BK TP.HCM
Computer Architecture Computer Science & Engineering Chapter 6 Storage and Other I/O Topics Introduction I/O devices can be characterized by Behaviour: input, output, storage Partner: human or machine
More informationChapter 6. Storage and Other I/O Topics
Chapter 6 Storage and Other I/O Topics Introduction I/O devices can be characterized by Behaviour: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec I/O bus connections
More informationOperating Systems. Operating Systems Professor Sina Meraji U of T
Operating Systems Operating Systems Professor Sina Meraji U of T How are file systems implemented? File system implementation Files and directories live on secondary storage Anything outside of primary
More informationI/O 1. Devices and I/O. key concepts device registers, device drivers, program-controlled I/O, DMA, polling, disk drives, disk head scheduling
I/O 1 Devices and I/O key concepts device registers, device drivers, program-controlled I/O, DMA, polling, disk drives, disk head scheduling reading Three Easy Pieces: Chapters 36-37 I/O 2 Sys/161 Device
More informationHard Disk Drives. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)
Hard Disk Drives Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Storage Stack in the OS Application Virtual file system Concrete file system Generic block layer Driver Disk drive Build
More informationChapter 10: Mass-Storage Systems
COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 10: Mass-Storage Systems Zhi Wang Florida State University Content Overview of Mass Storage Structure Disk Structure Disk Scheduling Disk
More informationComputer Science 146. Computer Architecture
Computer Science 46 Computer Architecture Spring 24 Harvard University Instructor: Prof dbrooks@eecsharvardedu Lecture 22: More I/O Computer Science 46 Lecture Outline HW5 and Project Questions? Storage
More information