加载中...
磁盘调度算法决定操作系统处理多个磁盘 I/O 请求的服务顺序。对机械硬盘而言,合理调度可减少磁头移动距离与寻道时间,从而提升整体吞吐并兼顾公平性。

| 中文名 | 磁盘调度算法 |
| 英文名 | Disk Scheduling |
| 经典算法 | FCFS/SSTF/SCAN/C-SCAN |
| 别名 | 电梯算法(SCAN) |
| 优化目标 | 减少寻道时间 |
磁盘调度算法(Disk Scheduling)是操作系统对排队等待的磁盘 I/O 请求进行排序处理的策略。由于机械硬盘的寻道时间取决于磁头移动距离,不同的服务顺序会显著影响响应时间与吞吐量,调度算法的目标是在效率与公平之间取得平衡。
机械硬盘完成一次读写需经历寻道(磁头移动到目标磁道)、旋转延迟与数据传输,其中寻道往往最耗时。当多个请求同时到达,操作系统需决定处理顺序。经典调度算法围绕如何减少磁头总移动距离展开,同时避免某些请求长期得不到服务的饥饿问题。
磁盘调度是操作系统 I/O 子系统的重要组成部分。Linux 内核提供多种 I/O 调度器(如 deadline、CFQ、BFQ 及针对固态盘的 none/mq-deadline),在数据库服务器、文件服务器等 I/O 密集场景下选择合适调度器可优化延迟与吞吐。
问:固态硬盘还需要磁盘调度吗?答:SSD 没有磁头寻道,基于寻道距离的算法意义不大,通常采用轻量调度或不调度(none),更关注请求合并与队列深度管理。
问:电梯算法为什么叫这个名字?答:SCAN 算法磁头沿一个方向移动、顺路处理请求再折返,与楼宇电梯先向一个方向依次停靠再反向的行为类似,故得名。

| 中文名 | 磁盘调度算法 |
| 英文名 | Disk Scheduling |
| 经典算法 | FCFS/SSTF/SCAN/C-SCAN |
| 别名 | 电梯算法(SCAN) |
| 优化目标 | 减少寻道时间 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