Skip to content

驱动

IO设备

操作系统内核不直接操作设备:

  • 通过调用设备的驱动程序完成对设备的读写
  • 驱动程序由硬件厂商实现
  • 使用设备时,将驱动程序以内核模块方式加载进内核
  • 操作系统声明统一的SPI(Service Program Interface),由硬件厂商实现

可编程IO/DMA

根据数据传输过程是否需要CPU参与,IO分为两类:

  1. 可编程IO

    • 操作系统通过读写IO设备寄存器控制设备
    • 分为两种类型:
      • PMIO(Port-Mapped Input/Output):通过访问IO端口控制设备
      • MMIO(Memory-Mapped Input/Output):设备寄存器和缓冲区映射到物理内存中
  2. DMA(Direct Memory Access)

    • 外设与内存之间交换数据的接口技术
    • 数据传输过程无须CPU控制
    • 数据拷贝和搬运由外设专用处理器完成
    • 操作系统通过驱动程序提前告知外设数据拷贝位置
    • 外设直接访问内存,将数据放到指定位置
    • 完成后发起中断通知CPU