I/O. The Five Parts of a Computer

Size: px
Start display at page:

Download "I/O. The Five Parts of a Computer"

Transcription

1 I/O Spring 2016 Tore Brox-Larsen Includes original material by Kai Li, Andrew S. Tanenbaum, Pål Halvorsen Otto J. Anshus, Bård Fjukstad, Daniel Stødle, and Andy Bavier The Five Parts of a Computer CPU Datapath Control Memory Input Output

2 Motivation: CS Stanford First Pillars of Strategy Pervasive computer systems: Within two decades, computers will routinely collect terabytes of data person per day. A majority of our business and personal decisions will rely on pervasive data. To create the capability to collect and interpret such massive amounts of data, we will build computer systems of unprecedented scale and connectivity. And we will invent new, more scalable techniques for extracting information from massive data streams. To facilitate this transformation, the Stanford CS Department has to strengthen its faculty in machine learning, distributed databases, software engineering, privacy, and security. Motivation: CS Stanford Second Pillar of Strategy Physical and virtual environments: Within two decades, we will embed sensors into a majority of our physical spaces (cars, buildings, urban areas). These sensors will enable us to gather detailed models of physical spaces and activities, and to seamlessly integrate these models into virtual worlds. As a result, we will overcome critical boundaries that presently constrain people-to-people and people-toenvironment interactions. We will be able to carry out meaningful long-term interactions with others regardless of where they are, what language they speak, and so on. To enable this transformation, the Stanford CS Department has to increase its presence in sensor networks, computer vision, natural language, embedded systems, computer graphics, creative design, and human-computer interaction.

3 Motivation: CS Stanford Third Pillar of Strategy Computational foundations for other academic disciplines: Within two decades, about a dozen non-cs disciplines in science and engineering will adopt CS as a core methodology. These disciplines will rely on CS to provide computational methods for problem solving and as a foundational framework in which key concepts can be stated formally. And they will rely on CS to harvest scientific information from massive new datasets. This dialogue between CS and other scientific discipline will fundamentally transform science and engineering. The Stanford CS Department has to help Stanford University to position itself as a global leader in this new array of CS-enabled disciplines, through a plurality of activities in faculty recruiting, research, and education. Comment: This development will contribute to the increase in volume and variance of I/O I/O Relevance Example Volvo 240 GL (1984): No embedded processors Current VW Diesel Cheatmobile : ~40 embedded processors Current Tesla: ~70 embedded processors Interacting through I/O with car, driver, passengers, service stations, manufacturer Future will include car-to-car information exchange I/O appears to be increasingly varied and relevant for emerging computer systems

4 Input/Output The processor receives input in the form of electrical signals The processor generates and transmits output in the form of electrical signals Sensors generate electrical output based on some physical condition Actuators influence some physical condition based on electrical input Devices may be Simple sensor or actuator (GPS, accelerometer, gyroscope, stepping motor, ) Complex system, possibly combining One or more sensors/actuators Mechanics Memory Software, Devices Devices hook on to and communicate with computer via Standardized interfaces Electrical Mechanical Communication Protocols Choice of interface depends on technical, economical, and market issues

5 Input and Output A computers job is to move and process data Computation (CPU, caches, memory) Move data in and out of the computer (between I/O devices and memory or registers) Challenges with I/O devices Different categories: Storage, networking, displays, Large number of device drivers needed Device drivers that run in kernel mode may crash systems Goals of the OS Provide a generic, consistent, convenient and reliable way to access I/O devices Achieve potential system performance The Mother of all Demos (1968) First demo of modern mouse-keyboard, graphical user interface Integrates new development, hardware & software Doug Engelbart ( ). Stanford Research Institute (SRI), Doug Engelbart Institute Find the video at:

6 Yngvar Lundh Computing Pioneer Founder (1960) and leader of Digital Group ( Siffergruppen ) at NDRE Siffergruppen Family home of Norsk Data, Mycron, Dolphin interconnect etc. Implemented early (1959) video game (Tic-tac-toe) at MIT on TX-0 A lot of other interesting stuff Prof. emer. At Ifi/UiO Big Picture

7 I/O Devices Keyboard, mouse, joystick, sound card, display, scanner, camera, printer, network card, DVD, disk, memory stick, GPS, wind-sensor, motion, radiation, temperature, flow, humidity, gyroscope, etc. etc. Large diversity: many, widely differing device types devices within each type also differ Speed: varying, often slow access & transfer compared to CPU some device-types require very fast access & transfer (e.g., graphic display, high-speed networks) Access: sequential vs. random read, write, read & write... Expect to see new types of I/O devices, and new application of old types Today we talk about I/O characteristics interconnection devices & controllers (disks will be lectured in detail later) data transfers I/O software buffering...

8 Device Controllers Piece of HW that controls one or more identical or similar devices Location integrated on the host motherboard PC-card (e.g., PCI) embedded in the device itself (e.g., disks often have additional embedded controllers) Combinations of the above Device Drivers Software that provides interface between Single device or class of devices Operating system Interface between operating system and device drivers may be: Standardized Non-standardized

