概述
I/O管理的任务和功能
任务:完成用户提出的I/O请求,为用户分配I/O设备,提高I/O设备的利用率,方便用户使用I/O设备。
功能:
- 设备管理:按设备类型和相应的分配算法决定将I/O设备分配给哪一个进程。
- 设备处理:设备处理程序用以实现CPU和设备控制器之间的通信。
- 缓冲管理:设置缓冲区的目的时为了缓和CPU与I/O设备速度不匹配的矛盾
- 设备独立性:应用程序独立于物理设备。
I/O控制方式
设备控制器的功能:
- 接收和识别来自CPU的各种指令
- 实现CPU与设备控制器、设备控制器与设备之间的数据交换
- 记录设备的状态供CPU查询
- 识别所控制的每个设备的地址
- 对CPU输出的数据或设备向CPU输入的数据进行缓冲
- 对输入/输出数据进行差错控制
I/O控制方式通常由以下4种:程序直接控制方式、中断控制方式、DMA控制方式和通道控制方式。
图
DMA控制方式与中断控制方式的区别:中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则是在所要求传送的一批数据全部传送借宿时才中断CPU;中断控制方式的数据传送是在中断处理时由CPU控制完成,而DMA控制方式则是在DMA控制器的控制下完成。
通道控制方式与DMA控制方式的区别:DMA的控制方式种需要CPU来扣扣内阁制所传输的数据块大小、传输的内存,而通道控制方式中这些信息都是由通道来控制管理;一个DMA控制器对应一台设备与内存传递数据,而一个通道可以控制多台设备与内存的数据交换。