外部存储¶
HDD¶
磁盘结构¶

-
磁盘时延 = 寻道时间 + 旋转时间 + 传输时间 + 控制器负载
-
寻道时间:依赖移动臂移动速度,磁道的位置 (Ts)
-
旋转时间:依赖磁盘转速,扇区距离磁头的距离 (平均:½r)
-
传输时间:依赖磁盘的带宽,需求的数据总量(T=b/rN)
- b 表示要传送的字节数,N 表示一个磁道中的字节数,r 表示旋转速度
-
总的存取时间为:\(T = Ts + \frac{1}{2r} + \frac{b}{rN}\)
-
-
应对延迟的方法
-
缓存
- 文件访问级缓存
-
RAM 磁盘
- 保留部分 RAM 作为高速文件系统
-
RAID
- 并行访问(容错)
-
智能调度算法
-
读写头调度
-
元信息布置
-
-
-
磁盘高速缓存
-
主存 中的一块空间
-
提高进程访问磁盘的速度
-
粒度与扇区大小相等
-
替换策略
-
最近最少使用算法(LRU)
-
最不常用算法(LFU)
-
基于频率的替换算法
-
-
磁盘调度¶
-
先来先服务(FCFS)
-
按照请求到达的顺序处理磁盘 I/O 请求。
-
优点:
-
简单易实现
-
公平
-
-
缺点:
-
可能导致长时间的寻道时间,尤其是在请求分布不均匀时
-
磁头移动幅度大
-
-
适合较轻负载的系统

-
-
最短寻道时间优先(SSTF)
-
选择距离当前磁头位置最近的请求进行处理。
-
优点:
-
寻道时间较短,服务效率较高,服务平均等待时间较短。
-
提供比 FIFO 更高的效率
-
-
缺点:
-
公平性差,可能导致饥饿现象,即某些请求长时间得不到处理
-
对于远离当前磁头位置的请求,等待时间较长
-
适合中度负载的系统
-

-
-
电梯算法(SCAN)
-
磁头从一端移动到另一端,处理所有请求,然后反向移动。
-
算法特点:
-
每个请求的等待时间不均匀,且平均等待时间长。
-
如到达另一端反向时,将扫描的是刚刚扫描过的磁道,这里的请求显然少,而另一端的请求多,且等待服务的时间长。
-
-
算法优化:
- 磁头并不是每次扫描都移动到最远的磁道上,一旦在当前方向上前面没有请求,就开始反向移动。
-
比较适合磁盘负载较重的系统。

-
-
循环扫描算法(C-SCAN)
- 磁头从一端移动到另一端,处理所有请求,然后返回到起始位置,继续处理请求。

-
PRI(基于进程优先级的调度)
-
LIFO(后进先出)
- 局部性最好,资源利用率最高。
-
N-step-SCAN
-
避免磁头臂粘性
-
把请求分为长度为 N 的多个队列;一次处理一个队列;新到的请求加到其他队列中。
-
特性:N 较大时,等价于 SCAN;N=1 时,等价于 FIFO
-
-
F-SCAN
- N=2 时的 N-step-SCAN
-
OpenEuler 的磁盘调度器
-
电梯调度器(Elevator)
-
时限 IO 调度器(deadline IO scheduler)
-
预期 IO 调度器(anticipatory IO scheduler)
-
RAID¶
-
将文件数据分条(striped)到多个磁盘上
-
通过并行提高性能
-
通过冗余提高可靠性
和 计算机组成与系统结构 课程笔记结合食用更佳哦。
计算机组成与系统结构
SSD¶
-
SSD(Solid State Drive)是一种基于闪存技术的存储设备,具有更快的读写速度和更低的延迟。
-
SSD 没有机械移动部件,因此更耐冲击,可靠性更高。
-
SSD 的缺点包括价格较高和写入次数有限。
-
工作特性:
-
闪存块不能覆盖写:必须先擦除整个块才能写入新数据。
-
闪存块寿命有限
-
闪存快存在读干扰
-
闪存块可能出现坏块
-
垃圾回收
- SSD 会定期执行垃圾回收操作,将无效数据块合并,释放空间。
-
写放大
-
写入以块(block)为单位进行,可能导致实际写入的数据量大于请求写入的数据量。
-
擦除以页(page)为单位进行,写入以块(block)为单位进行。
-
-
-
优势
-
性能好
-
功耗低
-
防震
-
低噪声
-
体积小
-
-
缺点
- 价格高