1. Trang chủ
  2. » Công Nghệ Thông Tin

Lecture Operating system principles - Chapter 11: I/O Management and disk scheduling

45 94 0

Đ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

Định dạng
Số trang 45
Dung lượng 205,16 KB

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

Nội dung

After studying this chapter, you should be able to: Summarize key categories of I/O devices on computers, discuss the organization of the I/O function, explain some of the key issues in the design of OS support for I/O, analyze the performance implications of various I/O buffering alternatives,...

Trang 1

Chapter 11 I/O Management and Disk Scheduling

– Operating System Design Issues

– I/O Buffering

– Disk Scheduling

– Disk Cache

Trang 2

• Solution: use a hierarchical modular design of I/O functions

– Hide details of device I/O in lower-level routines

– User processes and upper levels of OS see devices in terms of

general functions, such as read, write, open, close, lock, unlock

Trang 3

A Model of I/O Organization

• Logical I/O:

– Deals with the device as a logical resource

and is not concerned with the details of

actually controlling the device

– Allows user processes to deal with the device

in terms of a device identifier and simple

commands such as open, close, read, write

• Device I/O:

– Converts requested operations into sequence

of I/O instructions

Trang 4

A Model of I/O Organization

• Scheduling and Control:

– Performs actual queuing / scheduling and

control operations

– Handles interrupts and collects and

reports I/O status

– Interacts with the I/O module and hence

the device hardware

Trang 5

Goal: Efficiency

• Most I/O devices are extremely slow

compared to main memory

 I/O operations often form a bottleneck

in a computing system

• Multiprogramming allows some processes

to be waiting on I/O while another process

is executing

Trang 6

Goal: Efficiency

• Swapping brings in ready processes but

this is an I/O operation itself

• A major effort in I/O design has been

schemes for improving the efficiency of I/O

– I/O buffering

– Disk scheduling

– Disk cache

Trang 8

No Buffering

• Without a buffer, OS directly accesses the device as and when it needs

• A data area within the address space of

the user process is used for I/O

Trang 9

No Buffering

• Process must wait for I/O to complete

before proceeding

– busy waiting (like programmed I/O)

– process suspension on an interrupt (like

interrupt-driven I/O or DMA)

• Problems

– the program is hung up waiting for the

relatively slow I/O to complete

Trang 10

No Buffering

– It is impossible to swap the process out

completely because the data area must be

locked in main memory before I/O

– Otherwise, data may be lost or single-process deadlock may happen

• the suspended process is blocked waiting on the

I/O event, and the I/O operation is blocked waiting for the process to be swapped in

Trang 11

I/O Buffering

• It may be more efficient to perform input

transfers in advance of requests being

made and to perform output transfers

some time after the request is made

Trang 12

• Transfers are made a block at a time

• Can reference data by block number

Trang 13

– mouse and other pointing devices, and

– most other devices that are not secondary

storage

• Transfer information as a stream of bytes

Trang 14

Single Buffer

• OS assigns a buffer in the system portion

of main memory for an I/O request

Trang 15

Block Oriented Single Buffer

• Input transfers are made to system buffer

• Block moved to user space when needed

• The next block is immediately requested,

expecting that the block will eventually be

needed

– Read ahead or Anticipated Input

• A reasonable assumption as data is

usually accessed sequentially

Trang 16

Block Oriented Single Buffer

•  Provide a speedup

– User process can be processing one block of data while the next block is being read in

•  OS is able to swap the process out

because the I/O operation is taking place

in system memory

Trang 17

Block Oriented Single Buffer

•  Complicate the logic in OS

– OS must keep track of the assignment of

system buffers to user processes

•  Affect the swapping logic

– Consider both the I/O operation and swapping involve the same disk

• Does it make sense to swap the process out after the I/O operation finishes?

Trang 18

Stream-oriented Single Buffer

• Line-at-time or Byte-at-a-time

• Terminals often deal with one line at a time with

carriage return signaling the end of the line

– Also line printer

• Byte-at-a-time suits devices where a single

keystroke may be significant

– Also sensors and controllers

– Interaction between OS and user process follows the

Trang 19

Double Buffer

• Use two system buffers instead of one

• A process can transfer data to or from one buffer while OS empties or fills the other

buffer

Trang 20

Circular Buffer

• More than two buffers are used

• Each individual buffer is one unit in a circular

Trang 23

Disk Performance

Parameters

• Currently, disks are at least four orders of

magnitude slower than main memory

 performance of disk storage subsystem is of

vital concern

• A general timing diagram of disk I/O transfer is

shown here.

Trang 24

Positioning the Read/Write Heads

