操作系统基础3
第 5 章 I/O管理
5.1 I/O管理概述
5.1.1 什么是I/O设备?有几类I/O设备?
0.思维导图
1.什么是I/O设备?
2.I/O设备的分类
(1)按使用特性分类
(2)按传输速率分类
(3)按信息交换单位分类
5.1.2 控制I/O设备的I/O控制器
0.思维导图
1.I/O设备的组成
(1)机械部件
(2)电子部件—I/O控制器的功能
2.I/O控制器的组成
注意:
3.I/O控制器的两种寄存器编址方式
内存映像—独立编址
5.1.3 控制I/O设备的几种方式?(程序直接控制方式、中断驱动方式、DMA、通道控制)
0.思维导图
1.程序直接控制方式
key word : 轮询
- 完成一次读/写操作的流程图(以读操作为例)
下面以C语言代码和流程图来剖析,程序直接控制方式
分析一下在思维导图中提到的几个问题:
2.中断驱动方式
- 由于
程序直接控制方式
CPU利用率低,忙等,所以提出了中断驱动方式。
分析一下在思维导图中提到的几个问题:
3.DMA方式
- 虽然
中断驱动方式解决了程序直接控制方式
的问题,但是每一次只能读/写一个字,导致CPU频繁切换,耗费了很多时间。于是人们又发明了DMA方式。
DMA控制器:
分析一下在思维导图中提到的几个问题:
4.通道控制方式
- 通道控制方式是为了解决DMA方式连续存储的问题
分析一下在思维导图中提到的几个问题:
5.四种方式总结一下
5.1.4 I/O软件的层次结构(用户层软件-设备独立性软件-设备驱动程序-中断处理程序)
0.I/O软件层次总览
1.用户层软件
2.设备独立性软件
六大功能
逻辑设备表—LUT
为什么不同的设备需要不同的驱动程序呢?
举几个假设的例子:
3.设备驱动程序
4.中断处理程序
5.总结回顾
5.2 I/O核心子系统
5.2.1 内核的I/O核心子系统及功能
0.I/O核心子系统以及功能
1.这些功能在哪个层次实现?
假脱机技术
I/O调度
设备保护
5.2.2 I/O设备假脱机技术(SPOOLing)
0.思维导图
1.什么是脱机技术?
这里温习一下手工操作阶段:
- 因为手工阶段的速度慢问题,引入了脱机技术
2.假脱机技术
- 在脱机技术的基础上人们发明了更好的假脱机技术
输入井和输出井
输入进程与输出进程
输入输出缓冲区
共享打印机原理分析—假脱机技术的一种应用
先了解一下独占和共享设备,以此引出假脱机技术如何实现对独占设备的共享:
- 打印请求完成后,请求表从打印队列删除,执行后续队列的打印任务
5.2.3 I/O设备的分配与回收(DCT-COCT-CHCT-SDT)
0.思维导图
1.设备分配时应该考虑的因素
设备的固有属性
设备的分配算法
设备分配中的安全性
2.静态分配与动态分配
3.设备分配管理中的数据结构
设备、控制器、通道之间的关系:
设备控制表—DCT
控制器控制表—COCT
通道控制表—CHCT
系统设备表—SDT
4.设备分配的步骤
设备分配的改进步骤
5.2.4 缓冲区管理(单缓冲-双缓冲-循环缓冲-缓冲池)
0.思维导图
1.什么是缓冲区?有什么作用?
2.单缓冲
T>C时的例子:
T<C时:
3.双缓冲
T>C+M时:
T<C+M时:
4.单缓冲和双缓冲通信时的区别
5.循环缓冲区
6.缓冲池
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吕小医's BLOG!