AlbaLed Posted October 28, 2003 Share Posted October 28, 2003 What are the SCAN, C-SCAN, LOOK, and C-LOOK disk scheduling algorithms? Why does the OS need to implement these algorithms when it is possible for these algorithms or more efficient ones to be implemented in the disc controller (not driver)? Then the OS would just give the controller a set of requests, with ID and controller would give back the results? Why should the OS bother with this when it is possible, and could be done more efficiently? (more efficiently??? disc manufacturers can come up with an algorithm and optimize the physical disk to perform very well under this algorithm, plus they know their product much better than do OS people) Enjoy !!! Quote Link to comment Share on other sites More sharing options...
wood Posted October 28, 2003 Share Posted October 28, 2003 What are the SCAN, C-SCAN, LOOK, and C-LOOK disk scheduling algorithms? [*]SCAN: Move the read/write head back and forth between the innermost and outermost tracks. Satisfy outstanding requests as the heads gets to each track. [*]C-SCAN: Circular version of SCAN. It only satisfies request while going in one direction. [*]LOOK: Similar to SCAN but the head does not unnecessarily travel to the innermost and outermost track on each circuit; it actually reverse its direction when no more outstanding requests exist beyond the current track. [*]C-LOOK: Circular version of LOOK. Why does the OS need to implement these algorithms when it is possible for these algorithms or more efficient ones to be implemented in the disc controller (not driver)? Then the OS would just give the controller a set of requests, with ID and controller would give back the results? Why should the OS bother with this when it is possible, and could be done more efficiently? (more efficiently??? disc manufacturers can come up with an algorithm and optimize the physical disk to perform very well under this algorithm, plus they know their product much better than do OS people) I believe there are many reasons. First, a multithreaded OS can re-order outstanding read/write requests from different process so that seeks are minimized. The OS has thus a much bigger picture of the problem. To implement very efficient scheduling algorithms in hardware would be very costly and perhaps not worth the investment. However, device controllers today implement some disk scheduling system such as FIFO or SSTF. Quote Link to comment Share on other sites More sharing options...
AlbaLed Posted October 28, 2003 Author Share Posted October 28, 2003 Originally posted by wood What are the SCAN, C-SCAN, LOOK, and C-LOOK disk scheduling algorithms? [*]SCAN: Move the read/write head back and forth between the innermost and outermost tracks. Satisfy outstanding requests as the heads gets to each track. [*]C-SCAN: Circular version of SCAN. It only satisfies request while going in one direction. [*]LOOK: Similar to SCAN but the head does not unnecessarily travel to the innermost and outermost track on each circuit; it actually reverse its direction when no more outstanding requests exist beyond the current track. [*]C-LOOK: Circular version of LOOK. Why does the OS need to implement these algorithms when it is possible for these algorithms or more efficient ones to be implemented in the disc controller (not driver)? Then the OS would just give the controller a set of requests, with ID and controller would give back the results? Why should the OS bother with this when it is possible, and could be done more efficiently? (more efficiently??? disc manufacturers can come up with an algorithm and optimize the physical disk to perform very well under this algorithm, plus they know their product much better than do OS people) I believe there are many reasons. First, a multithreaded OS can re-order outstanding read/write requests from different process so that seeks are minimized. The OS has thus a much bigger picture of the problem. To implement very efficient scheduling algorithms in hardware would be very costly and perhaps not worth the investment. (not neccessarily hardware, nowadays there is firmware :D) However, device controllers today implement some disk scheduling system such as FIFO or SSTF. Can you imagine what would happen in a paged memory system if the algorithms were implemented in disk controller??? Yes you could assign priority to page request, but then you would need a communication protocol implemented by both OS and disk controller Good job wood, seems like u've done u're homework :p Quote Link to comment Share on other sites More sharing options...
wood Posted October 28, 2003 Share Posted October 28, 2003 Hehe.. firmware! that's true...! I'm still in the old ages! I hope I can remember half of it... I do poorly under time constraints. That's my biggest worry actually. Wood Quote Link to comment Share on other sites More sharing options...
Vinay Posted October 29, 2003 Share Posted October 29, 2003 the layering will be distrupted if any of these algos r implemented in controller and extendibilty will be hampered. Quote Link to comment Share on other sites More sharing options...
AlbaLed Posted October 29, 2003 Author Share Posted October 29, 2003 Originally posted by Vinay the layering will be distrupted if any of these algos r implemented in controller and extendibilty will be hampered. which layering/extendibility are you referring to ??? Quote Link to comment Share on other sites More sharing options...
Vinay Posted October 29, 2003 Share Posted October 29, 2003 this layer (harware)--(embedded code)----(software) device --> device controllers --> device drivers (inner)---------------------------------(outer) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.