操作系统——IO设备管理

IO设备概念

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

IO控制器

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

IO控制方式

在这里插入图片描述

程序直接控制方式

不断的读取IO的状态,判断IO内容,按照块读取,cpu利用率低
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中断驱动方式

相对于程序直接控制方式,可以让cpu放手去计算其他内容,IO操作之后可以通过中断来让CPU读取IO数据
在这里插入图片描述
在这里插入图片描述

DMA(直接存储器存取)

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

通道控制方式

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

总结

在这里插入图片描述

IO软件的层次结构

用户层软件

在这里插入图片描述

独立性设备软件

在这里插入图片描述

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

设备驱动程序

每台设备,不同型号,不同品牌的电子特性可以是完全不一样的,cpu想控制这些不同设备,就需要通过驱动程序来控制这些设备
在这里插入图片描述

中断处理程序

在这里插入图片描述

总结

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

假脱机技术(spooling)

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

设备的分配与回收

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

分配管理中的数据结构

在这里插入图片描述

设备控制表(DCT)

在这里插入图片描述

控制器控制表(COCT)

在这里插入图片描述

通道控制表(CHCT)

系统设备表(SDT)

在这里插入图片描述

分配步骤

传统分配方式

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

改进分配方式

通过逻辑设备名来选择设备,需要添加一个逻辑设备表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

缓冲区管理

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

单缓冲

在这里插入图片描述

输入时间大于处理时间

在这里插入图片描述

输入时间小于处理时间

在这里插入图片描述

比较

在这里插入图片描述

双缓冲

输入时间大于处理时间和传送时间

工作区空,其中一个缓冲区满,另外一个缓冲区空
在这里插入图片描述

如果输入时间小于传送时间和处理之间的话

在这里插入图片描述

比较

在这里插入图片描述

单缓冲和双缓冲在通信时的区别

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

循环缓冲区

在这里插入图片描述

缓冲池

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

总结

在这里插入图片描述