I/O设备的管理涉及到很多过程。主要的几种方式为,应用程序I/O控制,中断程序I/O控制,和DMA设备管理器I/O控制。
当CUP要向某输出设备输入数据时,先发出一个指令给DMA,之后CPU不需等待设备就绪完,直接执行其他指令,由DMA对设备进行初始化和激活。等设备一切都就绪之后,发出一个中断请求,然后CUP将执行中断程序,保存进程现场信息,处理输入设备输入的数据。
DMA为设备管理器,包含指令寄存器,状态寄存器,缓存区等。一端和CUP相连接的有数据线,状态线,控制线。一端和设备相连。
设备驱动程序:设备驱动程序是操作系统和设备之间沟通的桥梁,驱动程序和DMA和硬件设备紧密相关。负责初始化DMA的寄存器信息,记录设备忙碌状态,操作系统通过调用驱动程序使用外围设备。驱动程序将抽象的数据与具体的硬件设备相映射。比如目录/root/etc映射到具体的磁盘物理号1024。
驱动程序的一般部分都固话在ROM里面。