第五章 I/O管理

5.1.1 io设备按信息交换的单位分类

块设备

特点:传输速率高,可寻址,可以随机的读写任意一块

举例:磁盘

字符设备

特点:传输速率慢,不可寻址

举例:鼠标,键盘,数据传输的基本单位是字符

5.1.2 I/O控制器(

就是实现CPU和IO设备间的控制的,CPU控制IO控制器,IO控制器控制IO设备

IO控制器的功能:(IO设备中包含的寄存器)

接收和识别CPU发出的命令(控制寄存器)
向CPU报告设备的状态(状态寄存器)
数据交换(数据寄存器)
地址识别

IO控制器的组成

三部分:

CPU与控制器之间的接口
I/O逻辑
控制器与设备之间的接口
在这里插入图片描述
注意:

一个IO控制器可能对应多个设备
数据寄存器,状态寄存器,控制寄存器有多个,这些寄存器有响应的地址,方便CPU操作
地址的编码方式分为两种,一种是内存映像IO,另一部分计算机采用IO专用编址,即寄存器独立编址(与计组中的IO统一编址和独立编址一样)

在这里插入图片描述

5.1.3 I/O控制方式

  1. 一次读/写的流程
  2. CPU干预的频率
  3. 数据传送的单位
  4. DMA方式
  5. 通道控制方式

程序直接控制方式

1.CPU通过控制线发送控制命令,IO设备随后开始准备数据,在IO设备准备准备数据的时候,CPU会不断轮询检查IO控制器的状态,如果IO设备准备就绪,IO控制器就会将状态寄存器置为0(已就绪),并将数据放在数据寄存器中,此时CPU发现了数据寄存器的数据,再把数据放到内存中

2.CPU干预频率频繁

3.数据传送的单位:字

4.数据的流向:(不懂)

读:IO设备-CPU-内存
写:内存-CPU-IO设备

5.优缺点:

优点: 简单高效

缺点:CPU一直在轮询,处于忙等状态,CPU利用率低

中断驱动方式

1.所有过程和上面一种方式相同,唯一不同点在于CPU不用轮询检查IO控制器的状态,在IO设备准备数据时,CPU可以先进行其他的进程,IO数据准备好后,会向CPU发送一个中断信号,CPU接收到以后就可以开始接收IO的数据了

2.I/O开始前后需要CPU介入,等待过程可切到换别的进程

3.数据传输的单位:字

4.数据流向:与前者相同

5.优点:可以让CPU和IO并行工作

DMA方式(Direct Memory Access)

直接存储器存取

与前两者区别:

数据传送单位:块

仅在传送1个或多个数据块的开始或结束时,需要CPU的干预

在这里插入图片描述

通道控制方式

通道可以识别一些简单的通道指令,是弱鸡版的CPU

通道程序=任务清单

一个通道可以控制多个IO控制器,一个通道控制器可以控制多个IO设备
在这里插入图片描述

几种IO控制方式的对比

在这里插入图片描述

5.1.4 软件层次结构

重点在IO调度,设备保护,假脱机技术(SPOOLing),设备的分配与回收,缓冲区管理(缓冲与高速缓存)
在这里插入图片描述

5.1.5 IO核心子系统

在这里插入图片描述
IO调度:用某种算法来确定一个好的顺序来处理各种IO请求

设备保护:把设备看成一种特殊的文件,设备保护就是文件保护了,参考第四章文件保护的内容

IO核心子系统的组成

在这里插入图片描述

5.1.6 假脱机技术

由于CPU处理数据的速度很快,但是输入数据的速度很慢,从而引入了脱机技术

脱机的意思就是输入阶段将数据输入到一个外围控制机上,就会使得CPU处理数据的总时间加快。

假脱机就是用软件的方式来模拟脱机技术

在这里插入图片描述
示例:共享打印机

5.1.7 设备的分配与回收

设备分配时应考虑的因素

设备的固有属性:独占设备,共享设备,虚拟设备
设备分配算法:先来先服务算法。。。
设备分配的安全性:不安全分配有可能出现死锁现象:

在这里插入图片描述

静态分配和动态分配

在这里插入图片描述

设备分配管理的数据结构

类似于树一样的关系:

在这里插入图片描述
设备控制表(DCT):(Device Control Table)
在这里插入图片描述
Controller control table
在这里插入图片描述
Channel control table
在这里插入图片描述
System device table
在这里插入图片描述
注意这几种表都有一个重要的点,就是指针,状态/等待队列的指针

设备分配的步骤

在这里插入图片描述
注意这里的缺点和改进方法

5.1.8 缓冲区管理

缓冲区的作用

在这里插入图片描述
下面是几种缓冲区管理的策略:

单缓冲(与双缓冲联合在一起考处理一块数据要用的时间)

在这里插入图片描述
常考题型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

双缓冲

在这里插入图片描述

循环缓冲区

在这里插入图片描述

缓冲池

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/be_stronger/article/details/114680107
今日推荐