9 I/O: Bird s Eye View Device Device controller Device driver Device Device Device Device controller. Device controller Device driver. Device driver I/O System Rest of the operating system I/O Devices Block devices: store information in fixed-size blocks, each one with its own address common block sizes: 512 B 64 KB addressable it is possible to read or write each block independently of all others e.g., disks, floppy, tape, CD, DVD,... Character devices: delivers or accepts a stream of characters, without regard to any block structure it is not addressable and does not have any seek operation e.g., keyboards, mice, terminals, line printers, network interfaces, and most other devices that are not disk-like... Does all devices fit in? clocks and timers memory-mapped screens

10 Operating system s job Goal of OS: Abstract IO devices Present a unified interface to user space Provide a generic, consistent, convenient and reliable way to access I/O devices For instance, user-level app can call open( /dev/device, ) and interact with any device Device independence Achieve good performance What is good performance? I/O Software Stack

11 Four Basic Questions How are devices connected to CPU/memory? How are device controller registers accessed & protected? How are data transmitted? Synchronization: interrupts versus polling? Classic North Bridge/South Bridge Architecture: Via P4X266 Chipset The north bridge manages traffic from CPU CPU & caches memory advanced graphics ports (AGPs) (peripheral component interconnect (PCI) busses) The south bridge manages traffic from universal serial bus (USB) IEEE 1394 ATA (PCI busses) keyboard & mouse... Via P4X266 PCI on south bridge Increased south-north link compared to older Integrated 10/100 Ethernet on south bridge memory PCI? USB,... audio north bridge south bridge AGP ATA keyboard, mouse, floppy

12 Hub Architecture: Intel 850 Chipset The memory controller hub (MCH) manages traffic from CPU & caches memory AGP The I/O controller hub (ICH) manages traffic from all other devices... four 8-bit, 66 MHz ; 266 MB/s Most of the Intel 8XX chipsets have the hub architecture Hub Architecture: Intel 875P Chipset MCH improvements AGP: 4x à 8x memory interface: 200 à 400 MHz system (front side) bus: 400/533 à 800 MHz Gbps network interface But, still only four 8-bit, 66 MHz (266 MBps) hub-to-hub interface 32 bit, 33 MHz PCI bus However, some chipsets (e.g., 840) have a 64-bit, 33/66 MHz PCI Controller Hub (P64H) connected directly to the MCH by a 2x (16 bit) wide hub interface Server chipsets (e.g., E7500) may have several P64Hs replacing the ICH

13 Intel 5520 Intel Z97 Northbridge functionality migrated onto Processor Chip

14 Intel X99 Chipset Northbridge functionality migrated onto Processor Chip Four Basic Questions How are devices connected to CPU/memory? How are device controller registers accessed & protected? How are data transmitted? Synchronization: interrupts versus polling?

15 Accessing Device Controller Registers To communicate with the CPU, each controller have a few registers for communicating with the device The device driver needs to access these registers Additionally, some devices need a memory buffer Two alternatives: port I/O and memory mapped I/O Port I /O Devices registers mapped onto ports ports form a separate address space memory I/O ports The processor has special I/O instructions to read/ write ports Port access is protected by allowing I/O instructions only when processor is in kernel/supervisor mode Used for example by IBM 360 and successors

16 Memory Mapped I/ O Device register addresses are mapped into regular address space Memory address space memory mapped I/O Use regular load/store instructions to read/write registers Use memory protection mechanism to protect device registers from unauthorized access Used for example by PDP-11 Memory Mapped I/O vs. Port I/O Ports: special I/O instructions are CPU dependent Memory mapped: + memory protection mechanism allows greater flexibility than protected instructions + may use all memory reference instructions for I/O Device register addresses must not be cached (must be able to selectively disable caching of address regions) Cannot drown I/O device address logic by presenting devices with every memory address accessed. Bridges are initiated to make sure only allocated address regions are forwarded onto slow peripheral buses. Intel Pentium use a hybrid Address 640K to 1M is used for memory mapped I/O data buffers I/O ports 0 to 64K is used for device control registers

17 Four Basic Questions How are devices connected to CPU/memory? How are device controller registers accessed & protected? How are data transmitted? Synchronization: interrupts versus polling? Performing I/O Data Transmissions Programmed I/O (PIO) the CPU handles the transfers transfers data between registers and device Interrupt driven I/O use CPU to transfer data, but let an I/O module run concurrently Direct Memory Access (DMA) an adaptor accesses main memory transfers blocks of data between memory and device Channel simple specialized peripheral processor dedicated to I/O handles most transmission, but less control shared memory. No private memory. Peripheral Processor (PPU) general processor dedicated to I/O control and transmission shared and private memory. (CDC 6600, 1964)

