27-IO调度器的功能
4.6.2 I/O调度器的功能
I/O调度器实现两个基本操作:合并(merging)和排序(sorting)。合并(merging)操作是将两个或多个相邻的I/O请求的过程合并为一个。考虑两次请求,一次读取第5号物理块,第二次读取第6号和第7号物理块上的数据。这些请求被合并为一个对块5到7的操作。总的I/O吞吐量可能一样,但是I/O的次数减少了一半。
排序(sorting)是选取两个操作中相对更重要的一个,并按块号递增的顺序重新安排等待的I/O请求。比如说,I/O操作要求访问块52、109和7,I/O调度这三个请求以7、52、109的顺序进行排序。如果还有一个请求要访问81,它将被插入到访问52和109的中间。然后,I/O调度器按它们在队列中的顺序统一调度:7、52、81、109。
按这种方式,磁头的移动距离最小。磁头以平滑、线性的方式移动,而不是无计划地移动(在整个磁盘中来回无序地移动进行查找)。因为寻址是I/O操作中代价最高的部分,改进该操作可以使I/O性能获得提升。