Some Other Scheduling Issues
In this lesson, we discuss how modern systems have some other scheduling related issues.
We'll cover the following
Where is the disk scheduling performed?
There are many other issues we do not discuss in the brief description of basic disk operation, scheduling, and related topics presented in the previous lesson. One such issue is this: where is disk scheduling performed on modern systems? In older systems, the operating system did all the scheduling; after looking through the set of pending requests, the OS would pick the best one, and issue it to the disk. When that request is completed, the next one would be chosen, and so forth. Disks were simpler then, and so was life.
In modern systems, disks can accommodate multiple outstanding requests, and have sophisticated internal schedulers themselves (which can implement SPTF accurately; inside the disk controller, all relevant details are available, including exact head position). Thus, the OS scheduler usually picks what it thinks the best few requests are and issues them all to disk. The disk then uses its internal knowledge of head position and detailed track layout information to service said requests in the best possible (SPTF) order.
Another important related task performed by disk schedulers is I/O merging. For example, imagine a series of requests to read blocks 33, then 8, then 34, as shown in the above figure. In this case, the scheduler should merge the requests for blocks 33 and 34 into a single two-block request; any reordering that the scheduler does is performed upon the merged requests. Merging is particularly important at the OS level, as it reduces the number of requests sent to the disk and thus lowers overheads.
How long to wait before issuing an I/O?
One final problem that modern schedulers address is this: how long should the system wait before issuing an I/O to disk? One might naively think that the disk, once it has even a single I/O, should immediately issue the request to the drive; this approach is called work-conserving, as the disk will never be idle if there are requests to serve. However,
Get hands-on with 1400+ tech skills courses.