5、设备管理篇
5.设备管理
设备控制器:位于CPU 和I/O之间,其接收来自CPU的指令,并控制I/O设备。
5.1 几种I/O控制方式
1.程序直接控制方式
向CPU和I/O设备设备控制器发出命令之后,然后就需要一直检测状态寄存器的值,判断是否结束任务,结束之后再去执行下一个任务。
2.中断控制方式
这个也很容易理解,当CPU 向设备控制器发出启动指令后,则去做其他工作,设备控制器完成任务后,则会发送一个中断指令,告诉他,我已经完成任务了,然后让其继续回来处理任务。但是这样也存在问题,中断过多的话,则会耗费大量CPU时间。
3.DMA控制方式
数据传输的基本单位是块,然后传输过程是DMA控制器直接于内存交换,仅在传送一个或多个块的开始或结束时,才需CPU干预。
中断控制方式在每个数据传输完之后中断CPU,DMA是一批数据全部传输完才进行中断。
4.通道控制方式
通道控制方式和DMA类似,但是所需要的CPU干预更少,我们可以将他理解成一个简单的控制器,代理CPU进行处理。
5.2 I/O软件的层次结构

5.3 I/O子系统
I/O核心子系统是设备控制的各类方法,其提供的主要服务就是I/O调度,高速缓存与缓冲区、设备分配与回收、假脱机。
I/O调度:
就是确定一个好的顺序来执行I/O请求。因为应用程序所发布系统调用顺序不一定总是最佳选择,所以需要通过调度来改善系统的整体性能。主要是通过重新安排任务队列顺序以改善系统总体调用。
引入缓存
:引入缓冲后可以降低设备对CPU的中断频率,放宽对中断响应时间的限制。
缓存的分类
单缓存
双缓存,可以交替使用,提高并行速度
循环缓存:顾名思义
缓冲区
5.4 假脱机技术
这个是经常用到的,我们系统中有一些独占设备,然后某个进程获得了独占设备的使用权,但是却不经常使用,却又卡着让别人用不了,这就造成了资源的浪费,所以我们将独占设备改造成共享设备,提高利用率。
主要原理是,利用输入缓冲区,输入井,输出缓冲区,输出井来完成。
