第 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.缓冲池

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