[精选]操作系统第5章设备管理(2).pptx
《[精选]操作系统第5章设备管理(2).pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统第5章设备管理(2).pptx(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4/18/20231第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理4/18/20232缓冲管理缓冲管理缓冲管理缓冲管理q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池缓冲池Buffer Pool4/18/20233缓冲的引入缓冲的引入缓冲的引入缓冲的引入q缓和缓和CPU与与I/O设备间速度不匹配的矛盾设备间速度不匹配的矛盾 数据到达速率与其离去速率不同数据到达速率与其离去速率不同q减少对减少对CPU的中断频率,放宽对的中断频
2、率,放宽对CPU中断响应时中断响应时间的限制间的限制1位缓冲位缓冲9.6 Kb/s(a)中断中断CPU的频的频率为率为9.6Kb/s,每,每100 s中中断一次断一次CPUCPU必须在必须在100 s内响内响应,否则数据应,否则数据会被冲掉会被冲掉8位缓冲寄存器位缓冲寄存器送内存送内存9.6 Kb/s(b)中断中断CPU的频率降的频率降低为低为9.6Kb/8 4/18/20234缓冲的引入缓冲的引入缓冲的引入缓冲的引入8位缓冲寄存器位缓冲寄存器9.6 Kb/s送内存送内存(c)q提高提高CPU和和I/O设备之间的并行性设备之间的并行性v提高系统的吞吐量和设备的利用率提高系统的吞吐量和设备的利用
3、率每每800 s中断一中断一次次CPU4/18/20235缓冲管理缓冲管理缓冲管理缓冲管理q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池缓冲池Buffer Pool4/18/20236单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲q单缓冲单缓冲Single Buffer CT时时,每块数每块数据的处理时间是据的处理时间是M+T;反之,为;反之,为M+C,即,即由于由于C和和T可并行,可并行,M和和C或或M和和T不能并行不能并行因此处理一块数据时间:因此处理一块数据时间:MaxC,T+M4/18/202372.双缓冲双缓冲Double Buffer 为了
4、加快输入、输出速度和提高设备利用率,又引入了双缓冲工作方式,也称为缓冲对换Buffer Swapping方式。在设备输入时,先将数据输入第一缓冲区,装满后便转向第二缓冲区。操作系统可从第一缓冲区中移出数据送用户进程区,接着由CPU对数据进行计算。4/18/20238单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲q双缓冲双缓冲Double Buffer 效率有所提高,且进一步平滑了传输峰值。效率有所提高,且进一步平滑了传输峰值。系统处理一块数据的时间约为:系统处理一块数据的时间约为:MAXC,T4/18/20239单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲只能实现单向只能
5、实现单向的数据传输的数据传输为了实现双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区,另一个用作接收缓冲区。4/18/202310缓冲管理缓冲管理缓冲管理缓冲管理q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池缓冲池Buffer Pool4/18/202311循环缓冲循环缓冲循环缓冲循环缓冲q循环缓冲的引入循环缓冲的引入v当输入与输出速度基本匹配时,双缓冲能获得较好效当输入与输出速度基本匹配时,双缓冲能获得较好效果;当速度相差较大时,可引入多个大小相等缓果;当速度相差较大时,可引入多个大小相等缓冲,组织成循环缓冲的形式冲,组织成循环缓冲的形式q循
6、环缓冲的组成循环缓冲的组成v多个缓冲区多个缓冲区用于装输入数据的空缓冲区用于装输入数据的空缓冲区R已装满数据的满缓冲区已装满数据的满缓冲区G计算进程正在使用的现行工作缓冲区计算进程正在使用的现行工作缓冲区Cv多个指针多个指针指示计算进程下一可用缓冲区指示计算进程下一可用缓冲区Nextg指示输入进程下一可用空缓冲区指示输入进程下一可用空缓冲区Nexti指示计算进程正在使用的缓冲区指示计算进程正在使用的缓冲区Current4/18/202312循环缓冲循环缓冲循环缓冲循环缓冲类型:类型:R:空缓冲;空缓冲;G:满缓冲;:满缓冲;C:当前缓冲:当前缓冲4/18/202313循环缓冲循环缓冲循环缓冲循
7、环缓冲q循环缓冲区的使用循环缓冲区的使用vGetbuf过程过程为计算进程和输入进程提供缓冲区,并移动指针为计算进程和输入进程提供缓冲区,并移动指针vReleasebuf过程过程当计算进程或输入使用完缓冲区后,调用过程将缓当计算进程或输入使用完缓冲区后,调用过程将缓冲区释放冲区释放q进程同步进程同步输入、计算进程并行输入、计算进程并行vNexti指针追赶上指针追赶上Nextg指针指针输入进程速度大于计算进程,全部空缓冲区已满,输入进程速度大于计算进程,全部空缓冲区已满,无可用缓冲区,输入进程阻塞系统受计算限制无可用缓冲区,输入进程阻塞系统受计算限制vNextg指针追赶上指针追赶上Nexti指针指
8、针计算进程速度大于输入进程,全部缓冲区空,无可计算进程速度大于输入进程,全部缓冲区空,无可用数据,计算进程阻塞系统受用数据,计算进程阻塞系统受I/O限制限制4/18/202314缓冲管理缓冲管理缓冲管理缓冲管理q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池缓冲池Buffer Pool4/18/202315缓冲池缓冲池缓冲池缓冲池Buffer PoolBuffer Poolq缓冲池的组成缓冲池的组成v专用缓冲的利用率不高,与环形缓冲不同的是缓冲池专用缓冲的利用率不高,与环形缓冲不同的是缓冲池中的缓冲区是系统的公用资源,可供多个进程共享,中的缓冲区是系统的公用资源,
9、可供多个进程共享,既能用于输入,也能用于输出既能用于输入,也能用于输出v缓冲区类型缓冲区类型空闲缓冲区空闲缓冲区装满输入数据的缓冲区装满输入数据的缓冲区装满输出数据的缓冲区装满输出数据的缓冲区v缓冲队列:按其使用情况缓冲队列:按其使用情况空缓冲队列空缓冲队列emq输入队列输入队列inq输出队列输出队列outq4/18/202316缓冲池缓冲池缓冲池缓冲池Buffer PoolBuffer Poolq缓冲池的组成缓冲池的组成v四种工作缓冲区四种工作缓冲区用于收容输入数据的工作缓冲区用于收容输入数据的工作缓冲区hin用于提取输入数据的工作缓冲区用于提取输入数据的工作缓冲区sin用于收容输出数据的工
10、作缓冲区用于收容输出数据的工作缓冲区hout用于提取输出数据的工作缓冲区用于提取输出数据的工作缓冲区sout4/18/202317缓冲池缓冲池缓冲池缓冲池Buffer PoolBuffer Poolq两个对缓冲区操作的过程两个对缓冲区操作的过程vGetbuftype,type-队列类型队列类型 vPutbuftype,number,number-指某缓冲指某缓冲区区v队列是临界资源需设置队列是临界资源需设置互斥信号量互斥信号量MS,每个队列一个,每个队列一个MStype资源信号量资源信号量RS,每个队列一个,每个队列一个RStypev队列操作过程队列操作过程Takebuftype:取:取typ
11、e所指队列队首缓所指队列队首缓冲区冲区Addbuftype,number:将:将number所指所指缓冲区加到缓冲区加到type所指队列尾所指队列尾4/18/202318缓冲池缓冲池缓冲池缓冲池Buffer PoolBuffer Pool Procedure Getbuftype begin WaitRStype;WaitMStype;Bnumber:=Takebuftype;/从队首摘下一个从队首摘下一个缓冲区缓冲区 SignalMStype;end Procedure Putbuftype,number begin WaitMStype;Addbuftype,number;/将指定缓冲区挂
12、在将指定缓冲区挂在type指定队指定队列上列上 SignalMStype;SignalRStype;end 互斥信号量MStype资源信号量RStype4/18/202319缓冲池缓冲池缓冲池缓冲池Buffer PoolBuffer Poolq缓冲池的组成缓冲池的组成v四种工作缓冲区四种工作缓冲区用于收容输入数据的工作缓冲区用于收容输入数据的工作缓冲区hin用于提取输入数据的工作缓冲区用于提取输入数据的工作缓冲区sin用于收容输出数据的工作缓冲区用于收容输出数据的工作缓冲区hout用于提取输出数据的工作缓冲区用于提取输出数据的工作缓冲区sout4/18/202320缓冲池缓冲池缓冲池缓冲池Bu
13、ffer PoolBuffer Poolq缓冲区工作方式缓冲区工作方式hinsoutsinhout收容输入收容输入提取输出提取输出用用户户进进程程提取输入提取输入收容输出收容输出缓冲池缓冲池GetbufemqPutbufinq,hinGetbufinqPutbufemp,sinGetbufemqPutbufoutq,houtGetbufoutqPutbufemq,sout4/18/2023213.缓冲区的工作方式缓冲区的工作方式 图 5-15 缓冲区的工作方式 v1.收容输入;2.提取输入;3.收容输出;4.提取输出1.hin=getbufemq;putbufinq,hin2.sin=getb
14、ufinq;计算;putbufemq,sin3.hout=getbufemq;putbufoutq,hout4.sout=getbufoutq;输出;putbufemq,sout4/18/202322缓冲缓冲q无缓冲时问题分析:设备直接向进程地址无缓冲时问题分析:设备直接向进程地址空间传送数据如用户从磁带中读数据块空间传送数据如用户从磁带中读数据块的操作,则进程要么忙等待,要么阻塞。的操作,则进程要么忙等待,要么阻塞。v如果用忙等待方式,则浪费大量如果用忙等待方式,则浪费大量CPU时间;时间;v如果是阻塞方式,则进程阻塞在设备的如果是阻塞方式,则进程阻塞在设备的I/O请求队列中。这时,请求队列
15、中。这时,不能将进程全部换出,不能将进程全部换出,还可能出现单进程死锁。进程在等待还可能出现单进程死锁。进程在等待I/O操操作结果之前被换出,等待作结果之前被换出,等待I/O事件,而事件,而I/O操操作也被阻塞,等待该进程被换入。作也被阻塞,等待该进程被换入。4/18/202323第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理4/18/202324设备分配设备分配设备分配设备分配q设备分配中的数据结构设备分配中的数据结构q设备分配时应考虑的因素设备分配时
16、应考虑的因素q设备独立性设备独立性q独占设备的分配程序独占设备的分配程序qSPOOLing技术技术4/18/202325设备分配中的数据结构设备分配中的数据结构设备分配中的数据结构设备分配中的数据结构q在多道程序环境下,系统中的设备所有进程共享,在多道程序环境下,系统中的设备所有进程共享,为防止进程对系统资源的无序竞争,必须由系统为防止进程对系统资源的无序竞争,必须由系统统一分配设备统一分配设备q某进程向系统提出某进程向系统提出I/O请求时,设备分配程序按请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交
17、换据传输通路,以供主机和设备间信息交换q为实现设备分配,系统中应设置相应的数据结构,为实现设备分配,系统中应设置相应的数据结构,对每台设备、通道、控制器的情况进行登记对每台设备、通道、控制器的情况进行登记4/18/2023265.4 设设 备备 分分 配配 5.4.1 设备分配中的数据结构设备分配中的数据结构 1.设备控制表设备控制表DCT2.控制器控制表控制器控制表COCT3.通道控制表通道控制表CHCT4.系统设备表系统设备表SDT 4/18/202327设备分配中的数据结构设备分配中的数据结构设备分配中的数据结构设备分配中的数据结构q设备控制表设备控制表DCT设备类型设备类型 type设
18、备标识符:设备标识符:deviceid设备状态:等待设备状态:等待/不等待不等待 忙忙/闲闲指向控制器表指向控制器表COCTCOCT的指针的指针重复执行次数或时间重复执行次数或时间设备队列的队首指针设备队列的队首指针DCT 1DCT 2DCT n设设备备控控制制表表集集合合每个设备一张,记录本设备的情况每个设备一张,记录本设备的情况正使用,则忙标志正使用,则忙标志置置1;假设与其相连;假设与其相连的控制器或通道忙,的控制器或通道忙,则等待标志置则等待标志置1请求本设备未满请求本设备未满足的进程足的进程PCB队队列列4/18/202328设备分配中的数据结构设备分配中的数据结构设备分配中的数据结
19、构设备分配中的数据结构q控制器控制表、控制器控制表、通道控制表通道控制表控制器标识符:控制器标识符:controllerid控制器状态:忙控制器状态:忙/闲闲与控制器连接的通道表指针与控制器连接的通道表指针控制器队列的队首指针控制器队列的队首指针控制器队列的队尾指针控制器队列的队尾指针通道标识符:通道标识符:channelid通道状态:忙通道状态:忙/闲闲与通道连接的控制器表首址与通道连接的控制器表首址通道队列的队首指针通道队列的队首指针通道队列的队尾指针通道队列的队尾指针(a)控制器表控制器表COCT(b)通道表通道表CHCT一个控制器一张一个控制器一张一个通道一张一个通道一张4/18/20
20、2329设备分配中的数据结构设备分配中的数据结构设备分配中的数据结构设备分配中的数据结构q系统设备表系统设备表SDT 系统系统设备表设备表SDT表目表目1表目表目i设备类设备类设备标识符设备标识符DCT驱动程序入口驱动程序入口整个系统一张,记录已被连接到系统中的所有物理设备的情况整个系统一张,记录已被连接到系统中的所有物理设备的情况4/18/202330设备分配设备分配设备分配设备分配q设备分配中的数据结构设备分配中的数据结构q设备分配时应考虑的因素设备分配时应考虑的因素q设备独立性设备独立性q独占设备的分配程序独占设备的分配程序qSPOOLing技术技术4/18/2023315.4.2 设备
21、分配时应考虑的因素设备分配时应考虑的因素 为了使系统有条不紊地工作,系统在进行设备分配时,应考虑这样几个因素:1设备的固有属性;2设备分配算法;3设备分配的安全性;4设备独立性。4/18/202332设备分配时应考虑的因素设备分配时应考虑的因素设备分配时应考虑的因素设备分配时应考虑的因素q设备的固有属性设备的固有属性v独占性独占性一段时间内,只允许一个进程独占,大多数低度速一段时间内,只允许一个进程独占,大多数低度速/设备都属于独享设备设备都属于独享设备v共享性共享性允许多个进程同时共享,如磁盘、磁鼓之类的外存允许多个进程同时共享,如磁盘、磁鼓之类的外存储器,既具有很能大的存储容量,其定位操作
22、的时储器,既具有很能大的存储容量,其定位操作的时间又短间又短v可虚拟性可虚拟性独占设备经某种技术处理,改造成虚拟设备,把一独占设备经某种技术处理,改造成虚拟设备,把一台输入机虚拟为几台台输入机虚拟为几台“虚拟的输入机。例如:为虚拟的输入机。例如:为了提高设备利用率引入了脱机输入输出或采用了提高设备利用率引入了脱机输入输出或采用SPOOLing技术,变一台为技术,变一台为“多台设备多台设备缺点:设备得缺点:设备得不到充分利用,不到充分利用,可能产生死锁可能产生死锁4/18/202333设备分配时应考虑的因素设备分配时应考虑的因素设备分配时应考虑的因素设备分配时应考虑的因素q设备分配设备分配v独占
23、设备独占设备防止死锁防止死锁v共享设备共享设备由于同时有多个进程同时访问,且访问频繁,就会由于同时有多个进程同时访问,且访问频繁,就会影响整个设备使用效率,影响系统效率。因此要考影响整个设备使用效率,影响系统效率。因此要考虑多个访问请求到达时效劳的顺序,使平均效劳时虑多个访问请求到达时效劳的顺序,使平均效劳时间越短越好。间越短越好。注意各进程的访问次序进行合理调度注意各进程的访问次序进行合理调度v虚拟设备虚拟设备4/18/202334设备分配时应考虑的因素设备分配时应考虑的因素设备分配时应考虑的因素设备分配时应考虑的因素q设备分配算法设备分配算法v先来先效劳先来先效劳v优先级高者优先优先级高者
24、优先q设备分配中的安全性设备分配中的安全性v安全分配方式安全分配方式每当进程发出每当进程发出I/O请求后,便进入阻塞状态,请求后,便进入阻塞状态,I/O操作完成后唤醒操作完成后唤醒优点:摒弃了优点:摒弃了“请求和保持条件,不会产生死锁请求和保持条件,不会产生死锁v不安全分配方式不安全分配方式 进程发出进程发出I/O请求后仍继续运行,继续申请请求后仍继续运行,继续申请I/O设设备备优点:可操作多个设备,推进迅速优点:可操作多个设备,推进迅速缺点:推进缺点:推进速度缓慢速度缓慢缺点:可能缺点:可能产生死锁产生死锁4/18/202335缓冲的引入缓冲的引入缓冲的引入缓冲的引入q缓和缓和CPU与与I/
25、O设备间速度不匹配的矛盾设备间速度不匹配的矛盾v数据到达速率与其离去速率不同数据到达速率与其离去速率不同q减少对减少对CPU的中断频率,放宽对的中断频率,放宽对CPU中断响应时中断响应时间的限制间的限制q提高提高CPU和和I/O设备之间的并行性设备之间的并行性v提高系统的吞吐量和设备的利用率提高系统的吞吐量和设备的利用率4/18/202336缓冲缓冲q无缓冲时问题分析:设备直接向进程地址无缓冲时问题分析:设备直接向进程地址空间传送数据如用户从磁带中读数据块空间传送数据如用户从磁带中读数据块的操作,则进程要么忙等待,要么阻塞。的操作,则进程要么忙等待,要么阻塞。v如果用忙等待方式,则浪费大量如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 操作系统 设备管理
限制150内