1 Chapter 11 I/O Management and Disk Scheduling –Operating System Design Issues –I/O Buffering –Disk Scheduling –Disk Cache.

Slides:



Advertisements
Similar presentations
I/O Management and Disk Scheduling
Advertisements

I/O Management and Disk Scheduling
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
I/O Management and Disk Scheduling Chapter 11. I/O Driver OS module which controls an I/O device hides the device specifics from the above layers in the.
Chapter 11 I/O Management and Disk Scheduling
Operating Systems Disk Scheduling A. Frank - P. Weisberg.
Chapter 4 Device Management and Disk Scheduling DEVICE MANAGEMENT Content I/O device overview I/O device overview I/O organization and architecture I/O.
I/O Management and Disk Scheduling
Chapter 11 I/O Management and Disk Scheduling
Chapter 11 I/O Management and Disk Scheduling
I/O Management and Disk Scheduling
Chapter 11 I/O Management and Disk Scheduling
Categories of I/O Devices
I/O Management and Disk Scheduling
OPERATING SYSTEMS CS3530 Summer 2014 OPERATING SYSTEMS CS3530 Summer 2014 Input/Output System Chapter 9.
Chapter 11 I/O Management and Disk Scheduling
Day 30 I/O Management and Disk Scheduling. I/O devices Vary in many ways Vary in many ways –Data rate –Application –Complexity of control –Unit of transfer.
Input/Output Management and Disk Scheduling
Disk Drivers May 10, 2000 Instructor: Gary Kimura.
Based on the slides supporting the text
Computer System Overview
1 Computer System Overview OS-1 Course AA
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
Chapter 1 and 2 Computer System and Operating System Overview
I/O Management and Disk Scheduling (Chapter 10) Perhaps the messiest aspect of operating system design is input/output A wide variety of devices and many.
Lecture 11: I/O Management and Disk Scheduling. Categories of I/O Devices Human readable –Used to communicate with the user –Printers –Video display terminals.
Device Management.
Chapter 1 and 2 Computer System and Operating System Overview
CS623: Lecture 4 2/17/2004 © Joel Wein 2003, modified by T. Suel.
Computer Organization and Architecture
I/O Management and Disk Scheduling Chapter 11. Categories: For Human interaction : Printers, terminals, keyboard, mouse Machine readable: Disks, Sensors,
1 Today I/O Systems Storage. 2 I/O Devices Many different kinds of I/O devices Software that controls them: device drivers.
Operating System 11 I/O MANAGEMENT AND DISK SCHEDULING
I/O Management and Disk Scheduling
Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.
Chapter 1 Computer System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13+14: I/O Systems and Mass- Storage Structure I/O Hardware Application I/O.
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable Used to communicate with the user Printers Video display terminals.
1 IO Management and Disk Scheduling Chapter Categories of I/O Devices n Human readable u used to communicate with the user u video display terminals.
1 I/O Management and Disk Scheduling Chapter
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable  Used to communicate with the user  Printers  Video display.
CSC 322 Operating Systems Concepts Lecture - 25: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable Used to communicate with the user Printers Video display terminals.
I/O Management and Disk Structure Introduction to Operating Systems: Module 14.
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable –Used to communicate with the user –Printers –Video display.
I/O Management and Disk Scheduling Chapter 11. Disk Performance Parameters To read or write, the disk head must be positioned at the desired track and.
OPERATING SYSTEMS IO SYSTEMS. Categories of I/O Devices Human readable –Used to communicate with the user –Printers –Video display terminals Display Keyboard.
I/O Management and Disk Scheduling Chapter 11. Categories of I/O Devices Human readable Used to communicate with the user  Printers, Display terminals,
1 I/O Management and Disk Scheduling Chapter I/O Devices Can be group into three categories: 1.Human readable Used to communicate with the computer.
I/O Management and Disk schedule. I/O Devices DevicePurposePartnerData rate (KB/sec) KeyboardInputHuman.01 MouseInputHuman.02 Voice inputInputHuman.02.
I/O Scheduling Computer Organization II 1 Disk Scheduling Carrying out disk accesses in the order they are received will not always produce optimal performance.
Chapter 101 I/O Management and Disk Scheduling Chapter 11.
Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
1 Computer System Overview Chapter 1. 2 Operating System Exploits the hardware resources of one or more processors Provides a set of services to system.
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
I/O Management and Disk Scheduling
Principles of Operating Systems Lecture 18
Operating Systems Disk Scheduling A. Frank - P. Weisberg.
Operating System I/O System Monday, August 11, 2008.
Chapter 9: Virtual-Memory Management
Chapter 37 Hard Disk Drives
Operating Systems.
Operating System Chapter 11. I/O Management and Disk Scheduling
Chapter 11 I/O Management and Disk Scheduling
Disk Scheduling Carrying out disk accesses in the order they are received will not always produce optimal performance. Seek time is the reason for differences.
ITEC 202 Operating Systems
Operating Systems Disk Scheduling A. Frank - P. Weisberg.
Presentation transcript:

