面试题答案
一键面试磁盘工作原理
磁盘由盘片、磁头、电机等部件组成。盘片上划分成多个同心的磁道,磁道又进一步划分成扇区。当磁盘工作时,电机带动盘片高速旋转,磁头通过移动臂在盘片表面移动,能够在旋转的盘片上进行数据的读写操作。数据以二进制的形式存储在扇区中,每个扇区通常存储固定大小的数据,如512字节。
FCFS(先来先服务)调度算法
- 特点:按照请求到达的先后顺序进行调度。实现简单,不会对请求进行额外的排序或优化。
- 适用场景:适用于I/O请求较少且请求之间没有明显的时间或位置相关性的场景,如单用户系统偶尔的磁盘操作。因为它不考虑磁盘臂的移动方向和距离,在请求较多时可能导致磁盘臂频繁移动,效率较低。
SSTF(最短寻道时间优先)调度算法
- 特点:优先处理距离当前磁头位置最近的I/O请求。这种算法能够减少磁头移动的距离,提高磁盘I/O的效率。但它可能会导致某些请求长时间得不到响应,即出现“饥饿”现象,因为靠近磁头的请求会一直被优先处理。
- 适用场景:适用于对响应时间要求较高,且I/O请求相对较密集的场景。例如,在数据库系统中,大量的随机I/O操作,SSTF可以有效减少寻道时间,提升整体性能。
SCAN(扫描)调度算法
- 特点:磁头在磁盘的一端到另一端之间来回移动,在移动过程中处理遇到的I/O请求。它会根据当前磁头的移动方向依次处理请求,直到到达磁盘的一端,然后改变方向继续处理。避免了“饥饿”现象,同时兼顾了公平性和效率。
- 适用场景:适用于I/O请求较多且分布较为均匀的场景。如大型文件服务器,大量的顺序读写操作,SCAN算法能使磁头在移动过程中处理多个请求,减少不必要的移动,提高磁盘利用率。