存储设备与操作系统

存储设备与操作系统

2025 南京大学《操作系统原理》
存储设备与操作系统

从 1-Bit 到 1TB

实现 “寻址能力” 的代价

  • 磁盘:位置划分 + 扇区头
  • 电路:行 (字线) 和列 (位线) 选通信号
    • 这些都会消耗额外的资源 (面积)

解决方法:按块访问

  • “一块” 可以共享 metadata
    • 物理分割、Erase 信号、纠错码……
    • 磁盘是 struct block disk[NUM_BLOCKS]
      • Block 是读/写的最小单位
      • “Block devices” (ls -l /dev/sd*)
2025 南京大学《操作系统原理》
存储设备与操作系统

Block Devices

首先,block devices 也可以是普通的文件

  • “字节序列” 抽象
  • 可以直接 mmap 到进程的地址空间

透明抽象的代价

  • 不经意间的读/写放大 (read/write amplifications)
  • 存储设备在实际执行读写操作时,处理的数据量超过用户实际请求的数据量
    • 随机读/写一个 byte,都会导致大量数据传输
    • 文件系统的实现应该能够感知 “块” 的概念
2025 南京大学《操作系统原理》
存储设备与操作系统

Linux Bio

Request/response 接口

2025 南京大学《操作系统原理》
存储设备与操作系统

Multi-queue Block I/O Queuing

center

2025 南京大学《操作系统原理》