1.【fs】IO调度算法之NOOP
【fs】IO调度算法之NOOP
NOOP,全称为No Operation,即电梯式调度算法。在Linux2.4或更早版本的免费源码大全系统中,它是唯一的I/O调度算法。NOOP实现了一个简单的自编主图指标公式源码FIFO队列,其运作原理类似于电梯的工作方式,将新来的I/O请求合并到最近的请求之后,从而保证了请求在同一介质上的连续性。NOOP倾向于优先处理写请求,对读请求较为不利。在闪存设备、RAM和嵌入式系统中,进口冷链溯源码查询NOOP表现最佳。
电梯算法导致读请求“饿死”的原因在于,写请求比读请求更容易处理。龙头妖股起飞公式源码写请求通过文件系统缓存,无需等待一次写操作完成即可开始下一次写操作。写请求可以通过合并和堆积在I/O队列中。星线选股公式源码而读请求需要在前面的所有读操作完成后才能进行下一次读操作。在读操作之间存在几毫秒的等待时间,而在此期间,新的写请求到来,导致后续的读请求“饿死”。
在Linux 3.0版本中,对NOOP调度器进行了优化和改进。
在I/O调度器NOOP中,请求的处理流程如下:
1. 向前合并请求:`noop_merged_requests`。
参考资料:IO调度器NOOP与deadline源码级分析 - hiyachen - ChinaUnix博客