操作系统王道考研 p63 I/O控制方式:程序直接控制方式 中断驱动方式DMA方式通道控制方式

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统王道考研 p63 I/O控制方式:程序直接控制方式 中断驱动方式DMA方式通道控制方式相关的知识,希望对你有一定的参考价值。

I/O控制方式

知识总览

IO控制方式就是用什么样的方式来控制IO设备的数据读写。

程序直接控制方式

  1. CPU说“我要读”。
  2. 检查控制器是否准备好
  3. 输入设备准备好后将数据传给控制器并告诉它自己准备好了
  4. 控制器收到数据后,把它放到数据寄存器,状态为改为0表示准备好了
  5. CPU知道设备们准备好了,就把数据寄存器中的数据读入CPU,再放到内存 中。
  6. 如果还要继续读,就重复第一步。


流程图:

我们要关注的点:
CPU要不停的轮询检查(即上述的第2步),长期属于忙等状态,利用率低。
每次读写一个字。

中断驱动方式

对程序直接控制方式的改进。由于程序直接控制方式CPU利用率低是因为“忙等”,这里CPU发出读写命令后就把该进程阻塞,这样就不会忙等。

我们要关注:
数据传送的单位:一个字
优点:CPU和IO设备可以并行
缺点:若是频繁中断则消耗过多CPU的时间。

DMA方式

数据的传送单位——
直接从设备到内存或反之,中间不再需要CPU

DMA控制器:
DMA控制器也是一种IO控制器

优缺点:
优点:
数据传送单位:一个或多个
数据流向:不需要进过CPU。
效率增加,并发性提升。
缺点:
CPU每发出一条IO指令,只能读写一个或多个连续的数据块。
如果要读写多个离散的数据块,或要将数据分别写到不同的内存中,CPU要发出多个IO指令,进行多次中断 才行。

通道控制方式

通道:可以理解为弱鸡版的CPU,可以识别并执行一系列的通道指令
通道像是一个功能完善,办事专业的CPU的小弟

优缺点:
优点:
每次读写一组数据块
数据在通道的控制下运行。
CPU、通道、IO设备可并行工作,资源利用率很高。

缺点:
需要硬件、麻烦。

总结

四种方式其实可以理解为慢慢==“解放CPU”==的方法。
CPU被解放了(从一直参与,到最后参与一下下,委托(弱一点的)别人帮自己做事,委托(强一点的)别人帮自己做事),就可以去做更多的别的事情。资源利用率自然就高了。

且,传输单位越来越大 (字-字-块-一组块)。

通道:弱鸡版CPU
通道程序:任务清单

(通道程序可见上上张图右下角)

以上是关于操作系统王道考研 p63 I/O控制方式:程序直接控制方式 中断驱动方式DMA方式通道控制方式的主要内容,如果未能解决你的问题,请参考以下文章

操作系统王道考研 p6 系统调用

I/O系统

I/O系统

I/O系统

输入/输出(I/O)管理-第一节3:I/O控制方式

(王道408考研操作系统)第一章计算机系统概述-第一节4:中断和异常