DOC PREVIEW
UMD CMSC 412 - Management and Disk Scheduling

This preview shows page 1-2-3-27-28-29 out of 29 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

I/O Management and Disk SchedulingI/O DriverTypical driver structureUser to Driver Control FlowI/O BufferingBuffer CacheReplacement policiesLeast Recently UsedLeast Frequently UsedApplication-controlled File CachingSound kernel-user cooperationDisk Performance ParametersSlide 13Disk I/O PerformanceDisk Scheduling PoliciesSlide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23RAIDRAID Level 0RAID Level 1RAID Levels 2 and 3RAID Levels 4 and 5UNIX SVR4 I/OI/O Management and Disk SchedulingChapter 11I/O Driver•OS module which controls an I/O device•hides the device specifics from the above layers in the OS/kernel •translates logical I/O into device I/O (logical disk blocks into {track, head, sector})performs data buffering and scheduling of I/O operationsstructure: several synchronous entry points (device initialization, queue I/O requests, state control, read/write) and an asynchronous entry point (to handle interrupts)Typical driver structuredriver_strategy(request){if (empty(request-queue)) driver_start(request)else add(request, request-queue) block_current_process; reschedule()}driver_start(request) {current_request= request;start_dma(request);}driver_ioctl(request) {}driver_init() {}driver_interrupt(state) /* asynchronous part */{if (state==ERROR) && (retries++<MAX) { driver_start(current_request); return; } add_current_process_to_active_queue if (! (empty(request_queue)) driver_start(get_next(request_queue))}User to Driver Control Flowuserkernelread, write, ioctlspecial fileordinary fileFile SystemBuffer CacheblockdevicecharacterdeviceCharacter queuedriver_read/write driver-strategyI/O Buffering•before an I/O request is placed the source/destination of the I/O transfer must be locked in memory•I/O buffering: data is copied from user space to kernel buffers which are pinned to memory•works for character devices (terminals), network and disks•buffer cache: a buffer in main memory for disk sectors•character queue: follows the producer/consumer model (characters in the queue are read once)•unbuffered I/O to/from disk (block device): VM paging for instanceBuffer Cache•when an I/O request is made for a sector, the buffer cache is checked first•if it is missing from the cache, it is read into the buffer cache from the disk•exploits locality of reference as any other cache•usually replacements done in chunks (a whole track can be written back at once to minimize seek time)•replacement policies are global and controlled by the kernelReplacement policies•buffer cache organized like a stack: replace from the bottom•LRU: replace the block that has been in the cache longest with no reference to it (on reference a block is moved to the top of the stack)•LFU: replace the block with the fewest references (counters which are incremented on reference and blocks move accordingly)•frequency-based replacement: define a new section on the top of the stack, counter is unchanged while the block is in the new sectionLeast Recently Used•The block that has been in the cache the longest with no reference to it is replaced•The cache consists of a stack of blocks•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 stackLeast Frequently Used•The block that has experienced the fewest references is replaced•A counter is associated with each block•Counter is incremented each time block accessed•Block with smallest count is selected for replacement•Some blocks may be referenced many times in a short period of time and then not needed any moreApplication-controlled File Caching•two-level block replacement: responsibility is split between kernel and user level•a global allocation policy performed by the kernel which decides which process will give up a block•a block replacement policy decided by the user:kernel provides the candidate block as a hint to the processthe process can overrule the kernel’s choice by suggesting an alternative blockthe suggested block is replaced by the kernelexamples of alternative replacement policy: most-recently used (MRU)Sound kernel-user cooperation•oblivious processes should do no worse than under LRU•foolish processes should not hurt other processes•smart processes should perform better than LRU whenever possible and they should never perform worse if kernel selects block A and user chooses B instead, the kernel swaps the position of A and B in the LRU list and places B in a “placeholder” which points to A (kernel’s choice)if the user process misses on B (i.e. he made a bad choice), and B is found in the placeholder, then the block pointed to by the placeholder is chosen (prevents hurting other processes)Disk Performance Parameters•To read or write, the disk head must be positioned at the desired track and at the beginning of the desired sector•Seek time–time it takes to position the head at the desired track•Rotational delay or rotational latency–time its takes for the beginning of the sector to reach the headDisk Performance Parameters•Access time–Sum of seek time and rotational delay–The time it takes to get in position to read or write•Data transfer occurs as the sector moves under the headDisk I/O Performance•disks are at least four orders of magnitude slower than the main memory•the performance of disk I/O is vital for the performance of the computer system as a whole•disk performance parametersseek time (to position the head at the track): 20 msrotational delay (to reach the sector): 8.3 mstransfer time: 1-2 MB/sec access time (seek time+ rotational delay) >> transfer time for a sectortherefore the order in which sectors are read matters a lotDisk Scheduling Policies•Seek time is the reason for differences in performance•For a single disk there will be a number of I/O requests•If requests are selected randomly, we will get the worst possible performanceDisk Scheduling Policies•First-in, first-out (FIFO)–Process request sequentially–Fair to all processes–Approaches random scheduling in performance if there are many processesDisk Scheduling Policies•Priority–Goal is not to optimize disk use but to meet other objectives–Short batch jobs may have higher priority–Provide good interactive response timeDisk Scheduling Policies•Last-in, first-out–Good for transaction processing systems•The


View Full Document

UMD CMSC 412 - Management and Disk Scheduling

Documents in this Course
Security

Security

65 pages

Deadlocks

Deadlocks

22 pages

Set 2

Set 2

70 pages

Project 2

Project 2

21 pages

Load more
Download Management and Disk Scheduling
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Management and Disk Scheduling and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Management and Disk Scheduling 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?