18 Programmed I/O Example RS-232 serial port Simple serial controller Status registers (ready, busy,... ) Data register Output CPU: Wait until device is not busy Write data to data register Tell device ready Device Wait until ready Clear ready and set busy Take data from data register Clear busy PIO Device delivers data to controller Pentium 4 Processor registers cache(s) PIO: CPU reads data from controller buffer to register CPU writes register to memory location CPU is busy moving data memory controller hub I/O controller hub RDRAM RDRAM RDRAM RDRAM free PCI slots free PCI slots disk controller

19 Direct Memory Access (DMA) Example Disk A simple disk adaptor Status register (done, interrupt,...) DMA command DMA memory address and size DMA data buffer DMA Write CPU: Wait until DMA device is ready Clear ready Set DMAWrite, address, size Set start Block current thread/process Disk adaptor: DMA data to device (size--; address++) Interrupt when size == 0 CPU (interrupt handler): Put the blocked thread/process into ready queue Disk: Move data to disk DMA Device delivers data to controller DMA: 1. set up DMA controller 2. DMA controller initiates transfer 3. data is moved (increasing address, reducing count) 4. disk controller notifies DMA controller when finished (count = 0) 5. DMA controller interrupts CPU is free Cycle stealing on memory bus Pentium 4 Processor registers cache(s) memory controller hub I/O controller hub DMA controller address count... RDRAM RDRAM RDRAM RDRAM free PCI slots free PCI slots disk controller

20 PIO vs. DMA DMA: + supports large transfers, latency of requiring bus is amortized over hundreds/thousands of bytes may be expensive for small transfers overhead to handle virtual memory and cache consistence o is common practice PIO: uses the CPU loads data into registers and cache + potentially faster for small transfers with carefully designed software Detour Latency Numbers Latency Comparison Numbers L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns 14x L1 cache Mutex lock/unlock 25 ns Main memory reference 100 ns 20x L2 cache, 200x L1 cache Compress 1K bytes with Zippy 3,000 ns Send 1K bytes over 1 Gbps network 10,000 ns 0.01 ms Read 4K randomly from SSD* 150,000 ns 0.15 ms Read 1 MB sequentially from memory 250,000 ns 0.25 ms Round trip within same datacenter 500,000 ns 0.5 ms Read 1 MB sequentially from SSD* 1,000,000 ns 1 ms 4X memory Disk seek 10,000,000 ns 10 ms 20x datacenter roundtrip Read 1 MB sequentially from disk 20,000,000 ns 20 ms 80x memory, 20X SSD Send packet CA->Netherlands->CA 150,000,000 ns 150 ms Notes ns = 10-9 seconds 1 ms = 10-3 seconds * Assuming ~1GB/sec SSD Credit By Jeff Dean: Originally by Peter Norvig: Source:

21 Four Basic Questions How are devices connected to CPU/memory? How are device controller registers accessed & protected? How are data transmitted? Synchronization: Interrupts versus polling? Synchronization: Interrupts vs. Polling Polling: processor polls the device while waiting for I/O to complete wastes cycles inefficient Interrupt: device asserts interrupt when I/O completed frees processor to move on to other tasks interrupt processing is costly and introduces latency penalty Possible strategy: apply interrupts, but reduce interrupts frequency through careful driver/controller interaction

22 Polling in Program I/O Wait until device is not busy A polling loop! Advantages Simple Disadvantage Slow Waste CPU cycles Example If a device runs 100 operations / second, CPU may need to wait for 10 msec or 10,000,000 CPU cycles (1Ghz CPU) Interrupt mechanism will allow CPU to avoid polling Interrupt-Driven I/O Writing a string to the printer using interruptdriven I/O a) code executed when print system call is made b) interrupt service procedure

23 Interrupt-Driven Device Simple mouse controller Status registers (done, int,...) Data registers (ΔX, ΔY, button) Input Mouse: Wait until done Store ΔX, ΔY, and button into data registers Raise interrupt CPU (interrupt handler) Clear done Move ΔX, ΔY, and button into kernel buffer Set done Call scheduler Synchronous Read

24 Asynchronous Read Application uses POSIX P Asynchronous I/O Interface Functions Device Driver Design Issues Operating system and driver communication Commands and data between OS and device drivers Driver and hardware communication Commands and data between driver and hardware Driver operations Initialize devices Interpreting commands from OS Schedule multiple outstanding requests Manage data transfers Accept and process interrupts Maintain the integrity of driver and kernel data structures

25 Design Issues Statically install device drivers Reboot OS to install a new device driver Dynamically download device drivers No reboot, but use an indirection Load drivers into kernel memory Install entry points and maintain related data structures Initialize the device drivers Dynamic binding of Device Drivers Indirection Indirect table for all device driver entry points Download a driver Allocate kernel memory Store driver code Link up all entry points Delete a driver Unlink entry points Deallocate kernel memory open(1, )

