I/O Devices

13 IO Devices and storage 一个简单的IO设备 13 IO Devices and storage 一个简单的IO2 13 IO Devices and storage 一个简单的IO3

DMA

13 IO Devices and storage DMA1 DMA (Direct Memory Access) 是一种允许外部设备直接和内存进行数据传输的机制,无需CPU的直接干预。

  1. 工作原理:
  • CPU设置DMA控制器的参数(源地址、目标地址、传输数据量等)
  • DMA控制器直接控制系统总线
  • 数据传输完成后,DMA控制器向CPU发出中断信号
  1. 主要特点:
  • 减轻CPU负担
  • 提高系统性能
  • 数据传输速度快
  • 适合大量数据传输
  1. 应用场景:
  • 磁盘I/O操作
  • 网络数据传输
  • 打印机输出
  • 声卡数据传输
  • 显卡数据传输
  1. 传输模式:
  • 单字节传输:每次传送一个字节
  • 块传输:每次传送一块数据
  • 突发传输:连续传送多个数据块
  • 循环窃取:在CPU不使用总线时传输数据

DMA的使用大大提高了计算机系统的I/O效率,是现代计算机系统中不可或缺的组成部分。

DMA自动去做数据拷贝 13 IO Devices and storage 最简单的IO设备 13 IO Devices and storage 最简单的IO设备2

Storage Devices

13 IO Devices and storage 存储金字塔 13 IO Devices and storage 磁盘的结构 磁头转是为了找磁道,磁盘转的目的是为了找扇区

存储数据的容量=磁头数量*磁道数量*扇区数量*扇区大小

13 IO Devices and storage 磁盘2 13 IO Devices and storage 磁盘3 如何去计算这三个时间? 13 IO Devices and storage 磁盘时间相关计算 假设

  • 寻道时间是5ms
  • 转速为7200RPM,Time for rotation:
  • 传输速度是4MBytes/s,扇区大小是1 Kbyte

Read sector from random place on disk:

  • Approx 10ms to fetch/put data: 100KByte/sec

Read sector from random place in same cylinder:

  • 相同磁道读取扇区,不需要寻道时间了
  • Approx 5ms to fetch/put data : 200 KByte/sec

Read next sector on same track:

  • 4 MByte/sec

SSD

这部分并不是重点,看看得了 13 IO Devices and storage SSD

Disk Scheduling

13 IO Devices and storage 磁盘调度1 13 IO Devices and storage 磁盘调度2 13 IO Devices and storage 磁盘调度3

  • 磁头在磁盘表面来回移动,类似电梯在大楼上下运行
  • 在一个方向上移动时,处理所有该方向上的请求,直到到达磁盘边界
  • 到达边界后改变方向,再处理反方向上的所有请求 13 IO Devices and storage 磁盘调度4 13 IO Devices and storage 一个read函数会经历的