操作系统之I/O管理:1、I/O控制器、I/O控制方式(程序直接控制方式、中断驱动方式、DMA方式、通道控制方式)

基础知识

思维导图

在这里插入图片描述

什么是I/O设备?

在这里插入图片描述

分类

在这里插入图片描述
在这里插入图片描述![在这里插入图片描述
在这里插入图片描述

I/O控制器

思维导图

在这里插入图片描述

I/O控制器功能

在这里插入图片描述

I/O控制器的组成

在这里插入图片描述
在这里插入图片描述

内存映像I/O vs 寄存器独立编址

在这里插入图片描述

I/O控制方式

1、程序直接控制方式

在这里插入图片描述
在这里插入图片描述

为解决上述方式中的缺点,产生了中断驱动方式

2、中断驱动方式

在这里插入图片描述

与程序直接控制相比,区别是:
1、在CPU发出读/写命令后,可将等待I/O的进程阻塞,先切换到别的进程执行
2、I/O完成后,控制器会向CPU发出一个中断信号,CPU检测到中断信号后,会保存当前进程的运行环境信息,转去执行中断处理程序处理该中断。
3、CPU从I/O控制器读一个字的数据传送到CPU寄存器,再写入主存
问题:中断处理过程中需要保存、恢复进程的运行环境,这个过程是需要一定时间开销的。可见,如果中断发生的频率太高,也会降低系统性能;每个字在I/O设备与内存之间的传输,都需要经过CPU。为此提出来DMA方式。

3、DMA方式(直接存储器存取)

在这里插入图片描述

1、CPU到I/O的操作都交由DMA控制器完成,数据的传输不在经由CPU处理,CPU仅在传送一个或多个数据块的开始和结束时,才需要干预。
2、区别于中断驱动方式,多加入一个DMA控制器用于数据传输。
3、DMA控制器:
在这里插入图片描述
1、从DMA控制图中可知,内存到I/O设备的数据传输通过DMA就可以完成,该不需要CPU的干预,大大提高了CPU与I/O设备间的并行效率
2、CPU只是负责发出对I/O设备的请求以及接收当数据传输完成后的中断

在这里插入图片描述

4、通道控制方式

在这里插入图片描述

通道控制方式区别于DMA方式:当CPU请求I/O设备时,会先在内存的任务清单中添加任务,然后通道检查内存中的任务清单,若有任务则由通道负责与I/O设备的数据传输。所以每次可以进行一组数据块的读写。

在这里插入图片描述

对比

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41587740/article/details/109068412