26 Example System: UAV Instruments Unmanned Aerial Vehicles Many different sensors and instruments onboard GPS, Inertial Measurement Unit (IMU), camera, IR camera, spectrometer, networking (GPRS, Iridium satellite modem, Microhard radio modem), laser altimeter, custom instruments (measure engine RPM, internal temperatures, ) Custom payload computer manages sensor and instrument package, logs data, communicates with ground station Picture from Norut s flight campaign in Ny-Ålesund, Svalbard, July Instrument characteristics Instruments/sensors are typically either serial or USB Gather between 1 KB and 10 MB of data/sec Sensors: Stream data. Little work for driver once device is configured Deliver data such as position, attitude, other measurements Communications: Streaming I/O Interfaces vary from Ethernet-based radio modem networking to back to the eighties modems over 2G/3G or satellite complete with AT command set and other fun stuff. Video using analog video capture USB sticks Off-the-shelf DSLRs for gathering still images. Interface to camera resembles a block-based device.

27 Driver implementation All (custom) drivers implemented in user space Not dynamically loaded by kernel, but managed by payload control software. Hopefully no kernel panics this way! Use kernel s standard interface to I/O devices open( /dev/device, ) Most drivers implemented in python Biggest challenge: Buggy or unreliable hardware Next on the list: Naming! (Especially for serial devices) Best approach to fix transient bugs: Disconnect power to device. Sadly, no simple way to do this for USB- or serial-oriented devices Device Driver Interface Open( devicenumber ) Initialization and allocate resources (buffers) Close( devicenumber ) Cleanup, deallocate, and possibly turnoff Device driver types Block: fixed sized block data transfer Character: variable sized data transfer Terminal: character driver with terminal control Network: streams for networking

28 Device Driver Interface Block devices: read( devicenumber, deviceaddr, bufferaddr ) transfer a block of data from deviceaddr to bufferaddr write( devicenumber, deviceaddr, bufferaddr ) transfer a block of data from bufferaddr to deviceaddr seek( devicenumber, deviceaddress ) move the head to the correct position usually not necessary Character devices: read( devicenumber, bufferaddr, size ) reads size bytes from a byte stream device to bufferaddr write( devicenumber, bufferaddr, size ) write size bytes from buffersize to a byte stream device Some Unix Device Driver Interface Entry Points init(): Initialize hardware start(): Boot time initialization (require system services) open(dev, flag, id): initialization for read or write close/release(dev, flag, id): release resources after read and write halt(): call before the system is shutdown intr(vector): called by the kernel on a hardware interrupt read()/write(): data transfer poll(pri): called by the kernel 25 to 100 times a second ioctl(dev, cmd, arg, mode): special request processing

29 Device-Independent I/O Software Functions of the device-independent I/O software: Uniform interfacing for device drivers Buffering Error reporting Allocating and releasing dedicate devices Providing a device-independent block size... Why Buffering in Kernel? Speed mismatch between the producer and consumer Character device and block device, for example Adapt different data transfer sizes (packets vs. streams) DMA requires contiguous physical memory I/O devices see physical memory User programs use virtual memory Spooling Avoid deadlock problems Caching Serve for same requests of the same data Reduce I/O operations

30 Buffering a) No buffer interrupt per character/block b) User buffering user blocks until buffer full or I/ O complete paging problems!? c) Kernel buffer, copying to user what if buffer is full/busy when new data arrives? d) Double kernel buffering alternate buffers, read from one, write to the other Asynchronous I/O Why do we want asynchronous I/O? Life is simple if all I/O is synchronous How to implement asynchronous I/O? On a read copy data from a system buffer if the data is there otherwise, block the current process On a write copy to a system buffer, initiate the write and return

31 Example: Clocks Old, simple clocks used power lines and caused an interrupt at every voltage pulse (50-60 Hz) New clocks use quartz crystal oscillators generating periodic signals at a very high frequency counter which is decremented each pulse - if zero, it causes an interrupt register to load the counter xtal oscillator frequency adjuster interrupt default value May have several outputs Different modes one-shot - counter is restored only by software square-wave - counter is reset immediately (e.g., for clock ticks) Examples: Clocks HW only generates clock interrupts It is up to the clock software (driver) to make use of this Maintaining time-of-day Preventing processes from running longer than allowed Accounting for CPU usage Handling ALARM system call Providing watchdog timers Doing profiling, monitoring, and statistics gathering

32 Example: Keyboard Keyboards provide input as a sequence of bits Example - coded with IRA - (international reference alph.): K = b 7 b 6 b 5 b 4 b 3 b 2 b 1 = Raw mode vs. Cooked mode Buffering Example: Keyboard Intel 82C55A

