1. Trang chủ
  2. » Giáo án - Bài giảng

Chapter 13 Io systems

38 317 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chapter 13 Io systems
Tác giả Silberschatz, Galvin, Gagne
Trường học Unknown
Chuyên ngành Computer Science
Thể loại textbook
Năm xuất bản 2005
Định dạng
Số trang 38
Dung lượng 1,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

13.11 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005Direct Memory Access Used to avoid programmed I/O for large data movement Requires DMA con

Trang 1

Chapter 13: I/O Systems

Trang 2

13.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Chapter 13: I/O Systems

I/O HardwareApplication I/O InterfaceKernel I/O SubsystemTransforming I/O Requests to Hardware OperationsStreams

Performance

Trang 3

13.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Trang 4

13.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

I/O Hardware

Incredible variety of I/O devicesCommon concepts

Port Bus (daisy chain or shared direct access) Controller (host adapter)

I/O instructions control devicesDevices have addresses, used by Direct I/O instructions

Memory-mapped I/O

Trang 5

13.5 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

A Typical PC Bus Structure

Trang 6

13.6 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Device I/O Port Locations on PCs (partial)

Trang 7

13.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Polling

Determines state of device command-ready

busyError

Busy-wait cycle to wait for I/O from device

Trang 8

13.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

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 handlerBased on priority

Some nonmaskable

Interrupt mechanism also used for exceptions

Trang 9

13.9 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Interrupt-Driven I/O Cycle

Trang 10

13.10 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Intel Pentium Processor Event-Vector Table

Trang 11

13.11 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

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

Trang 12

13.12 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Six Step Process to Perform DMA Transfer

Trang 13

13.13 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Application I/O Interface

I/O system calls encapsulate device behaviors in generic classesDevice-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

Trang 14

13.14 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

A Kernel I/O Structure

Trang 15

13.15 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Characteristics of I/O Devices

Trang 16

13.16 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Block and Character Devices

Block devices include disk drivesCommands include read, write, seek Raw I/O or file-system access

Memory-mapped file access possible

Character devices include keyboards, mice, serial ports

Libraries layered on top allow line editing

Trang 17

13.17 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

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

Approaches vary widely (pipes, FIFOs, streams, queues, mailboxes)

Trang 18

13.18 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Clocks and Timers

Provide current time, elapsed time, timer

Programmable interval timer used for timings, periodic interrupts

timers

Trang 19

13.19 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Blocking and Nonblocking I/O

Blocking - process suspended until I/O completed

Easy to use and understandInsufficient 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 useI/O subsystem signals process when I/O completed

Trang 20

13.20 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Two I/O Methods

Trang 21

13.21 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Kernel I/O Subsystem

SchedulingSome I/O request ordering via per-device queueSome 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”

Trang 22

13.22 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Device-status Table

Trang 23

13.23 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Sun Enterprise 6000 Device-Transfer Rates

Trang 24

13.24 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Kernel I/O Subsystem

Caching - fast memory holding copy of data

Always just a copyKey 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 deallocationWatch out for deadlock

Trang 25

13.25 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Trang 26

13.26 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Trang 27

13.27 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Use of a System Call to Perform I/O

Trang 28

13.28 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

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

Trang 29

13.29 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

UNIX I/O Kernel Structure

Trang 30

13.30 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

I/O Requests to Hardware Operations

Consider reading a file from disk for a process:

Determine device holding file Translate name to device representationPhysically read data from disk into bufferMake data available to requesting processReturn control to process

Trang 31

13.31 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Life Cycle of An I/O Request

Trang 32

13.32 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

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:

- driver end interfaces with the device

Each module contains a read queue and a write queue

Message passing is used to communicate between queues

Trang 33

13.33 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

The STREAMS Structure

Trang 34

13.34 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Performance

I/O a major factor in system performance:

Demands CPU to execute device driver, kernel I/O codeContext switches due to interrupts

Data copyingNetwork traffic especially stressful

Trang 35

13.35 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Intercomputer Communications

Trang 36

13.36 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Trang 37

13.37 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005

Device-Functionality Progression

Trang 38

End of Chapter 13

Ngày đăng: 13/05/2014, 00:36

TỪ KHÓA LIÊN QUAN