[精选]操作系统第5章设备管理(2)5289.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《[精选]操作系统第5章设备管理(2)5289.pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统第5章设备管理(2)5289.pptx(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Operating System 5/21/2023 1Operating System第五章 第五章 设备管理 设备管理qI/O系统 qI/O控制方式 q 缓冲管理 q设备分配q设备处理q磁盘存储器管理5/21/2023 2Operating System缓冲管理 缓冲管理q缓冲的引入q单缓冲和双缓冲q循环缓冲q缓冲池(Buffer Pool)5/21/2023 3Operating System缓冲的引入 缓冲的引入q缓和CPU与I/O设备间速度不匹配的矛盾 数据到达速率与其离去速率不同q减少对CPU的中断频率,放宽对CPU中断响应时间的限制1位缓冲9.6 Kb/s(a)中断CPU的频率为
2、9.6Kb/s,每100 s中断一次CPUCPU必须在100 s内响应,否则数据会被冲掉8位缓冲寄存器送内存9.6 Kb/s(b)中断CPU的频率降低为9.6Kb/8 5/21/2023 4Operating System缓冲的引入 缓冲的引入8位缓冲寄存器9.6 Kb/s送内存(c)q提高CPU和I/O设备之间的并行性v提高系统的吞吐量和设备的利用率每800 s中断一次CPU5/21/2023 5Operating System缓冲管理 缓冲管理q缓冲的引入q单缓冲和双缓冲q循环缓冲q缓冲池(Buffer Pool)5/21/2023 6Operating System单缓冲和双缓冲 单缓冲
3、和双缓冲q单缓冲(Single Buffer)CT时,每块数据的处理时间是M+T;反之,为M+C,即由于C和T可并行,M和C或M和T不能并行因此处理一块数据时间:Max(C,T)+M5/21/2023 7Operating System2.双缓冲(Double Buffer)为 了 加 快 输 入、输 出 速 度 和 提 高 设 备 利 用 率,又 引 入了 双 缓 冲 工 作 方 式,也 称 为 缓 冲 对 换(Buffer Swapping)方 式。在 设 备 输 入 时,先 将 数 据 输 入 第 一 缓 冲 区,装 满 后便 转 向 第 二 缓 冲 区。操 作 系 统 可 从 第 一
4、缓 冲 区 中 移 出 数 据送用户进程区,接着由CPU 对数据进行计算。5/21/2023 8Operating System单缓冲和双缓冲 单缓冲和双缓冲q双缓冲(Double Buffer)效率有所提高,且进一步平滑了传输峰值。系统处理一块数据的时间约为:MAX(C,T)5/21/2023 9Operating System单缓冲和双缓冲 单缓冲和双缓冲只能实现单向的数据传输为了实现双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区,另一个用作接收缓冲区。5/21/2023 10Operating System缓冲管理 缓冲管理q缓冲的引入q单缓冲和双缓冲q循环缓冲q缓冲
5、池(Buffer Pool)5/21/2023 11Operating System循环缓冲 循环缓冲q循环缓冲的引入v当输入与输出速度基本匹配时,双缓冲能获得较好效果;当速度相差较大时,可引入多个(大小相等)缓冲,组织成循环缓冲的形式q循环缓冲的组成v多个缓冲区 用于装输入数据的空缓冲区R 已装满数据的满缓冲区G 计算进程正在使用的现行工作缓冲区Cv多个指针 指示计算进程下一可用缓冲区Nextg 指示输入进程下一可用空缓冲区Nexti 指示计算进程正在使用的缓冲区Current5/21/2023 12Operating System循环缓冲 循环缓冲类型:R:空缓冲;G:满缓冲;C:当前缓冲
6、5/21/2023 13Operating System循环缓冲 循环缓冲q循环缓冲区的使用v Getbuf过程 为计算进程和输入进程提供缓冲区,并移动指针v Releasebuf过程 当计算进程或输入使用完缓冲区后,调用过程将缓冲区释放q进程同步输入、计算进程并行v Nexti指针追赶上Nextg指针 输入进程速度大于计算进程,全部空缓冲区已满,无可用缓冲区,输入进程阻塞(系统受计算限制)v Nextg指针追赶上Nexti指针 计算进程速度大于输入进程,全部缓冲区空,无可用数据,计算进程阻塞(系统受I/O限制)5/21/2023 14Operating System缓冲管理 缓冲管理q缓冲的
7、引入q单缓冲和双缓冲q循环缓冲q缓冲池(Buffer Pool)5/21/2023 15Operating System缓冲池(缓冲池(Buffer Pool Buffer Pool)q缓冲池的组成v专用缓冲的利用率不高,与环形缓冲不同的是缓冲池中的缓冲区是系统的公用资源,可供多个进程共享,既能用于输入,也能用于输出v缓冲区类型 空(闲)缓冲区 装满输入数据的缓冲区 装满输出数据的缓冲区v缓冲队列:按其使用情况 空缓冲队列emq 输入队列inq 输出队列outq5/21/2023 16Operating System缓冲池(缓冲池(Buffer Pool Buffer Pool)q缓冲池的组成
8、v四种工作缓冲区用于收容输入数据的工作缓冲区(hin)用于提取输入数据的工作缓冲区(sin)用于收容输出数据的工作缓冲区(hout)用于提取输出数据的工作缓冲区(sout)5/21/2023 17Operating System缓冲池(缓冲池(Buffer Pool Buffer Pool)q两个对缓冲区操作的过程vGetbuf(type),type-队列类型 vPutbuf(type,number),number-指某缓冲区v队列是临界资源需设置互斥信号量MS,每个队列一个MS(type)资源信号量RS,每个队列一个RS(type)v队列操作过程 Takebuf(type):取type所指队
9、列队首缓冲区 Addbuf(type,number):将number所指缓冲区加到type所指队列尾5/21/2023 18Operating System缓冲池(缓冲池(Buffer Pool Buffer Pool)Procedure Getbuf(type)begin Wait(RS(type);Wait(MS(type);B(number):=Takebuf(type);/从队首摘下一个缓冲区 Signal(MS(type);end Procedure Putbuf(type,number)begin Wait(MS(type);Addbuf(type,number);/将指定缓冲区挂
10、在type指定队列上 Signal(MS(type);Signal(RS(type);end 互斥信号量MS(type)资源信号量RS(type)5/21/2023 19Operating System缓冲池(缓冲池(Buffer Pool Buffer Pool)q缓冲池的组成v四种工作缓冲区用于收容输入数据的工作缓冲区(hin)用于提取输入数据的工作缓冲区(sin)用于收容输出数据的工作缓冲区(hout)用于提取输出数据的工作缓冲区(sout)5/21/2023 20Operating System缓冲池(缓冲池(Buffer Pool Buffer Pool)q缓冲区工作方式hinsou
11、tsinhout收容输入提取输出用户进程提取输入收容输出缓冲池 Getbuf(emq)Putbuf(inq,hin)Getbuf(inq)Putbuf(emp,sin)Getbuf(emq)Putbuf(outq,hout)Getbuf(outq)Putbuf(emq,sout)5/21/2023 21Operating System3.缓冲区的工作方式 图 5-15 缓冲区的工作方式 v 1.收容输入;2.提取输入;3.收容输出;4.提取输出1.hin=getbuf(emq);putbuf(inq,hin)2.sin=getbuf(inq);计算;putbuf(emq,sin)3.hout=
12、getbuf(emq);putbuf(outq,hout)4.sout=getbuf(outq);输出;putbuf(emq,sout)5/21/2023 22Operating System缓冲q无缓冲时问题分析:设备直接向进程地址空间传送数据(如用户从磁带中读数据块的操作),则进程要么忙等待,要么阻塞。v如果用忙等待方式,则浪费大量CPU时间;v如果是阻塞方式,则进程阻塞在设备的I/O请求队列中。这时,不能将进程全部换出,还可能出现单进程死锁。(进程在等待I/O操作结果之前被换出,等待I/O事件,而I/O操作也被阻塞,等待该进程被换入。)5/21/2023 23Operating Syst
13、em第五章 第五章 设备管理 设备管理qI/O系统 qI/O控制方式 q缓冲管理 q 设备分配q设备处理q磁盘存储器管理5/21/2023 24Operating System设备分配 设备分配q设备分配中的数据结构q设备分配时应考虑的因素q设备独立性q独占设备的分配程序qSPOOLing技术5/21/2023 25Operating System设备分配中的数据结构 设备分配中的数据结构q在多道程序环境下,系统中的设备所有进程共享,为防止进程对系统资源的无序竞争,必须由系统统一分配设备q某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机
14、和设备间信息交换q为实现设备分配,系统中应设置相应的数据结构,对每台设备、通道、控制器的情况进行登记5/21/2023 26Operating System5.4 设 备 分 配 5.4.1 设备分配中的数据结构 1.设备控制表DCT2.控制器控制表COCT3.通道控制表CHCT4.系统设备表SDT 5/21/2023 27Operating System设备分配中的数据结构 设备分配中的数据结构q设备控制表DCT设备类型 type设备标识符:deviceid设备状态:等待/不等待 忙/闲指向控制器表COCT的指针重复执行次数或时间设备队列的队首指针DCT 1DCT 2DCT n设备控制表集合
15、每个设备一张,记录本设备的情况正使用,则忙标志置1;若与其相连的控制器或通道忙,则等待标志置1请求本设备未满足的进程PCB队列5/21/2023 28Operating System设备分配中的数据结构 设备分配中的数据结构q控制器控制表、通道控制表控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针(a)控制器表COCT(b)通道表CHCT一个控制器一张 一个通道一张5/21/2023 29Operating Syste
16、m设备分配中的数据结构 设备分配中的数据结构q系统设备表SDT 系统 设备表SDT表目1表目i设备类设备标识符DCT驱动程序入口整个系统一张,记录已被连接到系统中的所有物理设备的情况5/21/2023 30Operating System设备分配 设备分配q设备分配中的数据结构q设备分配时应考虑的因素q设备独立性q独占设备的分配程序qSPOOLing技术5/21/2023 31Operating System5.4.2 设备分配时应考虑的因素 为 了 使 系 统 有 条 不 紊 地 工 作,系 统 在 进 行 设 备 分 配 时,应考虑这样几个因素:(1)设备的固有属性;(2)设备分配算法;(
17、3)设备分配的安全性;(4)设备独立性。5/21/2023 32Operating System设备分配时应考虑的因素 设备分配时应考虑的因素q设备的固有属性v独占性 一段时间内,只允许一个进程独占,大多数低度速/设备都属于独享设备v共享性 允许多个进程同时共享,如磁盘、磁鼓之类的外存储器,既具有很能大的存储容量,其定位操作的时间又短v可虚拟性 独占设备经某种技术处理,改造成虚拟设备,把一台输入机虚拟为几台“虚拟”的输入机。例如:为了提高设备利用率引入了脱机输入输出或采用SPOOLing技术,变一台为“多台设备”缺点:设备得不到充分利用,可能产生死锁5/21/2023 33Operating
18、System设备分配时应考虑的因素 设备分配时应考虑的因素q设备分配v独占设备 防止死锁v共享设备 由于同时有多个进程同时访问,且访问频繁,就会影响整个设备使用效率,影响系统效率。因此要考虑多个访问请求到达时服务的顺序,使平均服务时间越短越好。注意各进程的访问次序进行合理调度v虚拟设备5/21/2023 34Operating System设备分配时应考虑的因素 设备分配时应考虑的因素q设备分配算法v先来先服务v优先级高者优先q设备分配中的安全性v安全分配方式 每当进程发出I/O请求后,便进入阻塞状态,I/O操作完成后唤醒 优点:摒弃了“请求和保持”条件,不会产生死锁v不安全分配方式 进程发出
19、I/O请求后仍继续运行,继续申请I/O设备 优点:可操作多个设备,推进迅速缺点:推进速度缓慢缺点:可能产生死锁5/21/2023 35Operating System缓冲的引入 缓冲的引入q缓和CPU与I/O设备间速度不匹配的矛盾v数据到达速率与其离去速率不同q减少对CPU的中断频率,放宽对CPU中断响应时间的限制q提高CPU和I/O设备之间的并行性v提高系统的吞吐量和设备的利用率5/21/2023 36Operating System缓冲q无缓冲时问题分析:设备直接向进程地址空间传送数据(如用户从磁带中读数据块的操作),则进程要么忙等待,要么阻塞。v如果用忙等待方式,则浪费大量CPU时间;v
20、如果是阻塞方式,则进程阻塞在设备的I/O请求队列中。这时,不能将进程全部换出,还可能出现单进程死锁。v进程在等待I/O操作结果之前被换出,等待I/O事件,而I/O操作也被阻塞,等待该进程被换入。5/21/2023 37Operating System设备分配 设备分配q设备分配中的数据结构q设备分配时应考虑的因素q设备独立性q独占设备的分配程序qSPOOLing技术5/21/2023 38Operating System设备独立性 设备独立性q设备独立性(Device Independence)的概念v为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称为设备无关性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 操作系统 设备管理 5289
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内