33 Example: Keyboard Pentium Processor registers cache(s) Intel 82C55A memory controller hub interrupt RDRAM RDRAM RDRAM RDRAM I/O controller hub PCI slots PCI slots PCI slots keyboard, mouse,... Summary A large fraction of the OS is concerned with I/O Several ways to do I/O Several layers of software

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) I/O Fall 2011 Tore Larsen Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) Big Picture Today we talk about I/O characteristics interconnection devices & controllers (disks

More information

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) I/O Fall 2010 Tore Larsen Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) Big Picture Today we talk about I/O characteristics interconnection devices & controllers (disks

More information

Lecture 15: I/O Devices & Drivers

Lecture 15: I/O Devices & Drivers CS 422/522 Design & Implementation of Operating Systems Lecture 15: I/O Devices & Drivers Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions

More information

I/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 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 information

CSCI-GA Operating Systems I/O. Hubertus Franke

CSCI-GA Operating Systems I/O. Hubertus Franke Operating Systems I/O CSCI-GA.2250-001 Hubertus Franke frankeh@cs.nyu.edu External devices that engage in I/O with computer systems can be grouped into three categories: Human readable suitable for communicating

More information

Chapter 5 - Input / Output

Chapter 5 - Input / Output Chapter 5 - Input / Output Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 5 - Input / Output 1 / 90 1 Motivation 2 Principle of I/O Hardware I/O Devices Device Controllers Memory-Mapped

More information

Computer System Overview

Computer System Overview Computer System Overview Operating Systems 2005/S2 1 What are the objectives of an Operating System? 2 What are the objectives of an Operating System? convenience & abstraction the OS should facilitate

More information

Today: I/O Systems. Architecture of I/O Systems

Today: I/O Systems. Architecture of I/O Systems Today: I/O Systems How does I/O hardware influence the OS? What I/O services does the OS provide? How does the OS implement those services? How can the OS improve the performance of I/O? Lecture 20, page

More information

Chapter 8. A Typical collection of I/O devices. Interrupts. Processor. Cache. Memory I/O bus. I/O controller I/O I/O. Main memory.

Chapter 8. A Typical collection of I/O devices. Interrupts. Processor. Cache. Memory I/O bus. I/O controller I/O I/O. Main memory. Chapter 8 1 A Typical collection of I/O devices Interrupts Cache I/O bus Main memory I/O controller I/O controller I/O controller Disk Disk Graphics output Network 2 1 Interfacing s and Peripherals I/O

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole OS-Related Hardware & Software 2 Lecture 2 Overview OS-Related Hardware & Software - complications in real systems - brief introduction to memory protection,

More information

ECE331: Hardware Organization and Design

ECE331: Hardware Organization and Design ECE331: Hardware Organization and Design Lecture 31: Computer Input/Output Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview for today Input and output are fundamental for

More information

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2. BASIC ELEMENTS Simplified view: Processor Slide 1 Computer System Overview Operating Systems Slide 3 Main Memory referred to as real memory or primary memory volatile modules 2004/S2 secondary memory devices

More information

OPERATING SYSTEMS CS136

OPERATING SYSTEMS CS136 OPERATING SYSTEMS CS136 Jialiang LU Jialiang.lu@sjtu.edu.cn Based on Lecture Notes of Tanenbaum, Modern Operating Systems 3 e, 1 Chapter 5 INPUT/OUTPUT 2 Overview o OS controls I/O devices => o Issue commands,

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 29: Computer Input/Output Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Announcements ECE Honors Exhibition Wednesday, April

More information

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran

More information

Module 11: I/O Systems

Module 11: 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 hardware and its complexity. Provide details on the performance

More information

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

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

Chapter 13: I/O Systems

Chapter 13: I/O Systems COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives

More information

CS330: Operating System and Lab. (Spring 2006) I/O Systems

CS330: Operating System and Lab. (Spring 2006) I/O Systems CS330: Operating System and Lab. (Spring 2006) I/O Systems Today s Topics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking

More information

Module 6: INPUT - OUTPUT (I/O)

Module 6: INPUT - OUTPUT (I/O) Module 6: INPUT - OUTPUT (I/O) Introduction Computers communicate with the outside world via I/O devices Input devices supply computers with data to operate on E.g: Keyboard, Mouse, Voice recognition hardware,

More information

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University EE108B Lecture 17 I/O Buses and Interfacing to CPU Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee108b 1 Announcements Remaining deliverables PA2.2. today HW4 on 3/13 Lab4 on 3/19

More information

I/O Systems. Jo, Heeseung

I/O Systems. Jo, Heeseung I/O Systems Jo, Heeseung Today's Topics Device characteristics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking

More information

Input-Output (I/O) Input - Output. I/O Devices. I/O Devices. I/O Devices. I/O Devices. operating system must control all I/O devices.

Input-Output (I/O) Input - Output. I/O Devices. I/O Devices. I/O Devices. I/O Devices. operating system must control all I/O devices. Input - Output Input-Output (I/O) operating system must control all I/O devices issue commands to devices catch interrupts handle errors provide interface between devices and rest of system main categories

More information

Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals

Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals William Stallings Computer Organization and Architecture 7 th Edition Chapter 7 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In

More information

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture 1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013! Chapter 13: I/O Systems I/O Hardware" Application I/O Interface" Kernel I/O Subsystem" Transforming I/O Requests to Hardware Operations" STREAMS"

More information

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture 168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU

More information

CS162 Operating Systems and Systems Programming Lecture 16. I/O Systems. Page 1

CS162 Operating Systems and Systems Programming Lecture 16. I/O Systems. Page 1 CS162 Operating Systems and Systems Programming Lecture 16 I/O Systems March 31, 2008 Prof. Anthony D. Joseph http://inst.eecs.berkeley.edu/~cs162 Review: Hierarchy of a Modern Computer System Take advantage

More information

操作系统概念 13. I/O Systems

操作系统概念 13. I/O Systems OPERATING SYSTEM CONCEPTS 操作系统概念 13. I/O Systems 东南大学计算机学院 Baili Zhang/ Southeast 1 Objectives 13. I/O Systems Explore the structure of an operating system s I/O subsystem Discuss the principles of I/O

More information

Digital System Design

Digital System Design Digital System Design by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc350 Simon Fraser University i Slide Set: 15 Date: March 30, 2009 Slide

More information

[08] IO SUBSYSTEM 1. 1

[08] IO SUBSYSTEM 1. 1 [08] IO SUBSYSTEM 1. 1 OUTLINE Input/Output (IO) Hardware Device Classes OS Interfaces Performing IO Polled Mode Interrupt Driven Blocking vs Non-blocking Handling IO Buffering & Strategies Other Issues

More information

PC I/O. May 7, Howard Huang 1

PC I/O. May 7, Howard Huang 1 PC I/O Today wraps up the I/O material with a little bit about PC I/O systems. Internal buses like PCI and ISA are critical. External buses like USB and Firewire are becoming more important. Today also

More information

I/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems

I/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems I/O Systems (3): Clocks and Timers CSE 2431: Introduction to Operating Systems 1 Outline Clock Hardware Clock Software Soft Timers 2 Two Types of Clocks Simple clock: tied to the 110- or 220-volt power

More information

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14 CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds

More information

Lecture 13 Input/Output (I/O) Systems (chapter 13)

Lecture 13 Input/Output (I/O) Systems (chapter 13) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 13 Input/Output (I/O) Systems (chapter 13) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The

More information

Organisasi Sistem Komputer

Organisasi Sistem Komputer LOGO Organisasi Sistem Komputer OSK 5 Input Output 1 1 PT. Elektronika FT UNY Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats

More information

Device-Functionality Progression

Device-Functionality Progression Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port

More information

Chapter 12: I/O Systems. I/O Hardware

Chapter 12: I/O Systems. I/O Hardware Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port

More information

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

Computer Organization ECE514. Chapter 5 Input/Output (9hrs) Computer Organization ECE514 Chapter 5 Input/Output (9hrs) Learning Outcomes Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge

More information

Input/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security

Input/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 information

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations

More information

Lecture 23. Finish-up buses Storage

Lecture 23. Finish-up buses Storage Lecture 23 Finish-up buses Storage 1 Example Bus Problems, cont. 2) Assume the following system: A CPU and memory share a 32-bit bus running at 100MHz. The memory needs 50ns to access a 64-bit value from

