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)

Slides:



Advertisements
Similar presentations
I/O Systems & Mass-Storage Systems
Advertisements

Chapter 6 I/O Systems.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
I/O and Networking Fred Kuhns
I/O Systems.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface.
04/14/2008CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
Chapter 13: I/O Systems- 6th ed
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005 Chapter 13: I/O Systems I/O Hardware.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 13: I/O Systems.
04/16/2010CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying an earlier edition.
I/O Systems CS 3100 I/O Hardware1. I/O Hardware Incredible variety of I/O devices Common concepts ◦Port ◦Bus (daisy chain or shared direct access) ◦Controller.
Chapter 13 Input/Output (I/O) Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
I/O Systems CSCI 444/544 Operating Systems Fall 2008.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
CHAPTER 13: I/O SYSTEMS Overview Overview I/O Hardware I/O Hardware I/O API I/O API I/O Subsystem I/O Subsystem Transforming I/O Requests to Hardware Operations.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13+14: I/O Systems and Mass- Storage Structure I/O Hardware Application I/O.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005 Chapter 13: I/O Systems I/O Hardware.
Operating Systems CMPSC 473 I/O Management (1) November Lecture 23 Instructor: Bhuvan Urgaonkar.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
Silberschatz, Galvin and Gagne  Operating System Concepts I/O Hardware Incredible variety of I/O devices.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 8-2: I/O Management (Review) Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O.
I/O Systems I/O Hardware Application I/O Interface
1 Module 12: I/O Systems n I/O hardware n Application I/O Interface n Kernel I/O Subsystem n Transforming I/O Requests to Hardware Operations n Performance.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 13: I/O Systems.
Cosc 4740 Chapter 12 I/O Systems. I/O Hardware Incredible variety of I/O devices –Storage –Transmission –Human-interface.
Chapter 13: I/O Systems. 13.2/34 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Principles Chapter 13: I/O Systems I/O Hardware Application I/O Interface.
Silberschatz, Galvin and Gagne  Operating System Concepts Six Step Process to Perform DMA Transfer.
XE33OSA Chapter 13: I/O Systems. 13.2XE33OSA Silberschatz, Galvin and Gagne ©2005 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel.
CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
I/O Management.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005 Chapter 13: I/O Systems I/O Hardware.
1 Chapter 13 Input/Output (I/O) Systems Dr. İbrahim Körpeoğlu Bilkent University Department of Computer Engineering.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems Overview I/O Hardware Application.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 13: I/O Systems.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 13: I/O Systems.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
CMSC 421 Section 0202 I/O Systems Chapter 13: I/O Systems.
FILE SYSTEM IMPLEMENTATION 1. 2 File-System Structure File structure Logical storage unit Collection of related information File system resides on secondary.
Module 11: I/O Systems Reading: Chapter 13 Objectives  Explore the structure of the operating system’s I/O subsystem.  Discuss the principles of I/O.
Chapter 13: I/O Systems.
Chapter 13: I/O Systems.
Chapter 13: I/O Systems.
Lecture 13 Input/Output (I/O) Systems (chapter 13)
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter 13: I/O Systems Source & Copyright: Operating System Concepts, Silberschatz, Galvin and Gagne.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems.
CSCI 315 Operating Systems Design
I/O Systems.
I/O Systems I/O Hardware Application I/O Interface
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
Selecting a Disk-Scheduling Algorithm
CS703 - Advanced Operating Systems
Chapter 13: I/O Systems.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems.
Chapter 12: I/O Systems.
Chapter 13: I/O Systems.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Operating Systems I/O System Alok Kumar Jagadev.
Chapter 13: I/O Systems.
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

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) – Controller (host adapter) n I/O instructions control devices n Devices have addresses, used by: – Direct I/O instructions – Memory-mapped I/O

Polling n Determines state of device – command-ready – busy – error n The busy-wait cycle is used to wait for I/O from the device

Interrupts n CPU interrupt request line is triggered by the I/O device n Interrupt handler services the interrupt n Maskable to ignore or delay some interrupts n Interrupt vector contains the address of the correct handler – Based on priority – Some unmaskable n Interrupt mechanism can also be used for exceptions

Interrupt Driven I/O Cycle

Direct Memory Access n Used to avoid programmed I/O for large data transfers n Requires DMA controller n Bypasses CPU to transfer data directly between I/O device and memory

Six step process to perform DMA transfer

Application I/O Interface n The I/O interface is implemented using a layered approach n I/O system calls encapsulate device behaviors in generic classes n Device driver layer hides differences among I/O controllers from kernel

Application I/O Interface (cont) n Devices vary in many dimensions – Character stream or block – Sequential or random access – Synchronous or asynchronous – Sharable or dedicated – Speed of operation – Read-write, read only, or write only

Block and Character Devices n Block devices include disk drives – Commands include read, write, seek – Raw I/O or file system access – Memory mapped file access possible n Character devices include keyboards, mice, serial ports – Commands include get, put – Libraries layered on top allow line editing

Network Devices n They vary enough from block and character devices to have their own interface n Unix and Windows/NT include socket interfaces – Separates network protocol from network operation – Includes select functionality n Approaches vary widely (pipes, FIFOs, streams, queues, mailboxes)

Clocks and Timers n Provide – Current time, – Elapsed time, – Timer to trigger an operation n If a programmable interval timer is used for timings, it can generate periodic interrupts ioctl (on UNIX) covers odd aspects of I/O such as clocks and timers

Blocking and Nonblocking I/O n Blocking - process suspended until I/O is completed – Easy to use and understand – Insufficient for some needs n Nonblocking - I/O call returns as much as available – User interface, data copy (buffered I/O) – Implemented via multi-threading – Returns quickly with count of bytes read or written

Blocking and Nonblocking I/O (cont) n Asynchronous - process runs while I/O executes – Difficult to use – I/O subsystem signals process when I/O completed

Kernel I/O Subsystem n Scheduling – Some I/O requests are reordered to reduce the distance the disk arm travels – Some OSs try fairness n Buffering - store data in memory while transferring between devices – To cope with device speed mismatch – To cope with device transfer size mismatch – To maintain “copy semantics”

Kernel I/O Subsystem (cont) n Caching - fast memory holding copy of data – Always just a copy – Key to performance n Spooling - hold output for a device – If device can serve only one request at a time – Printing is an example n Device reservation - provides exclusive access to a device – System calls for allocation and deallocation – Watch out for deadlock

Error Handling n OS can recover from disk read, device unavailable, transient write failures n Most return an error number or code when I/O request fails n System error logs hold problem reports

Kernel Data Structures n Kernel keeps state information for I/O components, including open file tables, network connections, character device state n Many complex data structures are used to track buffers, memory allocation, “dirty” blocks n Some use object-oriented methods and message passing to implement I/O

I/O Requests to Hardware Operations n Consider reading a file from disk for a process – Determine device holding file – Translate name to device representation – Physically read data from disk into buffer – Make data available to requesting process – Return control to process

Life Cycle of an I/O Request

Performance n I/O a major factor in system performance – Demands CPU to execute device driver, kernel I/O code – Context switches due to interrupts – Data copying – Network traffic especially stressful

Intercomputer communications

Improving Performance n Reduce number of context switches n Reduce data copying n Reduce interrupts by using large transfers, smart controllers, polling n Use DMA n Balance CPU, memory, bus, and I/O performance for highest throughput