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.

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.
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)
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.
Chapter 13 Input/Output (I/O) Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 13: I/O Systems.
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.
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 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.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 13: I/O Systems.
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.
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 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.
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

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 (host adapter) I/O instructions control devices Devices have addresses, used by ◦Direct I/O instructions ◦Memory-mapped I/O CS 3100 I/O Hardware2

A Typical PC Bus Structure CS 3100 I/O Hardware3

Device I/O Port Locations on PCs (partial) CS 3100 I/O Hardware4

Polling Determines state of device ◦command-ready ◦busy ◦Error Busy-wait cycle to wait for I/O from device CS 3100 I/O Hardware5

Interrupts CPU Interrupt-request line triggered by I/O device Interrupt handler receives interrupts Maskable to ignore or delay some interrupts Interrupt vector to dispatch interrupt to correct handler ◦Based on priority ◦Some nonmaskable Interrupt mechanism also used for exceptions CS 3100 I/O Hardware6

Interrupt-Driven I/O Cycle CS 3100 I/O Hardware7

Intel Pentium Processor Event- Vector Table CS 3100 I/O Hardware8

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

Six Step Process to Perform DMA Transfer CS 3100 I/O Hardware10

Application I/O Interface I/O system calls encapsulate device behaviors in generic classes Device-driver layer hides differences among I/O controllers from kernel Devices vary in many dimensions ◦Character-stream or block ◦Sequential or random-access ◦Sharable or dedicated ◦Speed of operation ◦read-write, read only, or write only CS 3100 I/O Hardware11

A Kernel I/O Structure CS 3100 I/O Hardware12

Characteristics of I/O Devices CS 3100 I/O Hardware13

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

Network Devices Varying enough from block and character to have own interface Unix and Windows NT/9x/2000 include socket interface ◦Separates network protocol from network operation ◦Includes select functionality Approaches vary widely (pipes, FIFOs, streams, queues, mailboxes) CS 3100 I/O Hardware15

Clocks and Timers Provide current time, elapsed time, timer Programmable interval timer used for timings, periodic interrupts ioctl (on UNIX) covers odd aspects of I/O such as clocks and timers CS 3100 I/O Hardware16

Blocking and Nonblocking I/O Blocking - process suspended until I/O completed ◦Easy to use and understand ◦Insufficient for some needs 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 Asynchronous - process runs while I/O executes ◦Difficult to use ◦I/O subsystem signals process when I/O completed CS 3100 I/O Hardware17

Two I/O Methods CS 3100 I/O Hardware18

Kernel I/O Subsystem Scheduling ◦Some I/O request ordering via per-device queue ◦Some OSs try fairness 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” CS 3100 I/O Hardware19

Device-status Table CS 3100 I/O Hardware20

Sun Enterprise 6000 Device- Transfer Rates CS 3100 I/O Hardware21

Kernel I/O Subsystem Caching - fast memory holding copy of data ◦Always just a copy ◦Key to performance Spooling - hold output for a device ◦If device can serve only one request at a time ◦i.e., Printing Device reservation - provides exclusive access to a device ◦System calls for allocation and deallocation ◦Watch out for deadlock CS 3100 I/O Hardware22

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

I/O Protection User process may accidentally or purposefully attempt to disrupt normal operation via illegal I/O instructions ◦All I/O instructions defined to be privileged ◦I/O must be performed via system calls  Memory-mapped and I/O port memory locations must be protected too CS 3100 I/O Hardware24

Use of a System Call to Perform I/O CS 3100 I/O Hardware25

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

UNIX I/O Kernel Structure CS 3100 I/O Hardware27

I/O Requests to Hardware Operations 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 CS 3100 I/O Hardware28

Life Cycle of An I/O Request CS 3100 I/O Hardware29

STREAMS STREAM – a full-duplex communication channel between a user-level process and a device in Unix System V and beyond A STREAM consists of: - STREAM head interfaces with the user process - driver end interfaces with the device - zero or more STREAM modules between them. Each module contains a read queue and a write queue Message passing is used to communicate between queues CS 3100 I/O Hardware30

The STREAMS Structure CS 3100 I/O Hardware31

Performance 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 CS 3100 I/O Hardware32

Intercomputer Communications CS 3100 I/O Hardware33

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

Device-Functionality Progression CS 3100 I/O Hardware35