More information

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Outline of Today s Lecture. The Big Picture: Where are We Now?

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Outline of Today s Lecture. The Big Picture: Where are We Now? CPS104 Computer Organization and Programming Lecture 18: Input-Output Robert Wagner cps 104.1 RW Fall 2000 Outline of Today s Lecture The system Magnetic Disk Tape es DMA cps 104.2 RW Fall 2000 The Big

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives

More information

CSC 553 Operating Systems

CSC 553 Operating Systems CSC 553 Operating Systems Lecture 1- Computer System Overview Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users Manages secondary memory

More information

Lectures More I/O

Lectures More I/O Lectures 24-25 More I/O 1 I/O is slow! How fast can a typical I/O device supply data to a computer? A fast typist can enter 9-10 characters a second on a keyboard. Common local-area network (LAN) speeds

More information

Introduction. Operating Systems. Outline. Hardware. I/O Device Types. Device Controllers. One OS function is to control devices

Introduction. Operating Systems. Outline. Hardware. I/O Device Types. Device Controllers. One OS function is to control devices Introduction Operating Systems Input/Output Devices (Ch12.1-12.3, 12.7; 13.1-13.3, 13.7) One OS function is to control devices significant fraction of code (80-90% of Linux) Want all devices to be simple

More information

The control of I/O devices is a major concern for OS designers

The control of I/O devices is a major concern for OS designers Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices

More information

CS1101: Lecture 21. Organization: Input/Output. Lecture Outline. Buses. A simple personal computer. Buses

CS1101: Lecture 21. Organization: Input/Output. Lecture Outline. Buses. A simple personal computer. Buses CS1101: Lecture 21 Computer Systems Organization: Input/Output Dr. Barry O Sullivan b.osullivan@cs.ucc.ie Buses Lecture Outline A simple personal computer Direct Memory Access Interrupts Bus Arbiter &

More information

I/O Management Intro. Chapter 5

I/O Management Intro. Chapter 5 I/O Management Intro Chapter 5 1 Learning Outcomes A high-level understanding of the properties of a variety of I/O devices. An understanding of methods of interacting with I/O devices. An appreciation

More information

FUNCTIONS OF COMPONENTS OF A PERSONAL COMPUTER

