版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Operating SystemOperating SystemPage 12022-7-5Operating SystemOperating SystemPage 22022-7-5qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理Operating SystemOperating SystemPage 32022-7-5q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池(缓冲池(Buffer Pool)Operating SystemOperating SystemPage 4202
2、2-7-5q缓和缓和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)中断中断CPU的频率降的频率降低为低为9.6Kb/8 Operating SystemOperating Sy
3、stemPage 52022-7-58位缓冲寄存器位缓冲寄存器9.6 Kb/s送内存送内存(c)q提高提高CPU和和I/O设备之间的并行性设备之间的并行性v提高系统的吞吐量和设备的利用率提高系统的吞吐量和设备的利用率每每800 s中断一中断一次次CPUOperating SystemOperating SystemPage 62022-7-5q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池(缓冲池(Buffer Pool)Operating SystemOperating SystemPage 72022-7-5q 单缓冲单缓冲(Single Buffer) 工作
4、区工作区处理处理(C)缓冲区缓冲区传送传送(M)输入输入(T)I/O设备设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程用户进程CT时时,每块数据每块数据的处理时间是的处理时间是M+T;反之,为;反之,为M+C,即,即由于由于C和和T可并行,可并行,M和和C或或M和和T不能并行不能并行因此处理一块数据时间:因此处理一块数据时间:Max(C,T)+MOperating SystemOperating SystemPage 82022-7-52. 双缓冲双缓冲(Double Buffer) 为了加快输入、输出速度和提高设备利用率,又引入了双缓冲工作方式,也称为缓冲对换(Buffe
5、r Swapping)方式。在设备输入时,先将数据输入第一缓冲区,装满后便转向第二缓冲区。操作系统可从第一缓冲区中移出数据送用户进程区,接着由CPU对数据进行计算。 Operating SystemOperating SystemPage 92022-7-5q 双缓冲双缓冲(Double Buffer) 工作区工作区用户进程用户进程缓冲区缓冲区1缓冲区缓冲区2I/O 设备设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)效率有所提高,且进一步平滑了传输峰值。效率有所提高,且进一步平滑了传输峰值。系统处理一块数据的时间约为:系统处理一块数据的
6、时间约为:MAX(C,T)Operating SystemOperating SystemPage 102022-7-5缓冲区缓冲区缓冲区缓冲区A机机B机机(a) 单缓冲单缓冲发送发送缓冲区缓冲区接收接收缓冲区缓冲区接收接收缓冲区缓冲区发送发送缓冲区缓冲区A机机B机机(b) 双缓冲双缓冲只能实现单向只能实现单向的数据传输的数据传输为了实现双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区,另一个用作接收缓冲区。Operating SystemOperating SystemPage 112022-7-5q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲
7、池(缓冲池(Buffer Pool)Operating SystemOperating SystemPage 122022-7-5q循环缓冲的引入循环缓冲的引入v当输入与输出速度基本匹配时,双缓冲能获得较好效当输入与输出速度基本匹配时,双缓冲能获得较好效果;当速度相差较大时,可引入多个(大小相等)缓果;当速度相差较大时,可引入多个(大小相等)缓冲,组织成循环缓冲的形式冲,组织成循环缓冲的形式q循环缓冲的组成循环缓冲的组成v多个缓冲区多个缓冲区用于装输入数据的用于装输入数据的空缓冲区空缓冲区R已装满数据的已装满数据的满缓冲区满缓冲区G计算进程计算进程正在使用正在使用的现行工作缓冲区的现行工作缓冲
8、区Cv多个指针多个指针指示计算进程下一指示计算进程下一可用缓冲区可用缓冲区Nextg指示输入进程下一指示输入进程下一可用空缓冲区可用空缓冲区Nexti指示计算进程指示计算进程正在使用正在使用的缓冲区的缓冲区CurrentOperating SystemOperating SystemPage 132022-7-5RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent类型:类型:R:空缓冲;空缓冲;G:满缓冲;:满缓冲;C:当前缓冲:当前缓冲Operating SystemOperating SystemPage 142022-7-5q循环缓冲区的
9、使用循环缓冲区的使用vGetbuf过程过程为计算进程和输入进程提供缓冲区,并移动指针为计算进程和输入进程提供缓冲区,并移动指针vReleasebuf过程过程当计算进程或输入使用完缓冲区后,调用过程将缓当计算进程或输入使用完缓冲区后,调用过程将缓冲区释放冲区释放q进程同步进程同步输入、计算进程并行输入、计算进程并行vNexti指针追赶指针追赶上上Nextg指针指针输入进程速度大于计算进程,全部空缓冲区已满,输入进程速度大于计算进程,全部空缓冲区已满,无可用缓冲区,输入进程阻塞(无可用缓冲区,输入进程阻塞(系统受计算限制系统受计算限制)vNextg指针追赶上指针追赶上Nexti指针指针计算进程速度
10、大于输入进程,全部缓冲区空,无可计算进程速度大于输入进程,全部缓冲区空,无可用数据,计算进程阻塞(用数据,计算进程阻塞(系统受系统受I/O限制限制)Operating SystemOperating SystemPage 152022-7-5q缓冲的引入缓冲的引入q单缓冲和双缓冲单缓冲和双缓冲q循环缓冲循环缓冲q缓冲池(缓冲池(Buffer Pool)Operating SystemOperating SystemPage 162022-7-5q缓冲池的组成缓冲池的组成v专用缓冲的利用率不高,与环形缓冲不同的是缓冲池专用缓冲的利用率不高,与环形缓冲不同的是缓冲池中的缓冲区是系统的中的缓冲区是系
11、统的公用资源公用资源,可供,可供多个进程共享多个进程共享,既能用于既能用于输入输入,也能用于,也能用于输出输出v缓冲区类型缓冲区类型空空(闲闲)缓冲区缓冲区装满输入数据的缓冲区装满输入数据的缓冲区装满输出数据的缓冲区装满输出数据的缓冲区v缓冲队列:按其使用情况缓冲队列:按其使用情况空缓冲队列空缓冲队列emq输入队列输入队列inq输出队列输出队列outqOperating SystemOperating SystemPage 172022-7-5q缓冲池的组成缓冲池的组成v四种工作缓冲区四种工作缓冲区用于收容输入数据的工作缓冲区(用于收容输入数据的工作缓冲区(hin)用于提取输入数据的工作缓冲区
12、(用于提取输入数据的工作缓冲区(sin)用于收容输出数据的工作缓冲区(用于收容输出数据的工作缓冲区(hout)用于提取输出数据的工作缓冲区(用于提取输出数据的工作缓冲区(sout)Operating SystemOperating SystemPage 182022-7-5q两个对缓冲区操作的过程两个对缓冲区操作的过程vGetbuf(type),type-队列类型队列类型 vPutbuf(type,number),number-指某缓冲区指某缓冲区v队列是临界资源需设置队列是临界资源需设置互斥信号量互斥信号量MS,每个队列一个,每个队列一个MS(type)资源信号量资源信号量RS ,每个队列一
13、个,每个队列一个RS(type)v队列操作过程队列操作过程Takebuf(type) :取:取type所指队列队首缓冲区所指队列队首缓冲区Addbuf(type,number):将:将number所指缓冲所指缓冲区加到区加到type所指队列尾所指队列尾Operating SystemOperating SystemPage 192022-7-5 Procedure Getbuf(type) begin Wait(RS(type); Wait(MS(type); B(number):=Takebuf(type); /从队首摘下一个缓冲区从队首摘下一个缓冲区 Signal(MS(type); en
14、d Procedure Putbuf(type, number) begin Wait(MS(type); Addbuf(type, number); /将指定缓冲区挂在将指定缓冲区挂在type指定队列上指定队列上 Signal(MS(type); Signal(RS(type); end 互斥信号量MS(type)资源信号量RS(type)Operating SystemOperating SystemPage 202022-7-5q缓冲池的组成缓冲池的组成v四种工作缓冲区四种工作缓冲区用于收容输入数据的工作缓冲区(用于收容输入数据的工作缓冲区(hin)用于提取输入数据的工作缓冲区(用于提取
15、输入数据的工作缓冲区(sin)用于收容输出数据的工作缓冲区(用于收容输出数据的工作缓冲区(hout)用于提取输出数据的工作缓冲区(用于提取输出数据的工作缓冲区(sout)Operating SystemOperating SystemPage 212022-7-5q缓冲区工作方式缓冲区工作方式hinsoutsinhout收容输入收容输入提取输出提取输出用用户户进进程程提取输入提取输入收容输出收容输出缓冲池缓冲池Getbuf(emq)Putbuf(inq,hin)Getbuf(inq)Putbuf(emp,sin)Getbuf(emq)Putbuf(outq,hout)Getbuf(outq)P
16、utbuf(emq,sout)Operating SystemOperating SystemPage 222022-7-53. 缓冲区的工作方式缓冲区的工作方式 图 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)Operating SystemOperating
17、 SystemPage 232022-7-5q无缓冲时问题分析:无缓冲时问题分析:设备直接向进程地址设备直接向进程地址空间传送数据空间传送数据(如用户从磁带中读数据块的如用户从磁带中读数据块的操作),则进程要么忙等待,要么阻塞。操作),则进程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,则浪费大量,则浪费大量CPU时间;时间;v如果是如果是阻塞方式阻塞方式,则进程阻塞在设备的,则进程阻塞在设备的I/O请求队列中。这时,请求队列中。这时,不能将进程全部换出,不能将进程全部换出,还可能出现单进程还可能出现单进程死锁死锁。(进程在等待。(进程在等待I/O操操作结果之前被换出,等待作结果之
18、前被换出,等待I/O事件,而事件,而I/O操操作也被阻塞,等待该进程被换入。)作也被阻塞,等待该进程被换入。)Operating SystemOperating SystemPage 242022-7-5qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理Operating SystemOperating SystemPage 252022-7-5q设备分配中的数据结构设备分配中的数据结构q设备分配时应考虑的因素设备分配时应考虑的因素q设备独立性设备独立性q独占设备的分配程序独占设备的分配程序qSPOOLing技术技
19、术Operating SystemOperating SystemPage 262022-7-5q在多道程序环境下,系统中的设备所有进程共享,在多道程序环境下,系统中的设备所有进程共享,为为防止防止进程对系统资源的进程对系统资源的无序竞争无序竞争,必须由系统,必须由系统统一分配统一分配设备设备q某进程向系统提出某进程向系统提出I/O请求时,设备分配程序按请求时,设备分配程序按一定策略一定策略分配设备、控制器和通道,形成一条数分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换据传输通路,以供主机和设备间信息交换q为实现设备分配,系统中应设置相应的数据结构,为实现设备分配,系统
20、中应设置相应的数据结构,对每台设备、通道、控制器的情况进行登记对每台设备、通道、控制器的情况进行登记Operating SystemOperating SystemPage 272022-7-55.4 设设 备备 分分 配配 5.4.1 设备分配中的数据结构设备分配中的数据结构 1. 设备控制表设备控制表DCT2. 控制器控制表控制器控制表COCT3. 通道控制表通道控制表CHCT4. 系统设备表系统设备表SDT Operating SystemOperating SystemPage 282022-7-5q设备控制表设备控制表DCT设备类型设备类型 type设备标识符:设备标识符:devic
21、eid设备状态:等待设备状态:等待/ /不等待不等待 忙忙/ /闲闲指向控制器表指向控制器表COCTCOCT的指针的指针重复执行次数或时间重复执行次数或时间设备队列的队首指针设备队列的队首指针DCT 1DCT 2DCT n设设备备控控制制表表集集合合每个设备一张,记录本设备的情况每个设备一张,记录本设备的情况正使用,则忙标志正使用,则忙标志置置1;若与其相连的;若与其相连的控制器或通道忙,控制器或通道忙,则等待标志置则等待标志置1请求本设备未满请求本设备未满足的进程足的进程PCB队队列列Operating SystemOperating SystemPage 292022-7-5q控制器控制表
22、、控制器控制表、 通道控制表通道控制表控制器标识符:控制器标识符:controllerid控制器状态:忙控制器状态:忙/ /闲闲与控制器连接的通道表指针与控制器连接的通道表指针控制器队列的队首指针控制器队列的队首指针控制器队列的队尾指针控制器队列的队尾指针通道标识符:通道标识符:channelid通道状态:忙通道状态:忙/ /闲闲与通道连接的控制器表首址与通道连接的控制器表首址通道队列的队首指针通道队列的队首指针通道队列的队尾指针通道队列的队尾指针(a) 控制器表控制器表COCT(b) 通道表通道表CHCT一个控制器一张一个控制器一张一个通道一张一个通道一张Operating SystemOp
23、erating SystemPage 302022-7-5q系统设备表系统设备表SDT 系统系统设备表设备表SDT表目表目 1表目表目 i设备类设备类设备标识符设备标识符DCT驱动程序入口驱动程序入口整个系统一张,记录已被连接到系统中的所有物理设备的情况整个系统一张,记录已被连接到系统中的所有物理设备的情况Operating SystemOperating SystemPage 312022-7-5q设备分配中的数据结构设备分配中的数据结构q设备分配时应考虑的因素设备分配时应考虑的因素q设备独立性设备独立性q独占设备的分配程序独占设备的分配程序qSPOOLing技术技术Operating Sy
24、stemOperating SystemPage 322022-7-55.4.2 设备分配时应考虑的因素设备分配时应考虑的因素 为了使系统有条不紊地工作,系统在进行设备分配时,应考虑这样几个因素:(1)设备的固有属性;(2)设备分配算法;(3)设备分配的安全性;(4)设备独立性。Operating SystemOperating SystemPage 332022-7-5q设备的固有属性设备的固有属性v独占性独占性一段时间内,只允许一个进程独占,大多数低度速一段时间内,只允许一个进程独占,大多数低度速/ /设备都属于独享设备设备都属于独享设备v共享性共享性允许多个进程同时共享,如磁盘、磁鼓之类
25、的外存允许多个进程同时共享,如磁盘、磁鼓之类的外存储器,既具有很能大的存储容量,其定位操作的时储器,既具有很能大的存储容量,其定位操作的时间又短间又短v可虚拟性可虚拟性独占设备经某种技术处理,改造成虚拟设备,把一独占设备经某种技术处理,改造成虚拟设备,把一台输入机虚拟为几台台输入机虚拟为几台“虚拟虚拟”的输入机。例如:为的输入机。例如:为了提高设备利用率引入了脱机输入输出或采用了提高设备利用率引入了脱机输入输出或采用SPOOLing技术,变一台为技术,变一台为“多台设备多台设备”缺点:设备得缺点:设备得不到充分利用,不到充分利用,可能产生死锁可能产生死锁Operating SystemOper
26、ating SystemPage 342022-7-5q设备分配设备分配v独占设备独占设备防止死锁防止死锁v共享设备共享设备由于同时有多个进程同时访问,且访问频繁,就会由于同时有多个进程同时访问,且访问频繁,就会影响整个设备使用效率,影响系统效率。因此要考影响整个设备使用效率,影响系统效率。因此要考虑多个访问请求到达时服务的顺序,使平均服务时虑多个访问请求到达时服务的顺序,使平均服务时间越短越好。间越短越好。注意各进程的访问次序进行合理调度注意各进程的访问次序进行合理调度v虚拟设备虚拟设备Operating SystemOperating SystemPage 352022-7-5q设备分配算
27、法设备分配算法v先来先服务先来先服务v优先级高者优先优先级高者优先q设备分配中的安全性设备分配中的安全性v安全分配方式安全分配方式每当进程发出每当进程发出I/O请求后,便进入阻塞状态,请求后,便进入阻塞状态,I/O操作完成后唤醒操作完成后唤醒优点:摒弃了优点:摒弃了 “请求和保持请求和保持”条件,不会产生死锁条件,不会产生死锁v不安全分配方式不安全分配方式 进程发出进程发出I/O请求后仍继续运行,继续申请请求后仍继续运行,继续申请I/O设设备备优点:可操作多个设备,推进迅速优点:可操作多个设备,推进迅速缺点:推进缺点:推进速度缓慢速度缓慢缺点:可能缺点:可能产生死锁产生死锁Operating
28、SystemOperating SystemPage 362022-7-5q缓和缓和CPU与与I/O设备间速度不匹配的矛盾设备间速度不匹配的矛盾v数据到达速率与其离去速率不同数据到达速率与其离去速率不同q减少对减少对CPU的中断频率,放宽对的中断频率,放宽对CPU中断响应时中断响应时间的限制间的限制q提高提高CPU和和I/O设备之间的并行性设备之间的并行性v提高系统的吞吐量和设备的利用率提高系统的吞吐量和设备的利用率Operating SystemOperating SystemPage 372022-7-5q无缓冲时问题分析:无缓冲时问题分析:设备直接向进程地址设备直接向进程地址空间传送数据
29、空间传送数据(如用户从磁带中读数据块的如用户从磁带中读数据块的操作),则进程要么忙等待,要么阻塞。操作),则进程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,则浪费大量,则浪费大量CPU时间;时间;v如果是如果是阻塞方式阻塞方式,则进程阻塞在设备的,则进程阻塞在设备的I/O请求队列中。这时,请求队列中。这时,不能将进程全部换出,不能将进程全部换出,还可能出现还可能出现单进程死锁单进程死锁。v进程在等待进程在等待I/O操作结果之前被换出,等待操作结果之前被换出,等待I/O事件,而事件,而I/O操作也被阻塞,等待该进程操作也被阻塞,等待该进程被换入。被换入。Operating Syst
30、emOperating SystemPage 382022-7-5q设备分配中的数据结构设备分配中的数据结构q设备分配时应考虑的因素设备分配时应考虑的因素q设备独立性设备独立性q独占设备的分配程序独占设备的分配程序qSPOOLing技术技术Operating SystemOperating SystemPage 392022-7-5q设备独立性设备独立性(Device Independence)的概念的概念v为了提高为了提高OS的可适应性和可扩展性,在现代的可适应性和可扩展性,在现代OS中都中都毫无例外地实现了设备独立性,也称为设备无关性毫无例外地实现了设备独立性,也称为设备无关性v定义:是指
31、用户在编制程序时所使用的设备与实际定义:是指用户在编制程序时所使用的设备与实际使用的设备无关。即使用的设备无关。即 应用程序独立于具体使用的物应用程序独立于具体使用的物理设备理设备v为了实现设备独立性而引入了为了实现设备独立性而引入了逻辑设备逻辑设备和和物理设备物理设备这两个概念这两个概念v在应用程序中,在应用程序中, 使用使用逻辑设备逻辑设备名称来请求使用某类名称来请求使用某类设备;而系统在实际执行时,设备;而系统在实际执行时, 还必须使用还必须使用物理设备物理设备名称名称v系统须具有将逻辑设备名称转换为某物理设备名称系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理
32、中所介绍的的功能,这非常类似于存储器管理中所介绍的逻辑逻辑地址地址和和物理地址物理地址的概念的概念Operating SystemOperating SystemPage 402022-7-5q设备独立性的优点设备独立性的优点v设备分配时的灵活性设备分配时的灵活性系统可将该逻辑设备类中的任一台分配给进系统可将该逻辑设备类中的任一台分配给进程使用程使用所有设备均占用时才阻塞所有设备均占用时才阻塞v易于实现易于实现I/O重定向重定向所谓所谓I/O重定向,指用于重定向,指用于I/O操作的设备可操作的设备可以更换,而不必改变应用程序以更换,而不必改变应用程序如调试程序时输出到屏幕,而实际应用时改如调试
33、程序时输出到屏幕,而实际应用时改为输出到打印机为输出到打印机Operating SystemOperating SystemPage 412022-7-5q设备独立性软件设备独立性软件v设备驱动程序是一个与硬件(或设备)紧密相关的软设备驱动程序是一个与硬件(或设备)紧密相关的软件。件。v设备驱动程序一方面可以定制以适合各种设备,另一设备驱动程序一方面可以定制以适合各种设备,另一方面也提供了一组标准接口。方面也提供了一组标准接口。v设备驱动程序的作用是为内核设备驱动程序的作用是为内核I/O子系统隐藏设备控子系统隐藏设备控制器之间的差异制器之间的差异v为了实现设备独立性,必须在设备驱动程序上设置一
34、为了实现设备独立性,必须在设备驱动程序上设置一层软件,称为设备独立性软件层软件,称为设备独立性软件Operating SystemOperating SystemPage 422022-7-52. 设备独立性软件设备独立性软件 为了实现设备独立性,必须再将驱动程序之上设备一层软件,称为设备独立性软件,其主要功能可分为以下两个方面: (1)执行所有设备的公有操作 (2)向用户层(或文件层)软件提供统一接口。Operating SystemOperating SystemPage 432022-7-52. 设备独立性软件设备独立性软件 1) 执行所有设备的公有操作 对独立设备的分配与回收分配与回收
35、; 将逻辑设备名映射设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序; 对设备进行保护设备进行保护,禁止用户直接访问设备; 缓冲管理缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高I/O的效率; 差错控制差错控制。由于在I/O操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理的错误。Operating SystemOperating SystemPage 442022-7-5 2) 向用户层(或文件层)软件提供统一接口 无论何种设备, 它们向用户所提供的接口应该是相同的。 例如, 对各种设备的读操作,在应用程序中都
36、使用read;而对各种设备的写操作,也都使用write。 Operating SystemOperating SystemPage 452022-7-5q 逻辑设备名到物理设备名映射的实现逻辑设备名到物理设备名映射的实现 v逻辑设备表(逻辑设备表(Lgical Unit Table)用于实现将应用程序中的逻辑设备名映射为物理设用于实现将应用程序中的逻辑设备名映射为物理设备名备名逻辑设备名逻辑设备名物理设备名物理设备名驱动程序驱动程序入口地址入口地址/dev/tty/dev/printer3510242046逻辑设备名逻辑设备名/dev/tty/dev/printer系统设备表指针系统设备表指针
37、35(a)(b) LUT的设置可采取两种方式: 整个系统设置一张整个系统设置一张LUT。不允许在LUT中具有相同的逻辑设备名,这就是要求所有用户不使用相同的逻辑设备名。 为每个用户设置一张为每个用户设置一张LUT。用户建立一个进程,同时也为之建立一张LUT。Operating SystemOperating SystemPage 462022-7-5q设备分配中的数据结构设备分配中的数据结构q设备分配时应考虑的因素设备分配时应考虑的因素q设备独立性设备独立性q独占设备的分配程序独占设备的分配程序qSPOOLing技术技术Operating SystemOperating SystemPage
38、472022-7-5q基本的设备分配程序基本的设备分配程序v分配设备分配设备v分配控制器分配控制器v分配通道分配通道Operating SystemOperating SystemPage 482022-7-5设备设备1设备设备2设备设备3设备设备4设备设备5设备设备6设备设备7控制器控制器1控制器控制器2控制器控制器3控制器控制器4通道通道1通道通道2存储器存储器分配设备分配设备1分配控制器分配控制器1分配通道分配通道1申请设备申请设备1按设备物理名查按设备物理名查SDT设备忙?设备忙?根据安全策略进行分配根据安全策略进行分配由由DCT查查COCT分配控制器分配控制器由由COCT查查CHCT
39、分配通道分配通道否是由由SDT查设备查设备 DCTOperating SystemOperating SystemPage 502022-7-5q设备分配程序的改进设备分配程序的改进v基本分配程序的问题基本分配程序的问题进程以物理设备名提出进程以物理设备名提出I/O请求请求采用单通路采用单通路I/O系统结构,容易产生瓶颈系统结构,容易产生瓶颈v改进方案改进方案增加设备独立性增加设备独立性 考虑多通路情况考虑多通路情况为进程为进程P P分配所需的分配所需的I/OI/O设备设备从从SDTSDT表查该类设备的控制表表查该类设备的控制表DCTDCT不忙不忙不安全不安全分配此设备给进程分配此设备给进程P
40、 P不忙不忙不忙不忙分配此控制器给进程分配此控制器给进程P P分配此通道给进程分配此通道给进程P P启动启动I/O,I/O,进行进行具体的具体的I/OI/O操作操作忙忙进程进程P P的的PCBPCB放入放入此设备的等待队列此设备的等待队列YN忙忙进程进程 P P 的的 PCB PCB 放入放入此控制器的等待队列此控制器的等待队列YNY忙忙Y进程进程P P的的PCBPCB放入此放入此通道的等待队列通道的等待队列NYNN多通多通路设路设备分备分配流配流程示程示意图意图由由DCTDCT检查该设备忙否检查该设备忙否? ?检查分配此设备的安全性检查分配此设备的安全性? ?最后一个最后一个DCT?DCT?
41、最后一个最后一个COCT?COCT?最后一个最后一个DCT?DCT?此设备连接的此设备连接的COCTCOCT忙否忙否? ?此控制器连接的此控制器连接的CHCTCHCT忙否忙否? ?最后一个最后一个COCT?COCT?最后一个最后一个CHCT?CHCT?Operating SystemOperating SystemPage 522022-7-5q设备分配中的数据结构设备分配中的数据结构q设备分配时应考虑的因素设备分配时应考虑的因素q设备独立性设备独立性q独占设备的分配程序独占设备的分配程序qSPOOLing技术技术Operating SystemOperating SystemPage 532
42、022-7-5硬件不断发展,硬件不断发展,CPU速度的提高、系统规模扩大,人机速度的提高、系统规模扩大,人机矛盾严重,如何解决?矛盾严重,如何解决?输入设备外围机磁盘主机外围机输出设备磁带磁带磁带磁带Operating SystemOperating SystemPage 542022-7-5q什么什么是是SPOOLing技术技术v为了缓和为了缓和CPU的高速性与的高速性与I/O设备低速性间的设备低速性间的矛盾而引入了矛盾而引入了脱机输入脱机输入、 脱机输出脱机输出技术技术v在多道程序环境下,其中的一道程序模拟脱在多道程序环境下,其中的一道程序模拟脱机输入时的外围控制机功能机输入时的外围控制机
43、功能v在主机的直接控制下,实现脱机输入、在主机的直接控制下,实现脱机输入、 输出输出功能,此时的外围操作与功能,此时的外围操作与CPU对数据的处理对数据的处理同时进行同时进行v把这种在联机情况下实现的同时外围操作称把这种在联机情况下实现的同时外围操作称为为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为,或称为假脱机操作假脱机操作Operating SystemOperating SystemPage 552022-7-5qSPOOLing系统的组成系统的组成v输入井和输出井输入井和输出井在磁盘上的两个存储空间在磁盘上的两个存储空
44、间输入井模拟脱机输入,暂存输入数据输入井模拟脱机输入,暂存输入数据输出井模拟脱机输出,暂存输出数据输出井模拟脱机输出,暂存输出数据v输入缓冲区和输出缓冲区输入缓冲区和输出缓冲区用来缓和用来缓和CPU与磁盘之间的速度的矛盾与磁盘之间的速度的矛盾v输入进程输入进程SPi和输出进程和输出进程SPo模拟脱机模拟脱机I/O时的外围控制机时的外围控制机Operating SystemOperating SystemPage 562022-7-5输入设备外围机磁盘主机外围机输出设备磁带磁带磁带磁带Operating SystemOperating SystemPage 572022-7-5输入进程 输入进程
45、 SPi输入进程 输入进程 SPo输入缓冲区 输入缓冲区 Bi输出缓冲区 输出缓冲区 Bo输入井输入井输出井输出井磁盘磁盘输入设备输入设备输出设备输出设备Operating SystemOperating SystemPage 582022-7-5q共享打印机共享打印机v打印机为打印机为独占独占设备,利用设备,利用SPOOLing技术,技术,可将之改造为可将之改造为共享共享设备设备v用户请求打印时,用户请求打印时,SPOOLing系统处理如下系统处理如下由输出进程在输出井中为之申请一个空闲由输出进程在输出井中为之申请一个空闲磁盘块区,磁盘块区, 并将要打印的数据送入其中并将要打印的数据送入其中
46、输出进程再为用户进程申请一张空白的用输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入户请求打印表,并将用户的打印要求填入其中,其中, 再再将该表挂到请求打印队列上将该表挂到请求打印队列上Operating SystemOperating SystemPage 592022-7-5qSPOOLing系统特点系统特点v提高了提高了I/O的速度的速度v将独占设备改造为共享设备将独占设备改造为共享设备v实现了虚拟设备功能实现了虚拟设备功能Operating SystemOperating SystemPage 602022-7-5SPOOLing技术今天仍被广泛使用技术今天仍被
47、广泛使用q网络文件传送网络文件传送 先把文件送到网络先把文件送到网络SPOOLing目录,然后网络值目录,然后网络值班进程把它取出并传递到目标地址班进程把它取出并传递到目标地址qInternet电子邮件系统电子邮件系统 为了寄邮,调用电子邮件程序为了寄邮,调用电子邮件程序 待发信存在待发信存在SPOOLing中供以后传输中供以后传输q注意:注意:SPOOLing只提高设备利用率,缩短用户只提高设备利用率,缩短用户程序执行时间,并不提高程序执行时间,并不提高CPU利用率利用率Operating SystemOperating SystemPage 612022-7-5qI/O系统系统 qI/O控
48、制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理Operating SystemOperating SystemPage 622022-7-5q中断处理程序的处理过程中断处理程序的处理过程q设备驱动程序的功能和特点设备驱动程序的功能和特点q设备驱动程序的处理过程设备驱动程序的处理过程q独立于设备的服务软件独立于设备的服务软件Operating SystemOperating SystemPage 632022-7-5系统层次结构系统层次结构接收上层软件发来接收上层软件发来的抽象要求的抽象要求read/write,转,转换成具体的要求,换成具
49、体的要求,发给设备控制器发给设备控制器将由设备控制将由设备控制器发来的信号器发来的信号送给上层软件送给上层软件Operating SystemOperating SystemPage 642022-7-5q中断处理程序中断处理程序v系统为每类设备设置一个中断处理程系统为每类设备设置一个中断处理程序,它们的序,它们的入口地址入口地址被存放在内存的固定单被存放在内存的固定单元中,元中, 称为称为中断向量中断向量。v 当某台设备完成一次操作时,发出中当某台设备完成一次操作时,发出中断信号,接受中断信号,暂停现行进断信号,接受中断信号,暂停现行进程的执行,根据中断向量转到相应的程的执行,根据中断向量转
50、到相应的中断处理程序执行。中断处理程序执行。v中断处理程序的中断处理程序的基本工作基本工作包括:保留包括:保留现行进程的执行现场;通知等待该操现行进程的执行现场;通知等待该操作完成的进程;最终转入进程调度程序进行作完成的进程;最终转入进程调度程序进行重新调度。重新调度。Operating SystemOperating SystemPage 652022-7-5PSW程序状态字程序状态字PC(N1)程序计数器程序计数器R0Rn寄存器寄存器开始开始返回返回用户程序用户程序中断服务子例程中断服务子例程PSWPC(N1)中断栈中断栈TTM栈指针栈指针YNN1R0RnOperating SystemO
51、perating SystemPage 662022-7-5唤醒被阻塞的唤醒被阻塞的驱动程序进程驱动程序进程对被中断进程的对被中断进程的CPU环境进行保护环境进行保护分析中断原因,转入分析中断原因,转入相应的中断处理程序相应的中断处理程序终端中断终端中断处理程序处理程序打印机中断打印机中断处理程序处理程序磁盘中断磁盘中断处理程序处理程序恢复被中断进恢复被中断进程的程的CPU现场现场返回被中断的进返回被中断的进程,继续执行程,继续执行中断请求信号中断请求信号I/O完成后,驱动程完成后,驱动程序必须检查本次序必须检查本次I/O操作中是否发生了错操作中是否发生了错误,并向上层软件报误,并向上层软件报
52、告,最终向调用者报告,最终向调用者报告本次告本次I/O的执行情的执行情况况Operating SystemOperating SystemPage 672022-7-5q中断处理程序的处理过程中断处理程序的处理过程q设备驱动程序的功能和特点设备驱动程序的功能和特点q设备驱动程序的处理过程设备驱动程序的处理过程q独立于设备的服务软件独立于设备的服务软件Operating SystemOperating SystemPage 682022-7-5系统层次结构系统层次结构Operating SystemOperating SystemPage 692022-7-5q设备处理程序设备处理程序又称为又称
53、为设备驱动程序设备驱动程序,是,是I/O进程进程与设备控制器之间的通信程序与设备控制器之间的通信程序q不论是哪种设备驱动程序,它的功能是相同的不论是哪种设备驱动程序,它的功能是相同的v接收接收用户的用户的I/O请求请求命令和参数命令和参数,并将命令中的抽,并将命令中的抽象要求象要求转换转换为具体要求(为具体要求(I/O请求块),例如,将请求块),例如,将磁盘块号转换为磁盘的盘面、磁盘块号转换为磁盘的盘面、 磁道号及扇区号磁道号及扇区号v检查检查用户用户I/O请求的请求的合法性合法性,了解,了解I/O设备的状态,设备的状态,传递有关参数,传递有关参数,设置设置设备的设备的工作方式工作方式v发出发
54、出I/O命令并检查设备状态,空闲则启动命令并检查设备状态,空闲则启动I/O完成完成指定的操作,忙碌则指定的操作,忙碌则将请求者的请求块挂将请求者的请求块挂到相应设到相应设备的备的I/O请求队列请求队列v及时及时响应响应由控制器或通道发来的由控制器或通道发来的中断中断请求并处理请求并处理v若计算机系统设置有通道,则驱动程序根据用户的若计算机系统设置有通道,则驱动程序根据用户的I/O请求,请求,自动地构成通道程序自动地构成通道程序Operating SystemOperating SystemPage 702022-7-5q注意注意v每类设备有一个每类设备有一个I/O请求队列,在系统初始化时,请求
55、队列,在系统初始化时,将系统中所有设备的将系统中所有设备的I/O请求队列置为空请求队列置为空v在系统初启时,系统为每类设备创建一个进程在系统初启时,系统为每类设备创建一个进程(其中的一种方式),执行程序就是该设备的设(其中的一种方式),执行程序就是该设备的设备驱动程序。由于系统初启时,相应的备驱动程序。由于系统初启时,相应的I/O请求请求队列为空,则在该队列上睡眠队列为空,则在该队列上睡眠v一旦有一旦有I/O请求块挂入,唤醒该设备驱动进程。请求块挂入,唤醒该设备驱动进程。它被调度到时,从队列中取出一个它被调度到时,从队列中取出一个I/O请求块,请求块,并按该块的内容执行一次并按该块的内容执行一
56、次I/O操作,发出操作,发出I/O完完成(或出错)中断信号。然后,检查请求队,若成(或出错)中断信号。然后,检查请求队,若为空,则进入睡眠状态,否则,取下一个请求块为空,则进入睡眠状态,否则,取下一个请求块Operating SystemOperating SystemPage 712022-7-5q在不同的系统,设备驱动程序的运行方式在不同的系统,设备驱动程序的运行方式v在在整个系统整个系统中设置中设置一个一个I/O进程进程,统一负责所,统一负责所有设备的驱动工作。专门用于执行系统中所有设备的驱动工作。专门用于执行系统中所有各类设备的有各类设备的I/O操作操作v为每为每一类设备一类设备设置设置一个进程一个进程,专门用于负责,专门用于负责该类设备的驱动工作(该类设备的驱动工作(I/O操作)操作) v为为每台每台设备建立设备建立一个一个设备驱动进程,它们分设备驱动进程,它们分别负责专门设备的驱动工作。同类设备的各别负责专门设备的驱动工作。同类设备的各驱动进程共享该类设备的设备驱动程序。驱动进程共享该类设备的设备驱动程序。v不设置专门的不设置专门的设备处理进程,而只为设备处理进程,而只为各类设各类设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度喷漆车间生产效益提升合同3篇
- 2024年度工业材料采购合同合同样本版
- 2024互利采购伙伴关系框架协议版
- 2024版设备采购合同标的质量保证和服务支持3篇
- 金泉别墅租赁合同三篇
- 雇用劳动合同书三篇
- 二零二四版工程招投标代理合同3篇
- 2024年度定制生日蛋糕预付费卡销售合同一
- 2024年度奶茶店市场营销合同3篇
- 2024年借款居间协议格式样本版B版
- 《中国传统民族服饰》课件
- 2024年中考语文试题分类汇编:非连续性文本阅读
- 遥远的救世主读书分享2
- 浙江省温州市2024-2025学年高三上学期一模英语试题 含解析
- 专项12-全等模型-手拉手-专题训练
- 2024年山西航空产业集团有限公司招聘笔试参考题库附带答案详解
- 学校(幼儿园)每周食品安全排查治理报告(整学期16篇)
- 医学生科研思路的培养(72张幻灯片)课件
- 现代微波电路与器件设计4波导滤波器设计
- 夫妻离婚财产分割浅析法学毕业论文
- 青岛市住宅工程质量通病防治手册
评论
0/150
提交评论