收藏 分享(赏)

操作系统设备管理专业讲座.pptx

上传人:知识海洋 文档编号:24168099 上传时间:2024-11-14 格式:PPTX 页数:79 大小:685.39KB
下载 相关 举报
操作系统设备管理专业讲座.pptx_第1页
第1页 / 共79页
操作系统设备管理专业讲座.pptx_第2页
第2页 / 共79页
操作系统设备管理专业讲座.pptx_第3页
第3页 / 共79页
操作系统设备管理专业讲座.pptx_第4页
第4页 / 共79页
操作系统设备管理专业讲座.pptx_第5页
第5页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Operating SystemOperating System第五章第五章 设备管理设备管理操作系统操作系统 刘刘 刚刚10/2/1第1页Operating SystemOperating System第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存放器管理磁盘存放器管理10/2/2第2页Operating SystemOperating System缓冲管理缓冲管理缓冲管理缓冲管理q缓冲引入缓冲引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池(缓冲池(Buffe

2、r Pool)10/2/3第3页Operating SystemOperating System缓冲引入缓冲引入缓冲引入缓冲引入q缓解缓解CPU与与I/O设备间速度不匹配矛盾设备间速度不匹配矛盾 数据抵达速率与其离去速率不一样数据抵达速率与其离去速率不一样q降低对降低对CPU中止频率,放宽对中止频率,放宽对CPU中止响应时间中止响应时间限制限制1位缓冲位缓冲9.6 Kb/s(a)中止中止CPU频率频率为为9.6Kb/s,每每100 s中止中止一次一次CPUCPU必须在必须在100 s内响内响应,不然数据应,不然数据会被冲掉会被冲掉8位缓冲存放器位缓冲存放器送内存送内存9.6 Kb/s(b)中止

3、中止CPU频率降低频率降低为为9.6Kb/8 10/2/4第4页Operating SystemOperating System缓冲引入缓冲引入缓冲引入缓冲引入8位缓冲存放器位缓冲存放器9.6 Kb/s送内存送内存(c)q提升提升CPU和和I/O设备之间并行性设备之间并行性v提升系统吞吐量和设备利用率提升系统吞吐量和设备利用率每每800 s中止一中止一次次CPU10/2/5第5页Operating SystemOperating System缓冲管理缓冲管理缓冲管理缓冲管理q缓冲引入缓冲引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池(缓冲池(Buffer Pool)10/2/6第

4、6页Operating SystemOperating System单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲q单缓冲单缓冲(Single Buffer)CT时时,每块数据每块数据处理时间是处理时间是M+T;反之,为;反之,为M+C,即,即因为因为C和和T可并行,可并行,M和和C或或M和和T不能并行不能并行所以处理一块数据时间:所以处理一块数据时间:Max(C,T)+M10/2/7第7页Operating SystemOperating System2.双缓冲双缓冲(Double Buffer)为了加紧输入、输出速度和提升设备利用率,又引入了双缓冲工作方式,也称为缓冲对换(Buf

5、fer Swapping)方式。在设备输入时,先将数据输入第一缓冲区,装满后便转向第二缓冲区。操作系统可从第一缓冲区中移出数据送用户进程区,接着由CPU对数据进行计算。10/2/8第8页Operating SystemOperating System单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲单缓冲和双缓冲q双缓冲双缓冲(Double Buffer)效率有所提升,且深入平滑了传输峰值。效率有所提升,且深入平滑了传输峰值。系统处理一块数据时间约为:系统处理一块数据时间约为:MAX(C,T)10/2/9第9页Operating SystemOperating System单缓冲和双缓冲单缓冲和双缓冲

6、单缓冲和双缓冲单缓冲和双缓冲只能实现单向只能实现单向数据传输数据传输为了实现双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区,另一个用作接收缓冲区。10/2/10第10页Operating SystemOperating System缓冲管理缓冲管理缓冲管理缓冲管理q缓冲引入缓冲引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池(缓冲池(Buffer Pool)10/2/11第11页Operating SystemOperating System循环缓冲循环缓冲循环缓冲循环缓冲q循环缓冲引入循环缓冲引入v当输入与输出速度基本匹配时,双缓冲能取得很好效当输入与输出速度

7、基本匹配时,双缓冲能取得很好效果;当速度相差较大时,可引入多个(大小相等)缓果;当速度相差较大时,可引入多个(大小相等)缓冲,组织成循环缓冲形式冲,组织成循环缓冲形式q循环缓冲组成循环缓冲组成v多个缓冲区多个缓冲区用于装输入数据用于装输入数据空缓冲区空缓冲区R已装满数据已装满数据满缓冲区满缓冲区G计算进程计算进程正在使用正在使用现行工作缓冲区现行工作缓冲区Cv多个指针多个指针指示计算进程下一指示计算进程下一可用缓冲区可用缓冲区Nextg指示输入进程下一指示输入进程下一可用空缓冲区可用空缓冲区Nexti指示计算进程指示计算进程正在使用正在使用缓冲区缓冲区Current10/2/12第12页Ope

8、rating SystemOperating System循环缓冲循环缓冲循环缓冲循环缓冲类型:类型:R:空缓冲;空缓冲;G:满缓冲;:满缓冲;C:当前缓冲:当前缓冲10/2/13第13页Operating SystemOperating System循环缓冲循环缓冲循环缓冲循环缓冲q循环缓冲区使用循环缓冲区使用vGetbuf过程过程为计算进程和输入进程提供缓冲区,并移动指针为计算进程和输入进程提供缓冲区,并移动指针vReleasebuf过程过程当计算进程或输入使用完缓冲区后,调用过程将缓当计算进程或输入使用完缓冲区后,调用过程将缓冲区释放冲区释放q进程同时进程同时输入、计算进程并行输入、计算

9、进程并行vNexti指针追赶上指针追赶上Nextg指针指针输入进程速度大于计算进程,全部空缓冲区已满,输入进程速度大于计算进程,全部空缓冲区已满,无可用缓冲区,输入进程阻塞(无可用缓冲区,输入进程阻塞(系统受计算限制系统受计算限制)vNextg指针追赶上指针追赶上Nexti指针指针计算进程速度大于输入进程,全部缓冲区空,无可计算进程速度大于输入进程,全部缓冲区空,无可用数据,计算进程阻塞(用数据,计算进程阻塞(系统受系统受I/O限制限制)10/2/14第14页Operating SystemOperating System缓冲管理缓冲管理缓冲管理缓冲管理q缓冲引入缓冲引入q单缓冲和双缓冲单缓冲

10、和双缓冲q循环缓冲循环缓冲q缓冲池(缓冲池(Buffer Pool)10/2/15第15页Operating SystemOperating System缓冲池(缓冲池(缓冲池(缓冲池(Buffer PoolBuffer Pool)q缓冲池组成缓冲池组成v专用缓冲利用率不高,与环形缓冲不一样是缓冲池中专用缓冲利用率不高,与环形缓冲不一样是缓冲池中缓冲区是系统缓冲区是系统公用资源公用资源,可供,可供多个进程共享多个进程共享,既能用,既能用于于输入输入,也能用于,也能用于输出输出v缓冲区类型缓冲区类型空空(闲闲)缓冲区缓冲区装满输入数据缓冲区装满输入数据缓冲区装满输出数据缓冲区装满输出数据缓冲区v

11、缓冲队列:按其使用情况缓冲队列:按其使用情况空缓冲队列空缓冲队列emq输入队列输入队列inq输出队列输出队列outq10/2/16第16页Operating SystemOperating System缓冲池(缓冲池(缓冲池(缓冲池(Buffer PoolBuffer Pool)q缓冲池组成缓冲池组成v四种工作缓冲区四种工作缓冲区用于收容输入数据工作缓冲区(用于收容输入数据工作缓冲区(hin)用于提取输入数据工作缓冲区(用于提取输入数据工作缓冲区(sin)用于收容输出数据工作缓冲区(用于收容输出数据工作缓冲区(hout)用于提取输出数据工作缓冲区(用于提取输出数据工作缓冲区(sout)10/2

12、/17第17页Operating SystemOperating System缓冲池(缓冲池(缓冲池(缓冲池(Buffer PoolBuffer Pool)q两个对缓冲区操作过程两个对缓冲区操作过程vGetbuf(type),type-队列类型队列类型 vPutbuf(type,number),number-指某缓冲区指某缓冲区v队列是临界资源需设置队列是临界资源需设置互斥信号量互斥信号量MS,每个队列一个,每个队列一个MS(type)资源信号量资源信号量RS,每个队列一个,每个队列一个RS(type)v队列操作过程队列操作过程Takebuf(type):取:取type所指队列队首缓冲区所指队

13、列队首缓冲区Addbuf(type,number):将:将number所指缓冲所指缓冲区加到区加到type所指队列尾所指队列尾10/2/18第18页Operating SystemOperating System缓冲池(缓冲池(缓冲池(缓冲池(Buffer PoolBuffer Pool)Procedure Getbuf(type)begin Wait(RS(type);Wait(MS(type);B(number):=Takebuf(type);/从队首摘下一个缓冲区从队首摘下一个缓冲区 Signal(MS(type);end Procedure Putbuf(type,number)beg

14、in Wait(MS(type);Addbuf(type,number);/将指定缓冲区挂在将指定缓冲区挂在type指定队列上指定队列上 Signal(MS(type);Signal(RS(type);end 互斥信号量MS(type)资源信号量RS(type)10/2/19第19页Operating SystemOperating System缓冲池(缓冲池(缓冲池(缓冲池(Buffer PoolBuffer Pool)q缓冲池组成缓冲池组成v四种工作缓冲区四种工作缓冲区用于收容输入数据工作缓冲区(用于收容输入数据工作缓冲区(hin)用于提取输入数据工作缓冲区(用于提取输入数据工作缓冲区(s

15、in)用于收容输出数据工作缓冲区(用于收容输出数据工作缓冲区(hout)用于提取输出数据工作缓冲区(用于提取输出数据工作缓冲区(sout)10/2/20第20页Operating SystemOperating System缓冲池(缓冲池(缓冲池(缓冲池(Buffer PoolBuffer Pool)q缓冲区工作方式缓冲区工作方式hinsoutsinhout收容输入收容输入提取输出提取输出用用户户进进程程提取输入提取输入收容输出收容输出缓冲池缓冲池Getbuf(emq)Putbuf(inq,hin)Getbuf(inq)Putbuf(emp,sin)Getbuf(emq)Putbuf(outq

16、,hout)Getbuf(outq)Putbuf(emq,sout)10/2/21第21页Operating SystemOperating System3.缓冲区工作方式缓冲区工作方式 图 5-15 缓冲区工作方式 v1.收容输入;2.提取输入;3.收容输出;4.提取输出1.hin=getbuf(emq);putbuf(inq,hin)2.sin=getbuf(inq);计算;putbuf(emq,sin)3.hout=getbuf(emq);putbuf(outq,hout)4.sout=getbuf(outq);输出;putbuf(emq,sout)10/2/22第22页Operatin

17、g SystemOperating System缓冲缓冲q无缓冲时问题分析:无缓冲时问题分析:设备直接向进程地址设备直接向进程地址空间传送数据空间传送数据(如用户从磁带中读数据块操如用户从磁带中读数据块操作),则进程要么忙等候,要么阻塞。作),则进程要么忙等候,要么阻塞。v假如用假如用忙等候方式忙等候方式,则浪费大量,则浪费大量CPU时间;时间;v假如是假如是阻塞方式阻塞方式,则进程阻塞在设备,则进程阻塞在设备I/O请请求队列中。这时,求队列中。这时,不能将进程全部换出,还不能将进程全部换出,还可能出现单进程可能出现单进程死锁死锁。(进程在等候。(进程在等候I/O操作操作结果之前被换出,等候结

18、果之前被换出,等候I/O事件,而事件,而I/O操作操作也被阻塞,等候该进程被换入。)也被阻塞,等候该进程被换入。)10/2/23第23页Operating SystemOperating System第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存放器管理磁盘存放器管理10/2/24第24页Operating SystemOperating System设备分配设备分配设备分配设备分配q设备分配中数据结构设备分配中数据结构q设备分配时应考虑原因设备分配时应考虑原因q设备独立性设

19、备独立性q独占设备分配程序独占设备分配程序qSPOOLing技术技术10/2/25第25页Operating SystemOperating System设备分配中数据结构设备分配中数据结构设备分配中数据结构设备分配中数据结构q在多道程序环境下,系统中设备全部进程共享,在多道程序环境下,系统中设备全部进程共享,为为预防预防进程对系统资源进程对系统资源无序竞争无序竞争,必须由系统,必须由系统统统一分配一分配设备设备q某进程向系统提出某进程向系统提出I/O请求时,设备分配程序按请求时,设备分配程序按一定策略一定策略分配设备、控制器和通道,形成一条数分配设备、控制器和通道,形成一条数据传输通路,以供

20、主机和设备间信息交换据传输通路,以供主机和设备间信息交换q为实现设备分配,系统中应设置对应数据结构,为实现设备分配,系统中应设置对应数据结构,对每台设备、通道、控制器情况进行登记对每台设备、通道、控制器情况进行登记10/2/26第26页Operating SystemOperating System5.4 设设 备备 分分 配配 5.4.1 设备分配中数据结构设备分配中数据结构 1.设备控制表设备控制表DCT2.控制器控制表控制器控制表COCT3.通道控制表通道控制表CHCT4.系统设备表系统设备表SDT 10/2/27第27页Operating SystemOperating System设

21、备分配中数据结构设备分配中数据结构设备分配中数据结构设备分配中数据结构q设备控制表设备控制表DCT设备类型设备类型 type设备标识符:设备标识符:deviceid设备状态:等候设备状态:等候/不等候不等候 忙忙/闲闲指向控制器表指向控制器表COCTCOCT指针指针重复执行次数或时间重复执行次数或时间设备队列队首指针设备队列队首指针DCT 1DCT 2DCT n设设备备控控制制表表集集合合每个设备一张,统计本设备情况每个设备一张,统计本设备情况正使用,则忙标志正使用,则忙标志置置1;若与其相连控;若与其相连控制器或通道忙,则制器或通道忙,则等候标志置等候标志置1请求本设备未满请求本设备未满足进

22、程足进程PCB队列队列10/2/28第28页Operating SystemOperating System设备分配中数据结构设备分配中数据结构设备分配中数据结构设备分配中数据结构q控制器控制表、控制器控制表、通道控制表通道控制表控制器标识符:控制器标识符:controllerid控制器状态:忙控制器状态:忙/闲闲与控制器连接通道表指针与控制器连接通道表指针控制器队列队首指针控制器队列队首指针控制器队列队尾指针控制器队列队尾指针通道标识符:通道标识符:channelid通道状态:忙通道状态:忙/闲闲与通道连接控制器表首址与通道连接控制器表首址通道队列队首指针通道队列队首指针通道队列队尾指针通道

23、队列队尾指针(a)控制器表控制器表COCT(b)通道表通道表CHCT一个控制器一张一个控制器一张一个通道一张一个通道一张10/2/29第29页Operating SystemOperating System设备分配中数据结构设备分配中数据结构设备分配中数据结构设备分配中数据结构q系统设备表系统设备表SDT 系统系统设备表设备表SDT表目表目1表目表目i设备类设备类设备标识符设备标识符DCT驱动程序入口驱动程序入口整个系统一张,统计已被连接到系统中全部物理设备情况整个系统一张,统计已被连接到系统中全部物理设备情况10/2/30第30页Operating SystemOperating Syste

24、m设备分配设备分配设备分配设备分配q设备分配中数据结构设备分配中数据结构q设备分配时应考虑原因设备分配时应考虑原因q设备独立性设备独立性q独占设备分配程序独占设备分配程序qSPOOLing技术技术10/2/31第31页Operating SystemOperating System5.4.2 设备分配时应考虑原因设备分配时应考虑原因 为了使系统有条不紊地工作,系统在进行设备分配时,应考虑这么几个原因:(1)设备固有属性;(2)设备分配算法;(3)设备分配安全性;(4)设备独立性。10/2/32第32页Operating SystemOperating System设备分配时应考虑原因设备分配时

25、应考虑原因设备分配时应考虑原因设备分配时应考虑原因q设备固有属性设备固有属性v独占性独占性一段时间内,只允许一个进程独占,大多数低度速一段时间内,只允许一个进程独占,大多数低度速/设备都属于独享设备设备都属于独享设备v共享性共享性允许多个进程同时共享,如磁盘、磁鼓之类外存放允许多个进程同时共享,如磁盘、磁鼓之类外存放器,既含有很能大存放容量,其定位操作时间又短器,既含有很能大存放容量,其定位操作时间又短v可虚拟性可虚拟性独占设备经某种技术处理,改造成虚拟设备,把一独占设备经某种技术处理,改造成虚拟设备,把一台输入机虚拟为几台台输入机虚拟为几台“虚拟虚拟”输入机。比如:为了提输入机。比如:为了提

26、升设备利用率引入了脱机输入输出或采取升设备利用率引入了脱机输入输出或采取SPOOLing技术,变一台为技术,变一台为“多台设备多台设备”缺点:设备得缺点:设备得不到充分利用,不到充分利用,可能产生死锁可能产生死锁10/2/33第33页Operating SystemOperating System设备分配时应考虑原因设备分配时应考虑原因设备分配时应考虑原因设备分配时应考虑原因q设备分配设备分配v独占设备独占设备预防死锁预防死锁v共享设备共享设备因为同时有多个进程同时访问,且访问频繁,就会因为同时有多个进程同时访问,且访问频繁,就会影响整个设备使用效率,影响系统效率。所以要考影响整个设备使用效率

27、,影响系统效率。所以要考虑多个访问请求抵达时服务次序,使平均服务时间虑多个访问请求抵达时服务次序,使平均服务时间越短越好。越短越好。注意各进程访问次序进行合理调度注意各进程访问次序进行合理调度v虚拟设备虚拟设备10/2/34第34页Operating SystemOperating System设备分配时应考虑原因设备分配时应考虑原因设备分配时应考虑原因设备分配时应考虑原因q设备分配算法设备分配算法v先来先服务先来先服务v优先级高者优先优先级高者优先q设备分配中安全性设备分配中安全性v安全分配方式安全分配方式每当进程发出每当进程发出I/O请求后,便进入阻塞状态,请求后,便进入阻塞状态,I/O操

28、作完成后唤醒操作完成后唤醒优点:摒弃了优点:摒弃了“请求和保持请求和保持”条件,不会产生死锁条件,不会产生死锁v不安全分配方式不安全分配方式 进程发出进程发出I/O请求后仍继续运行,继续申请请求后仍继续运行,继续申请I/O设设备备优点:可操作多个设备,推进快速优点:可操作多个设备,推进快速缺点:推进缺点:推进速度迟缓速度迟缓缺点:可能缺点:可能产生死锁产生死锁10/2/35第35页Operating SystemOperating System缓冲引入缓冲引入缓冲引入缓冲引入q缓解缓解CPU与与I/O设备间速度不匹配矛盾设备间速度不匹配矛盾v数据抵达速率与其离去速率不一样数据抵达速率与其离去速

29、率不一样q降低对降低对CPU中止频率,放宽对中止频率,放宽对CPU中止响应时间中止响应时间限制限制q提升提升CPU和和I/O设备之间并行性设备之间并行性v提升系统吞吐量和设备利用率提升系统吞吐量和设备利用率10/2/36第36页Operating SystemOperating System缓冲缓冲q无缓冲时问题分析:无缓冲时问题分析:设备直接向进程地址设备直接向进程地址空间传送数据空间传送数据(如用户从磁带中读数据块操如用户从磁带中读数据块操作),则进程要么忙等候,要么阻塞。作),则进程要么忙等候,要么阻塞。v假如用假如用忙等候方式忙等候方式,则浪费大量,则浪费大量CPU时间;时间;v假如是

30、假如是阻塞方式阻塞方式,则进程阻塞在设备,则进程阻塞在设备I/O请请求队列中。这时,求队列中。这时,不能将进程全部换出,还不能将进程全部换出,还可能出现可能出现单进程死锁单进程死锁。v进程在等候进程在等候I/O操作结果之前被换出,等候操作结果之前被换出,等候I/O事件,而事件,而I/O操作也被阻塞,等候该进程操作也被阻塞,等候该进程被换入。被换入。10/2/37第37页Operating SystemOperating System设备分配设备分配设备分配设备分配q设备分配中数据结构设备分配中数据结构q设备分配时应考虑原因设备分配时应考虑原因q设备独立性设备独立性q独占设备分配程序独占设备分配

31、程序qSPOOLing技术技术10/2/38第38页Operating SystemOperating System设备独立性设备独立性设备独立性设备独立性q设备独立性设备独立性(Device Independence)概念概念v为了提升为了提升OS可适应性和可扩展性,在当代可适应性和可扩展性,在当代OS中都毫中都毫无例外地实现了设备独立性,也称为设备无关性无例外地实现了设备独立性,也称为设备无关性v定义:是指用户在编制程序时所使用设备与实际使定义:是指用户在编制程序时所使用设备与实际使用设备无关。即用设备无关。即 应用程序独立于详细使用物理设备应用程序独立于详细使用物理设备v为了实现设备独立

32、性而引入了为了实现设备独立性而引入了逻辑设备逻辑设备和和物理设备物理设备这两个概念这两个概念v在应用程序中,在应用程序中,使用使用逻辑设备逻辑设备名称来请求使用某类名称来请求使用某类设备;而系统在实际执行时,设备;而系统在实际执行时,还必须使用还必须使用物理设备物理设备名称名称v系统须含有将逻辑设备名称转换为某物理设备名称系统须含有将逻辑设备名称转换为某物理设备名称功效,这非常类似于存放器管理中所介绍功效,这非常类似于存放器管理中所介绍逻辑地址逻辑地址和和物理地址物理地址概念概念10/2/39第39页Operating SystemOperating System设备独立性设备独立性设备独立性

33、设备独立性q设备独立性优点设备独立性优点v设备分配时灵活性设备分配时灵活性系统可将该逻辑设备类中任一台分配给进程系统可将该逻辑设备类中任一台分配给进程使用使用全部设备均占用时才阻塞全部设备均占用时才阻塞v易于实现易于实现I/O重定向重定向所谓所谓I/O重定向,指用于重定向,指用于I/O操作设备能够操作设备能够更换,而无须改变应用程序更换,而无须改变应用程序如调试程序时输出到屏幕,而实际应用时改如调试程序时输出到屏幕,而实际应用时改为输出到打印机为输出到打印机10/2/40第40页Operating SystemOperating System设备独立性设备独立性设备独立性设备独立性q设备独立性

34、软件设备独立性软件q设备驱动程序是一个与硬件(或设备)紧密相关设备驱动程序是一个与硬件(或设备)紧密相关软件。软件。q设备驱动程序一方面可以定制以适合各种设备,设备驱动程序一方面可以定制以适合各种设备,其次也提供了一组标准接口。其次也提供了一组标准接口。q设备驱动程序作用是为内核设备驱动程序作用是为内核I/O子系统隐藏设备子系统隐藏设备控制器之间差异控制器之间差异q为了实现设备独立性,必须在设备驱动程序上设为了实现设备独立性,必须在设备驱动程序上设置一层软件,称为设备独立性软件置一层软件,称为设备独立性软件10/2/41第41页Operating SystemOperating System2

35、.设备独立性软件设备独立性软件 为了实现设备独立性,必须再将驱动程序之上设备一层软件,称为设备独立性软件,其主要功效可分为以下两个方面:(1)执行全部设备公有操作 (2)向用户层(或文件层)软件提供统一接口。10/2/42第42页Operating SystemOperating System2.设备独立性软件设备独立性软件 1)执行全部设备公有操作 对独立设备分配与回收分配与回收;将逻辑设设备备名名映映射射为物理设备名,深入能够找到对应物理设备驱动程序;对设备进行保护设备进行保护,禁止用户直接访问设备;缓缓冲冲管管理理,即对字符设备和块设备缓冲区进行有效管理,以提升I/O效率;差差错错控控制

36、制。因为在I/O操作中绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理错误。10/2/43第43页Operating SystemOperating System 2)向用户层(或文件层)软件提供统一接口 不论何种设备,它们向用户所提供接口应该是相同。比如,对各种设备读操作,在应用程序中都使用read;而对各种设备写操作,也都使用write。10/2/44第44页Operating SystemOperating System设备独立性设备独立性设备独立性设备独立性q逻辑设备名到物理设备名映射实现逻辑设备名到物理设备名映射实现 v逻辑设备表(逻

37、辑设备表(Lgical Unit Table)用于实现将应用程序中逻辑设备名映射为物理设备用于实现将应用程序中逻辑设备名映射为物理设备名名逻辑设备名逻辑设备名物理设备名物理设备名驱动程序驱动程序入口地址入口地址/dev/tty/dev/printer3510242046逻辑设备名逻辑设备名/dev/tty/dev/printer系统设备表指针系统设备表指针35(a)(b)LUT设置可采取两种方式:整个系统设置一张整个系统设置一张LUT。不允许在LUT中含有相同逻辑设备名,这就是要求全部用户不使用相同逻辑设备名。为每个用户设置一张为每个用户设置一张LUT。用户建立一个进程,同时也为之建立一张LU

38、T。10/2/45第45页Operating SystemOperating System设备分配设备分配设备分配设备分配q设备分配中数据结构设备分配中数据结构q设备分配时应考虑原因设备分配时应考虑原因q设备独立性设备独立性q独占设备分配程序独占设备分配程序qSPOOLing技术技术10/2/46第46页Operating SystemOperating System独占设备分配程序独占设备分配程序独占设备分配程序独占设备分配程序q基本设备分配程序基本设备分配程序v分配设备分配设备v分配控制器分配控制器v分配通道分配通道10/2/47第47页Operating SystemOperating

39、System10/2/48第48页独独独独占占占占设设设设备备备备分分分分配配配配程程程程序序序序分配设备分配设备1分配控制器分配控制器1分配通道分配通道1申请设备申请设备1按设备物理名查按设备物理名查SDT设备忙?设备忙?依据安全策略进行分配依据安全策略进行分配由由DCT查查COCT分配控制器分配控制器由由COCT查查CHCT分配通道分配通道否是由由SDT查设备查设备 DCT10/2/49第49页Operating SystemOperating System独占设备分配程序独占设备分配程序独占设备分配程序独占设备分配程序q设备分配程序改进设备分配程序改进v基本分配程序问题基本分配程序问题进

40、程以物理设备名提出进程以物理设备名提出I/O请求请求采取单通路采取单通路I/O系统结构,轻易产生瓶颈系统结构,轻易产生瓶颈v改进方案改进方案增加设备独立性增加设备独立性 考虑多通路情况考虑多通路情况10/2/50第50页为进程为进程P P分配所需分配所需I/OI/O设备设备从从SDTSDT表查该类设备控制表表查该类设备控制表DCTDCT不忙不忙不安全不安全分配此设备给进程分配此设备给进程P P不忙不忙不忙不忙分配此控制器给进程分配此控制器给进程P P分配此通道给进程分配此通道给进程P P开启开启I/O,I/O,进行进行详细详细I/OI/O操作操作忙忙进程进程PPCBPPCB放入放入此设备等候队

41、列此设备等候队列YN忙忙进程进程 P PCB P PCB 放入放入此控制器等候队列此控制器等候队列YNY忙忙Y进程进程PPCBPPCB放入此通放入此通道等候队列道等候队列NYNN多通多通路设路设备分备分配流配流程示程示意图意图由由DCTDCT检验该设备忙否检验该设备忙否?检验分配此设备安全性检验分配此设备安全性?最终一个最终一个DCT?DCT?最终一个最终一个COCT?COCT?最终一个最终一个DCT?DCT?此设备连接此设备连接COCTCOCT忙否忙否?此控制器连接此控制器连接CHCTCHCT忙否忙否?最终一个最终一个COCT?COCT?最终一个最终一个CHCT?CHCT?10/2/51第5

42、1页Operating SystemOperating System设备分配设备分配设备分配设备分配q设备分配中数据结构设备分配中数据结构q设备分配时应考虑原因设备分配时应考虑原因q设备独立性设备独立性q独占设备分配程序独占设备分配程序qSPOOLing技术技术10/2/52第52页Operating SystemOperating System脱机输入脱机输入脱机输入脱机输入/输出(输出(输出(输出(Off-Line I/OOff-Line I/O)方式)方式)方式)方式硬件不停发展,硬件不停发展,CPU速度提升、系统规模扩大,人机矛速度提升、系统规模扩大,人机矛盾严重,怎样处理?盾严重,怎

43、样处理?磁带磁带磁带磁带10/2/53第53页Operating SystemOperating SystemSPOOLingSPOOLing技术技术技术技术q什么是什么是SPOOLing技术技术v为了缓解为了缓解CPU高速性与高速性与I/O设备低速性间矛盾设备低速性间矛盾而引入了而引入了脱机输入脱机输入、脱机输出脱机输出技术技术v在多道程序环境下,其中一道程序模拟脱机在多道程序环境下,其中一道程序模拟脱机输入时外围控制机功效输入时外围控制机功效v在主机直接控制下,实现脱机输入、在主机直接控制下,实现脱机输入、输出功输出功效,此时外围操作与效,此时外围操作与CPU对数据处理同时进对数据处理同时

44、进行行v把这种在联机情况下实现同时外围操作称为把这种在联机情况下实现同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为,或称为假脱机操作假脱机操作10/2/54第54页Operating SystemOperating SystemSPOOLingSPOOLing技术技术技术技术qSPOOLing系统组成系统组成v输入井和输出井输入井和输出井在磁盘上两个存放空间在磁盘上两个存放空间输入井模拟脱机输入,暂存输入数据输入井模拟脱机输入,暂存输入数据输出井模拟脱机输出,暂存输出数据输出井模拟脱机输出,暂存输出数据v输入缓冲

45、区和输出缓冲区输入缓冲区和输出缓冲区用来缓解用来缓解CPU与磁盘之间速度矛盾与磁盘之间速度矛盾v输入进程输入进程SPi和输出进程和输出进程SPo模拟脱机模拟脱机I/O时外围控制机时外围控制机10/2/55第55页Operating SystemOperating System脱机输入脱机输入脱机输入脱机输入/输出(输出(输出(输出(Off-Line I/OOff-Line I/O)方式)方式)方式)方式磁带磁带磁带磁带10/2/56第56页Operating SystemOperating SystemSPOOLingSPOOLing技术技术技术技术10/2/57第57页Operating S

46、ystemOperating SystemSPOOLingSPOOLing技术技术技术技术q共享打印机共享打印机v打印机为打印机为独占独占设备,利用设备,利用SPOOLing技术,技术,可将之改造为可将之改造为共享共享设备设备v用户请求打印时,用户请求打印时,SPOOLing系统处理以下系统处理以下由输出进程在输出井中为之申请一个空闲由输出进程在输出井中为之申请一个空闲磁盘块区,磁盘块区,并将要打印数据送入其中并将要打印数据送入其中输出进程再为用户进程申请一张空白用户输出进程再为用户进程申请一张空白用户请求打印表,并将用户打印要求填入其中,请求打印表,并将用户打印要求填入其中,再将该表挂到请求

47、打印队列上再将该表挂到请求打印队列上10/2/58第58页Operating SystemOperating SystemSPOOLingSPOOLing技术技术技术技术qSPOOLing系统特点系统特点v提升了提升了I/O速度速度v将独占设备改造为共享设备将独占设备改造为共享设备v实现了虚拟设备功效实现了虚拟设备功效10/2/59第59页Operating SystemOperating SystemSPOOLingSPOOLing技术技术技术技术SPOOLing技术今天仍被广泛使用技术今天仍被广泛使用q网络文件传送网络文件传送 先把文件送到网络先把文件送到网络SPOOLing目录,然后网络

48、值目录,然后网络值班进程把它取出并传递到目标地址班进程把它取出并传递到目标地址qInternet电子邮件系统电子邮件系统 为了寄邮,调用电子邮件程序为了寄邮,调用电子邮件程序 待发信存在待发信存在SPOOLing中供以后传输中供以后传输q注意:注意:SPOOLing只提升设备利用率,缩短用户只提升设备利用率,缩短用户程序执行时间,并不提升程序执行时间,并不提升CPU利用率利用率10/2/60第60页Operating SystemOperating System第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设

49、备分配q设备处理设备处理q磁盘存放器管理磁盘存放器管理10/2/61第61页Operating SystemOperating System设备处理设备处理设备处理设备处理q中止处理程序处理过程中止处理程序处理过程q设备驱动程序功效和特点设备驱动程序功效和特点q设备驱动程序处理过程设备驱动程序处理过程q独立于设备服务软件独立于设备服务软件10/2/62第62页Operating SystemOperating System设备处理设备处理设备处理设备处理系统层次结构系统层次结构接收上层软件发来接收上层软件发来抽象要求抽象要求read/write,转,转换成详细要求,发换成详细要求,发给设备控制

50、器给设备控制器将由设备控制将由设备控制器发来信号送器发来信号送给上层软件给上层软件10/2/63第63页Operating SystemOperating SystemI/OI/O中止处理程序中止处理程序中止处理程序中止处理程序q中止处理程序中止处理程序v系统为每类设备设置一个中止处理程系统为每类设备设置一个中止处理程序,它们序,它们入口地址入口地址被存放在内存固定单元中,被存放在内存固定单元中,称为称为中止向量中止向量。v 当某台设备完成一次操作时,发出中当某台设备完成一次操作时,发出中止信号,接收中止信号,暂停现行进止信号,接收中止信号,暂停现行进程执行,依据中止向量转到对应中止程执行,依

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档 > 工作范文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报