文章目录
- I/O设备的基本概念和分类
- I/O设备的分类
- I/O控制器
- I/O设备的组成
- I/O控制器的组成
- I/O控制器的两种寄存器编址方式
- I/O控制方式
- 程序直接控制方式
- 中断驱动方式
- DMA方式
- 通道控制方式
- I/O软件的层次结构
- 用户层软件
- 设备独立性软件
- 六大功能
- 逻辑设备表—LUT
- 设备驱动程序
- 中断处理程序
- I/O核心子系统及功能
- 假脱机技术
- I/O调度
- 设备保护
- 假脱机技术(SPOOLing)
- 什么是脱机技术?
- 假脱机技术
- 输入井和输出井
- 输入进程与输出进程
- 输入输出缓冲区
- 假脱机技术的一种应用
- I/O设备的分配与回收
- 设备分配时应该考虑的因素
- 设备的固有属性
- 设备的分配算法
- 设备分配中的安全性
- 静态分配与动态分配
- 设备分配管理中的数据结构
- 设备控制表—DCT
- 控制器控制表—COCT
- 通道控制表—CHCT
- 系统设备表—SDT
- 设备分配的步骤
- 设备分配的改进步骤
- 缓冲区管理
- 什么是缓冲区?有什么作用?
- 单缓冲
- 双缓冲
- 单缓冲和双缓冲通信时的区别
- 循环缓冲区
- 缓冲池
I/O设备的基本概念和分类


I/O设备的分类
按使用特性分类

按传输速率分类

按信息交换单位分类

最后我们总结一下:

I/O控制器
I/O设备的组成

机械部件

电子部件—I/O控制器的功能

I/O控制器的组成


I/O控制器的两种寄存器编址方式

最后总结一下:

I/O控制方式

程序直接控制方式
完成一次读/写操作的流程图(以读操作为例)

下面以C语言代码和流程图来剖析,程序直接控制方式


中断驱动方式
由于程序直接控制方式CPU利用率低,忙等,所以提出了中断驱动方式。


DMA方式
虽然中断驱动方式解决了程序直接控制方式的问题,但是每一次只能读/写一个字,导致CPU频繁切换,耗费了很多时间。于是人们又发明了DMA方式。

DMA控制器:


通道控制方式
通道控制方式是为了解决DMA方式连续存储的问题


最后我们总结一下:

I/O软件的层次结构

用户层软件

设备独立性软件
六大功能



逻辑设备表—LUT

为什么不同的设备需要不同的驱动程序呢?

举几个假设的例子:



设备驱动程序

中断处理程序


最后我们总结一下:

I/O核心子系统及功能

假脱机技术

I/O调度

设备保护

假脱机技术(SPOOLing)
什么是脱机技术?
-
这里温习一下手工操作阶段:

-
因为手工阶段的速度慢问题,引入了脱机技术

假脱机技术
在脱机技术的基础上人们发明了更好的假脱机技术
输入井和输出井


输入进程与输出进程


输入输出缓冲区

假脱机技术的一种应用
共享打印机原理分析—假脱机技术的一种应用
- 先了解一下独占和共享设备,以此引出假脱机技术如何实现对独占设备的共享:


- 打印请求完成后,请求表从打印队列删除,执行后续队列的打印任务

最后我们总结一下:

I/O设备的分配与回收
设备分配时应该考虑的因素
设备的固有属性

设备的分配算法

设备分配中的安全性

静态分配与动态分配

设备分配管理中的数据结构
设备、控制器、通道之间的关系:

设备控制表—DCT

控制器控制表—COCT

通道控制表—CHCT

系统设备表—SDT

设备分配的步骤




设备分配的改进步骤



最后总结一下:

缓冲区管理
什么是缓冲区?有什么作用?


单缓冲

T>C时的例子:



T<C时:

双缓冲
T>C+M时:

T<C+M时:


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


循环缓冲区

缓冲池





最后总结一下:



