• When the disk drive is operating, the disk

is rotating at constant speed

• To read or write, the head must be

positioned at the desired track and at the

beginning of the desired sector on that

track

• Track selection involves moving the head

in a movable-head system

Trang 25

Disk Performance

Parameters

• Access Time is the sum of:

– Seek time: The time it takes to position the

head at the desired track

– Rotational delay or rotational latency: The

time it takes for the beginning of the sector to reach the head

• Transfer Time is the time taken to transfer

the data (as the sector moves under the

Trang 26

Disk Performance

Parameters

• Total average access time T a

T a = T s + 1 / (2r) + b / (rN)

where T s = average seek time

b = no of bytes to be transferred

N = no of bytes on a track

r = rotation speed, in revolutions / sec.

• Due to the seek time, the order in which

sectors are read from disk has a

tremendous effect on I/O performance

Trang 27

Disk Scheduling

Policies

• To compare various schemes, consider a

disk head is initially located at track 100

– assume a disk with 200 tracks and that the

disk request queue has random requests in it

• The requested tracks, in the order

received by the disk scheduler, are

– 55, 58, 39, 18, 90, 160, 150, 38, 184.

Trang 28

First-in, first-out (FIFO)

• Process requests sequentially

• Fair to all processes

• May have good performance if most requests

are to clustered file sectors

• Approaches random scheduling in performance

if there are many processes

disk arm movement

Trang 29

• Control of the scheduling is outside the

control of disk management software

• Goal is not to optimize disk use but to

meet other objectives

• Often, short batch jobs & interactive jobs

are given higher priority than longer jobs

– Provide high throughput & good interactive

response time

– Longer jobs may have to wait an excessively

Trang 30

Last-in, first-out

• Good for transaction processing systems

– The device is given to the most recent user so there should be little arm movement for

moving through a sequential file

• Possibility of starvation since a job may

never regain the head of the line

Trang 31

Shortest Service

Time First

• Select the disk I/O request that requires

the least movement of the disk arm from

its current position

• Always choose the minimum seek time

Trang 32

• Arm moves in one direction only, satisfying all outstanding requests until it reaches the last track in that direction then the

direction is reversed

• LOOK policy: reverse direction when there are no more requests in a direction

Trang 33

– jobs whose requests are for tracks

nearest to both innermost and

outermost tracks and

Trang 34

C-SCAN (Circular SCAN)

• Restricts scanning to one direction only

• When the last track has been visited in one

direction, the arm is returned to the opposite end

of the disk and the scan begins again

• Reduces the maximum delay experienced by

new requests

Trang 35

• With SSTF, SCAN, C-SCAN, the arm may not

move if processes monopolize the device by

repeated requests to one track: arm stickiness

• Segments the disk request queue into

Trang 36

• Two subqueues

• When a scan begins, all of the requests

are in one of the queues, with the other

empty

• During the scan, all new requests are put

into the other queue

• Service of new requests is deferred until all of the old requests have been processed

Trang 37

Performance Compared

Comparison of Disk Scheduling Algorithms

Trang 39

Disk Cache

• Buffer in main memory for disk sectors

• Contains a copy of some of the sectors

• When an I/O request is made for a

particular sector, a check is made to

determine if the sector is in the disk cache

– If so, the request is satisfied via the cache

– If not, the requested sector is read into the

Trang 40

Disk Cache

• Locality of reference

– When a block of data is fetched into the cache

to satisfy a single I/O request, it is likely that

there will be future references to that same

block

• One design issue: replacement strategy

– When a new sector is brought into the disk

cache, one of the existing blocks must be

Trang 41

Least Recently Used (LRU)

• The block that has been in the cache the

longest with no reference to it is replaced

• A stack of pointers reference the cache

– Most recently referenced block is on the top of the stack

– When a block is referenced or brought into the cache, it is placed on the top of the stack

– The block on the bottom of the stack is to be

Trang 42

LRU Disk Cache

Performance

• The miss ratio is, principally, a function of

the size of the disk cache

Trang 43

Least Frequently Used (LFU)

• The block that has experienced the fewest references is replaced

• A counter is associated with each block

– Incremented each time the block is accessed

• When replacement is required, the block

with the smallest count is selected

Consider certain blocks are referenced

repeatedly in short intervals due to locality, but

Trang 45

Refined Frequency-Based

Replacement

• Only blocks in the old section are eligible for

replacement

• Allows relatively frequently referenced blocks a

chance to build up their reference counts before becoming eligible for replacement

• Simulation studies indicate that this refined

Ngày đăng: 30/01/2020, 05:13

TỪ KHÓA LIÊN QUAN