FUNCTIONS OF COMPONENTS OF A PERSONAL COMPUTER FUNCTIONS OF COMPONENTS OF A PERSONAL COMPUTER Components of a personal computer - Summary Computer Case aluminium casing to store all components. Motherboard Central Processor Unit (CPU) Power supply

More information

Computer Architecture CS 355 Busses & I/O System

Computer Architecture CS 355 Busses & I/O System Computer Architecture CS 355 Busses & I/O System Text: Computer Organization & Design, Patterson & Hennessy Chapter 6.5-6.6 Objectives: During this class the student shall learn to: Describe the two basic

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Ninth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information

Operating Systems (CS1022) Input/Output. Yagiz Özbek Evren

Operating Systems (CS1022) Input/Output. Yagiz Özbek Evren Operating Systems (CS1022) Input/Output Yagiz Özbek Evren 1 Content Principles of IO Hardware...3 IO Devices.. Device Controllers.. Memory-Mapped IO... Direct Memory Access... Interrupts. Principles of

More information

Introduction. Operating Systems. Outline. Hardware. I/O Device Types. Device Controllers. One OS function is to control devices

Introduction. Operating Systems. Outline. Hardware. I/O Device Types. Device Controllers. One OS function is to control devices Introduction Operating Systems Input/Output Devices (Ch12.1-12.3, 12.7; 13.1-13.3, 13.7) One OS function is to control devices significant fraction of code (80-90% of Linux) Want all devices to be simple

More information

Chapter 12: I/O Systems

Chapter 12: I/O Systems Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and

More information

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS

More information

Key Points. Rotational delay vs seek delay Disks are slow. Techniques for making disks faster. Flash and SSDs

Key Points. Rotational delay vs seek delay Disks are slow. Techniques for making disks faster. Flash and SSDs IO 1 Today IO 2 Key Points CPU interface and interaction with IO IO devices The basic structure of the IO system (north bridge, south bridge, etc.) The key advantages of high speed serial lines. The benefits

More information

CS162 Operating Systems and Systems Programming Lecture 17. Disk Management and File Systems

CS162 Operating Systems and Systems Programming Lecture 17. Disk Management and File Systems CS162 Operating Systems and Systems Programming Lecture 17 Disk Management and File Systems March 18, 2010 Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Review: Want Standard Interfaces to Devices Block

More information

Outline. Operating Systems: Devices and I/O p. 1/18

Outline. Operating Systems: Devices and I/O p. 1/18 Outline Diversity of I/O devices block and character devices Organization of I/O subsystem of kernel device drivers Common hardware characteristics of device I/O subsystem tasks Operating Systems: Devices

More information

Introduction. Operating Systems. Outline. Hardware. I/O Device Types. Device Controllers. (done)

Introduction. Operating Systems. Outline. Hardware. I/O Device Types. Device Controllers. (done) Introduction Operating Systems Input/Output Devices (Ch 13.3, 13.5; 14.1-14.3) One OS function is to control devices significant fraction of code (80-90% of Linux) Want all devices to be simple to use

More information

QUIZ Ch.6. The EAT for a two-level memory is given by:

QUIZ Ch.6. The EAT for a two-level memory is given by: QUIZ Ch.6 The EAT for a two-level memory is given by: EAT = H Access C + (1-H) Access MM. Derive a similar formula for three-level memory: L1, L2 and RAM. Hint: Instead of H, we now have H 1 and H 2. Source:

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance Objectives Explore the structure of an operating

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

19: I/O. Mark Handley. Direct Memory Access (DMA)

19: I/O. Mark Handley. Direct Memory Access (DMA) 19: I/O Mark Handley Direct Memory Access (DMA) 1 Interrupts Revisited Connections between devices and interrupt controller actually use interrupt lines on the bus rather than dedicated wires. Interrupts

More information

Operating Systems 2010/2011

Operating Systems 2010/2011 Operating Systems 2010/2011 Input/Output Systems part 1 (ch13) Shudong Chen 1 Objectives Discuss the principles of I/O hardware and its complexity Explore the structure of an operating system s I/O subsystem

More information

Comp 204: Computer Systems and Their Implementation. Lecture 18: Devices

Comp 204: Computer Systems and Their Implementation. Lecture 18: Devices Comp 204: Computer Systems and Their Implementation Lecture 18: Devices 1 Today Devices Introduction Handling I/O Device handling Buffering and caching 2 Operating System An Abstract View User Command

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Common Computer-System and OS Structures

Common Computer-System and OS Structures Common Computer-System and OS Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture Oct-03 1 Computer-System Architecture

More information

19: I/O Devices: Clocks, Power Management

19: I/O Devices: Clocks, Power Management 19: I/O Devices: Clocks, Power Management Mark Handley Clock Hardware: A Programmable Clock Pulses Counter, decremented on each pulse Crystal Oscillator On zero, generate interrupt and reload from holding

More information

I/O Design, I/O Subsystem, I/O-Handler Device Driver, Buffering, Disks, RAID January WT 2008/09

