第五章 输入输出(I/O)管理

5.1 I/O管理概述

5.1.1 I/O设备

1、人机交互类外部设备
2、存储设备
3、网络通信设备


一、按传输速率分类

1)低速设备 键盘、鼠标
2)中速设备 打印机
3)高速设备 磁带机、光盘机

二、按信息交换的单位分类

1)块设备 以块为单位

2)字符设备 以字符为基本单位


5.1.2 I/O控制方式

在这里插入图片描述

一、程序直接控制方式

程序直接对设备进行循环测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


二、中断驱动方式

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

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


三、DMA方式 数据的传输单位是

是一种不经过CPU而直接从主存存取数据的数据交换模式,在I/O和主存之间建立一条数据通路,只是逻辑上的通路 并不是物理通路

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

  • CPU接收到I/O设备的DMA请求时,它给I/O控制器发出一条命令,启动DMA控制器
  • DMA控制器直接与主存进行交互
  • 传送完成,DMA控制器发送一个中断信号给CPU

只有在传送开始和结束时才需要CPU的参与

中断驱动方式 DMA方式
每个数据需要传输时中断 所要传送的一批数据全部结束时才中断CPU

在这里插入图片描述


四、通道控制方式 [硬件]

  • 通道控制方式是为了解决DMA方式连续存储的问题
    *在这里插入图片描述
    一个通道可以控制多个I/O控制器
    I/O控制器可以控制多个工人设备

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


5.1.3 I/O子系统的层次结构

每一层利用下一层提供的服务

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


5.2 I/O核心子系统

5.2.1 I/O子系统概述

5.2.2 I/O调度概念

磁盘调度其实就是I/O调度的一种

在这里插入图片描述

5.2.3 高速缓存和缓冲区

1、磁盘高速缓存
2、缓冲区
在这里插入图片描述
在这里插入图片描述
1)单缓冲
在这里插入图片描述
在这里插入图片描述
2)双缓冲
在这里插入图片描述
3)单缓冲和双缓冲通信时的区别
在这里插入图片描述
4)循环缓冲

缓冲区为一个循环队列
在这里插入图片描述

5)缓冲池

在这里插入图片描述
3、高速缓存与缓冲区对比
在这里插入图片描述


5.2.4 设备的分配与回收

在这里插入图片描述

1、设备分配概述
在这里插入图片描述
独占式设备:只允许各个进程串行使用设备
共享式设备:允许多个进程“同时使用”设备 (宏观同时,微观交替)
2、设备分配的数据结构

设备、控制器、通道之间的关系

在这里插入图片描述

设备控制表(DCT) 每个设备配置一张DCT,用于记录设备情况

控制器控制表(COCT) 每个设备控制器对应一张COCT,根据COCT信息对控制器进行操作和管理

通道控制表(CHCT) 每个通道对应一张CHCT,对通道进行操作和管理

系统设备表(SDT) 整个系统只有一张SDT,记录已连接到系统中的所有物理设备的情况


3、设备分配的步骤

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


4、设备分配的安全性
在这里插入图片描述
死锁的避免:银行家算法


5.2.5 SPOOLing技术(假脱机技术) 前提是多道程序

提高了I/O的速度;将独占设备变为共享设备;实现了虚拟设备的功能
提高单机资源利用率的关键技术时 多道程序设计

1.什么是脱机技术

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

2.输入井和输出井 预输入程序

在这里插入图片描述

3.输入缓冲区和输出缓冲区 井管理程序

在这里插入图片描述

4.输入进程和输出进程 缓输出程序

在这里插入图片描述

共享打印机原理分析—假脱机技术的一种应用

在这里插入图片描述
在这里插入图片描述
(1)先申请缓冲区 (在内存中),并将打印的数据送到缓冲区。
(2)为用户申请空白的 打印请求表(存放打印信息的地址等信息) 挂到文件队列
(3)打印机空闲,取出 打印请求表 将数据从输入井 (磁盘中) 传到 输出缓冲区(内存中) ,再输出到打印机进行打印。

  • 打印请求完成后,请求表从打印队列中删除,执行后续打印任务
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_38220799/article/details/109319723
今日推荐