导图社区 设备管理
这是一个设备管理知识点的思维导图,介绍了设备的基本概念与分类、控制器、控制方式、软件层次结构、核心子系统、假脱机技术、设备的分配与回收、缓冲区管理几个方面。
数据结构与算法 数据结构是计算机中存储、组织数据的方式。 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。
操作系统是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
设备管理
1. I/O设备的基本概念与分类
什么是I/O设备
将数据 input/output(输入、输出)计算机的外部设备
按使用特性分类
人机交换类外部设备
存储设备
网络通信设备
按传输速率分类
低速设备
中速设备
高速设备
按信息交换的单位分类
块设备(传输块,可寻址)
字符设备(传输慢,不可寻址,常采用中断驱动方式)
2. I/O控制器
主要功能
接受和识别CPU发出的命令(要有控制寄存器)
向CPU报告设备的状态(要有状态寄存器)
数据交换(要有数据寄存器,暂存输入、输出的数据)
地址识别(由I/O逻辑实现)
组成
CPU与控制器之间的接口(实现控制器与CPU之间的通信)
I/O逻辑(负责识别CPU发出的命令,并向设备发出命令)
控制器与设备之间的接口(实现控制器与设备之间的通信)
两种寄存器编址方式
内存映射I/O
控制器中的寄存器与内存统一编址
可以采用对内存进行操作的指令来对控制器进行操作
寄存器独立编址
控制器中的寄存器独立编址
需要设置专门的指令来操作控制器
3. I/O控制方式
程序直接控制方式
CPU发出I/O命令后需要不断轮询
中断驱动方式
CPU发出I/O命令后可以做其他事,本次I/O完成后设备控制器发出中断信号
DMA方式
CPU发出I/O命令后可以做其他事,本次I/O完成后 DMA控制器发出中断信号
通道控制方式
CPU发出I/O命令后可以做其他事。通道会执行通道程序以完成I/O,完成后通道向CPU发出中断信号
4. I/O软件层次结构
5. I/O核心子系统
子主题
6. 假脱机技术(SPOOLing技术)
脱机技术
外围控制机+更高速的设备-磁带
作用:缓解设备与CPU的速度矛盾,实现预输入、缓输出
假脱机技术
又叫SPOOLing技术,用软件的方式模拟脱机技术
输入井和输出井-模拟脱机输入/输出时的磁带
输入进程和输出进程-模拟脱机输入/输出时的外围控制机
输入缓冲区和输出缓冲区-内存中的缓冲区,输入、输出时的中转站
共享打印机
用SPOOLing技术将独占式的打印机虚拟成共享打印机
7. 设备的分配与回收
应考虑的因素
固有属性
独占设备、共享设备、虚拟设备
分配算法
先来先服务、优先级高者优先,短任务优先等
安全性
安全分配方式、不安全分配方式
静态分配与动态分配
静态分配
进程运行前为其分配全部所需资源,运行结束后归还资源
动态分配
进程运行过程中动态申请设备资源
设备分配管理中数据结构
设备控制表DCT
每个设备对应一张DCT,关键字段:类型/标识符/状态/指向COCT的指针 等待队列指针
控制器控制表COCT
每个控制器对应一张COCT,关键字段:状态/指向CHCT的指针/等待队列指针
通道控制表CHCT
每个控制器对应一张CHCT,关键字段:状态/等待队列指针
系统设备表 SDT
记录整个系统中所有设备的情况,每个设备对应一个表目,关键字段:设备类型/标识符/DCT/驱动程序入口
设备分配的步骤
根据进程请求的物理设备名查找SDT:根据SDT找到DCT并分配设备;根据DCT找到COCT并分配控制器;根据COCT找到CHCT并分配通道
注:只有设备、控制器、通道三者都分配成功时,这次设备分配才算成功,之后便可启动I/O设备进行数据传送
缺点:用户编程时必须使用 物理设备名,若换了一个物理设备,则程序无法运行,若进程请求的物理设备正在忙碌,则即使系统中还有相同类型的设备,进程也必须阻塞等待
设备分配步骤的改进
用户编程时使用逻辑设备名申请设备,操作系统负责实现从逻辑设备名到物理设备名的映射(通过LUT)
逻辑设备表的设置问题
整个系统只有一张LUT:各用户所用的逻辑设备名不允许重复
每个用户一张LUT:各个用户的逻辑设备名可重复
8. 缓冲区管理
缓冲区的概念
一般利用内存作为缓冲区
缓解CPU与设备的速度矛盾、减少对CPU的中断频率、解决数据粒度不匹配的问题、提高CPU与设备之间的并行性
单缓冲
设备-(T)-缓冲区-(M)-工作区-(C)-处理
处理一块数据平均耗时Max(C,T)+M
分析问题的初始状态:工作区满,缓冲区空
双缓冲
处理一块数据平均耗时Max(T,C+M)
分析问题的初始状态:工作区空,一个缓冲区满,另一个缓冲区空
循环缓冲
多个缓冲区链接成循环队列,in指针指向第一个空缓冲区,out指针指向第一个满缓冲区
缓冲池
三个队列
空缓冲队列
输入队列
输出队列
四种工作缓冲区
用于收容输入数据的工作缓冲区、用于提取输入数据的工作缓冲区
用于收容输出数据的工作缓冲区、用于提取输出数据的工作缓冲区