I/O Design, I/O Subsystem, I/O-Handler Device Driver, Buffering, Disks, RAID January WT 2008/09 21 I/O Management (1) I/O Design, I/O Subsystem, I/O-Handler Device Driver, Buffering, Disks, RAID January 26 2009 WT 2008/09 2009 Universität Karlsruhe, System Architecture Group 1 Recommended Reading

More information

I/O Devices. I/O Management Intro. Sample Data Rates. I/O Device Handling. Categories of I/O Devices (by usage)

I/O Devices. I/O Management Intro. Sample Data Rates. I/O Device Handling. Categories of I/O Devices (by usage) I/O Devices I/O Management Intro Chapter 5 There exists a large variety of I/O devices: Many of them with different properties They seem to require different interfaces to manipulate and manage them We

More information

Introduction To Computer Hardware. Hafijur Rahman

Introduction To Computer Hardware. Hafijur Rahman Introduction To Computer Hardware Lecture 2 Hafijur Rahman What is a Computer? A computer is an electronic device, which can input, process, and output data. input processing output A computer is a machine

More information

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University I/O Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Device characteristics Block device vs. Character device Direct I/O vs.

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance Operating System Concepts 12.1 Silberschatz and Galvin c

More information

Hardware OS & OS- Application interface

Hardware OS & OS- Application interface CS 4410 Operating Systems Hardware OS & OS- Application interface Summer 2013 Cornell University 1 Today How my device becomes useful for the user? HW-OS interface Device controller Device driver Interrupts

More information

Silberschatz and Galvin Chapter 12

Silberschatz and Galvin Chapter 12 Silberschatz and Galvin Chapter 12 I/O Systems CPSC 410--Richard Furuta 3/19/99 1 Topic overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O requests to hardware operations

More information

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests

More information

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs Third Generation Batch Multiprogramming Misc. Problem: but I/O still expensive; can happen in middle of job Idea: have a pool of ready jobs in memory, switch to one when another needs I/O When one job

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

This page intentionally left blank

This page intentionally left blank This page intentionally left blank 216 THE DIGITAL LOGIC LEVEL CHAP. 3 and in 1995, 2.1 came out. 2.2 has features for mobile computers (mostly for saving battery power). The bus runs at up to 66 MHz and

More information

Chapter 5 Input/Output. I/O Devices

Chapter 5 Input/Output. I/O Devices Chapter 5 Input/Output 5.1 Principles of I/O hardware 5.2 Principles of I/O software 5.3 I/O software layers 5.4 Disks 5.5 Clocks 5.6 Character-oriented terminals 5.7 Graphical user interfaces 5.8 Network

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial) Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Accessing I/O Devices Interface to CPU and Memory Interface to one or more peripherals Generic Model of IO Module Interface for an IO Device: CPU checks I/O module device status I/O module returns status

More information

CMSC 313 Lecture 26 DigSim Assignment 3 Cache Memory Virtual Memory + Cache Memory I/O Architecture

CMSC 313 Lecture 26 DigSim Assignment 3 Cache Memory Virtual Memory + Cache Memory I/O Architecture CMSC 313 Lecture 26 DigSim Assignment 3 Cache Memory Virtual Memory + Cache Memory I/O Architecture UMBC, CMSC313, Richard Chang CMSC 313, Computer Organization & Assembly Language Programming

More information

Introduction CHAPTER 1

Introduction CHAPTER 1 CHAPTER 1 Introduction The ACTI-777 all-in-one single board computer is designed to fit a high performance Pentium-III FC-PGA based CPU and compatible for high-end computer system application with PCI/ISA

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

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

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common

More information

CIS Operating Systems I/O Systems & Secondary Storage. Professor Qiang Zeng Spring 2018

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

Devices. Today. Comp 104: Operating Systems Concepts. Operating System An Abstract View 05/01/2017. Devices. Devices

Devices. Today. Comp 104: Operating Systems Concepts. Operating System An Abstract View 05/01/2017. Devices. Devices Comp 104: Operating Systems Concepts Devices Today Devices Introduction Handling I/O Device handling Buffering and caching 1 2 Operating System An Abstract View User Command Interface Processor Manager

More information

Topic & Scope. Content: The course gives

Topic & Scope. Content: The course gives Topic & Scope Content: The course gives an overview of network processor cards (architectures and use) an introduction of how to program Intel IXP network processors some ideas of how to use network processors

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance I/O Hardware Incredible variety of I/O devices Common

More information

VIA ProSavageDDR KM266 Chipset

VIA ProSavageDDR KM266 Chipset VIA ProSavageDDR KM266 Chipset High Performance Integrated DDR platform for the AMD Athlon XP Page 1 The VIA ProSavageDDR KM266: High Performance Integrated DDR platform for the AMD Athlon XP processor

More information

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

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

Introduction to Input and Output

Introduction to Input and Output Introduction to Input and Output The I/O subsystem provides the mechanism for communication between the CPU and the outside world (I/O devices). Design factors: I/O device characteristics (input, output,

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013 CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013 TOPICS TODAY I/O Architectures Interrupts Exceptions FETCH EXECUTE CYCLE 1.7 The von Neumann Model This is a general

More information