1 Chapter 11 I/O Management and Disk Scheduling –Operating System Design Issues –I/O Buffering –Disk Scheduling –Disk Cache

2 Goal: Generality For simplicity and freedom from error, it’s better to handle all I/O devices in a uniform manner Due to the diversity of device characteristics, it is difficult in practice to achieve true generality 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

3 Hierarchical design A hierarchical philosophy leads to organizing an OS into layers –Each layer performs a related subset of the functions required of OS –Each layer relies on the next lower layer to perform more primitive functions and to conceal the details of those functions –Each layer provides services to the next higher layer –Changes in one layer should not require changes in other layers

4 Local peripheral device 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 –Uses buffering techniques to improve utilization

5 Local peripheral device 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

6 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

7 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

8 Roadmap –Operating System Design Issues –I/O Buffering –Disk Scheduling –Disk Cache

9 I/O Buffering Processes 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 –interferes with swapping decisions by OS

10 I/O Buffering –Data area within the address space of the user process must be locked in main memory during I/O –Otherwise, data may be lost or single-process deadlock may happen

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.

12 Block-oriented Buffering For block-oriented I/O devices such as –disks and –USB drives Information is stored in fixed sized blocks Transfers are made a block at a time Can reference data by block number

13 Stream-Oriented Buffering For stream-oriented I/O devices such as –terminals –printers –communication ports –mouse and other pointing devices, and –most other devices that are not secondary storage Transfer information as a stream of bytes

14 No Buffer Without a buffer, OS directly accesses the device as and when it needs

15 Single Buffer OS assigns a buffer in the system portion of main memory for an I/O request

16 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

17 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

18 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?

19 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 suites devices where a single keystroke may be significant –Also sensors and controllers –Interaction between OS and user process follows the producer/consumer model

20 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

21 Circular Buffer More than two buffers are used Each individual buffer is one unit in a circular buffer Used when I/O operation must keep up with process Follows the bounded-buffer producer/consumer model

22 Buffer Limitations Buffering smoothes out peaks in I/O demand –But with enough demand eventually all buffers become full and their advantage is lost In multiprogramming environment, buffering can increase the efficiency of OS and the performance of individual processes

23 Roadmap –Operating System Design Issues –I/O Buffering –Disk Scheduling –Disk Cache

24 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.

25 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 or electronically selecting one head on a fixed-head system.

26 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 its 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 head)

27 Disk Performance Parameters Total average access time T a T a = T s + 1 / (2r) + b / (rN) whereT 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

28 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.

29 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

30 Priority 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 long time

31 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

32 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

33 SCAN 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

34 SCAN SCAN is biased against the area most recently traversed  does not exploit locality SCAN favors –jobs whose requests are for tracks nearest to both innermost and outermost tracks and –the latest-arriving jobs

35 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

36 N-step-SCAN 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 subqueues of length N Subqueues are processed one at a time, using SCAN New requests are added to other queue when a queue is being processed

37 FSCAN 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

38 Performance Compared Comparison of Disk Scheduling Algorithms

39 Roadmap –Operating System Design Issues –I/O Buffering –Disk Scheduling –Disk Cache

40 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 disk cache from the disk

41 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 replaced

42 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 replaced

43 LRU Disk Cache Performance The miss ratio is, principally, a function of the size of the disk cache

44 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 are referenced relatively infrequently overall

45 Frequency-Based Replacement Blocks are logically organized in a stack, similar to LRU On a cache hit On a miss, the block with the smallest count that is not in the new section is chosen for replacement

46 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 policy outperforms LRU and LFU