跳转至

外部存储

HDD

磁盘结构

磁盘结构

  • 磁盘时延 = 寻道时间 + 旋转时间 + 传输时间 + 控制器负载
    • 寻道时间:依赖移动臂移动速度,磁道的位置 (Ts)
    • 旋转时间:依赖磁盘转速,扇区距离磁头的距离 (平均:½r)
    • 传输时间:依赖磁盘的带宽,需求的数据总量(T=b/rN)
      • b 表示要传送的字节数,N 表示一个磁道中的字节数,r 表示旋转速度
    • 总的存取时间为:\(T = Ts + \frac{1}{2r} + \frac{b}{rN}\)
  • 应对延迟的方法
    • 缓存
      • 文件访问级缓存
    • RAM 磁盘
      • 保留部分 RAM 作为高速文件系统
    • RAID
      • 并行访问(容错)
    • 智能调度算法
      • 读写头调度
      • 元信息布置
  • 磁盘高速缓存
    • 主存 中的一块空间
    • 提高进程访问磁盘的速度
    • 粒度与扇区大小相等
    • 替换策略
      • 最近最少使用算法(LRU)
      • 最不常用算法(LFU)
      • 基于频率的替换算法

磁盘调度

  1. 先来先服务(FCFS)

    • 按照请求到达的顺序处理磁盘 I/O 请求。
    • 优点:
      • 简单易实现
      • 公平
    • 缺点:
      • 可能导致长时间的寻道时间,尤其是在请求分布不均匀时
      • 磁头移动幅度大
    • 适合较轻负载的系统

    FCFS

  2. 最短寻道时间优先(SSTF)

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

    SSTF

  3. 电梯算法(SCAN)

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

    SCAN

  4. 循环扫描算法(C-SCAN)

    • 磁头从一端移动到另一端,处理所有请求,然后返回到起始位置,继续处理请求。

    C-SCAN

  5. PRI(基于进程优先级的调度)

  6. LIFO(后进先出)
    • 局部性最好,资源利用率最高。
  7. N-step-SCAN
    • 避免磁头臂粘性
    • 把请求分为长度为 N 的多个队列;一次处理一个队列;新到的请求加到其他队列中。
    • 特性:N 较大时,等价于 SCAN;N=1 时,等价于 FIFO
  8. F-SCAN

    • N=2 时的 N-step-SCAN
  9. OpenEuler 的磁盘调度器

    • 电梯调度器(Elevator)
    • 时限 IO 调度器(deadline IO scheduler)
    • 预期 IO 调度器(anticipatory IO scheduler)

RAID

  • 将文件数据分条(striped)到多个磁盘上
  • 通过并行提高性能
  • 通过冗余提高可靠性

计算机组成与系统结构 课程笔记结合食用更佳哦。

计算机组成与系统结构

SSD

  • SSD(Solid State Drive)是一种基于闪存技术的存储设备,具有更快的读写速度和更低的延迟。
  • SSD 没有机械移动部件,因此更耐冲击,可靠性更高。
  • SSD 的缺点包括价格较高和写入次数有限。
  • 工作特性:
    • 闪存块不能覆盖写:必须先擦除整个块才能写入新数据。
    • 闪存块寿命有限
    • 闪存快存在读干扰
    • 闪存块可能出现坏块
    • 垃圾回收
      • SSD 会定期执行垃圾回收操作,将无效数据块合并,释放空间。
    • 写放大
      • 写入以块(block)为单位进行,可能导致实际写入的数据量大于请求写入的数据量。
      • 擦除以页(page)为单位进行,写入以块(block)为单位进行。
  • 优势
    • 性能好
    • 功耗低
    • 防震
    • 低噪声
    • 体积小
  • 缺点
    • 价格高