计算机操作系统第四版第五章缓冲管理设备分配_第1页
计算机操作系统第四版第五章缓冲管理设备分配_第2页
计算机操作系统第四版第五章缓冲管理设备分配_第3页
计算机操作系统第四版第五章缓冲管理设备分配_第4页
计算机操作系统第四版第五章缓冲管理设备分配_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编辑ppt1缓冲(缓冲( Buffering )管理)管理 缓冲管理的主要职责缓冲管理的主要职责: :组织好缓冲区并提供获得和释放缓冲组织好缓冲区并提供获得和释放缓冲区的手段。区的手段。 (1 1)引入缓冲的主要原因,可归结为以下几点:引入缓冲的主要原因,可归结为以下几点:1 1、改善、改善CPUCPU与与I/OI/O设备间速度不匹配的矛盾设备间速度不匹配的矛盾 事实上,事实上,凡在数据的到达速率与其离去速率不同的地方,都凡在数据的到达速率与其离去速率不同的地方,都可设置缓冲可设置缓冲,以缓和它们之间速度不匹配的矛盾。,以缓和它们之间速度不匹配的矛盾。2、可以减少对、可以减少对 CPU的中断频

2、率,放宽对中断响应时间的限制的中断频率,放宽对中断响应时间的限制 如果如果I/O操作操作每传送一个字节每传送一个字节就要产生一次中断,那么设置了就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就断次数就减少到减少到1/n,而且中断响应的时间也可以相应的放宽。,而且中断响应的时间也可以相应的放宽。3、提高、提高 CPU和和 IO设备之间的并行性设备之间的并行性 例如,在例如,在CPU和打印机之间设置了缓冲区后,便可以使和打印机之间设置了缓冲区后,便可以使CPU和打印机并行工作。和打印机并行工作。编辑p

3、pt2缓冲区设置缓冲区设置 硬缓冲硬缓冲:在:在设备中设备中设置缓冲区,由设置缓冲区,由硬件实现硬件实现 软缓冲软缓冲:在:在内存中内存中开辟一个空间,用作缓冲区开辟一个空间,用作缓冲区管理管理 单缓冲单缓冲 双缓冲双缓冲 循环缓冲循环缓冲 ( (多缓冲多缓冲) ) 缓冲池缓冲池:多个缓冲区连接起来统一管理,常采用:多个缓冲区连接起来统一管理,常采用多缓冲管理多缓冲管理编辑ppt3(1)单缓冲(单缓冲( Single Buffer ) 单缓冲是操作系统提供的单缓冲是操作系统提供的最简单的一种缓冲形式最简单的一种缓冲形式。在设备。在设备和和CPUCPU之间设置一个缓冲器之间设置一个缓冲器, ,由

4、输入和输出设备共用。例如,由输入和输出设备共用。例如,CPUCPU要从磁盘上读一块数据进行计算,先从磁盘把一块数据读要从磁盘上读一块数据进行计算,先从磁盘把一块数据读入到缓冲区中,然后由入到缓冲区中,然后由OSOS将缓冲区的数据传送到用户区,最后将缓冲区的数据传送到用户区,最后由由CPUCPU对这一块数据进行计算。可见对这一块数据进行计算。可见第一步和最后一步是可以第一步和最后一步是可以并行执行的并行执行的,这样就提高了,这样就提高了CPUCPU和外设的利用率。但是对缓冲和外设的利用率。但是对缓冲区中数据的区中数据的输入输入和和提取提取是串行工作的。是串行工作的。 (如下图所示)(如下图所示)

5、处理时间处理时间=MAX(C=MAX(C,T)+MT)+M。通常,。通常,M远小于远小于T或或C缓冲区缓冲区用户区用户区输入输入T T传送传送M MI/OI/O设备设备操作系统操作系统用户进程用户进程计算计算C C编辑ppt4 (2 2)双缓冲()双缓冲( Double Buffer ) 双缓冲双缓冲( (缓冲对换缓冲对换) )工作方式基本方法是在设备输入时,先工作方式基本方法是在设备输入时,先将数据输入到将数据输入到缓冲区缓冲区A A,装满后便,装满后便转向缓冲区转向缓冲区B B。此时。此时OSOS可以从可以从缓冲区缓冲区A A中提取数据传送到用户区,最后由中提取数据传送到用户区,最后由CP

6、UCPU对数据进行计算。对数据进行计算。(如下图所示)(如下图所示) 系统处理一块数据的处理时间可粗略地认为:系统处理一块数据的处理时间可粗略地认为:MAX(CMAX(C,T)T)。若若CT,可使块设备,可使块设备连续输入连续输入;若;若CT,可使,可使CPU不必等待不必等待设备输入设备输入。 缓冲区缓冲区A用户区用户区缓冲区缓冲区B输入输入T T传送传送M MI/OI/O设备设备操作系统操作系统用户进程用户进程 计算计算C C编辑ppt5 解决外设之间并行工作的最简单的办法是解决外设之间并行工作的最简单的办法是设置双缓冲设置双缓冲。在双缓冲方案中,具体的做法是为输入或输出操作设置两在双缓冲方

7、案中,具体的做法是为输入或输出操作设置两个缓冲区个缓冲区buffer1buffer1和和buffer2buffer2。 双缓冲方式和单缓冲方式相比,虽然双缓冲方式能双缓冲方式和单缓冲方式相比,虽然双缓冲方式能进一进一步提高步提高CPUCPU和外设的并行程度和外设的并行程度,并能使输入设备和输出设备,并能使输入设备和输出设备并行工作,但是在实际系统中并行工作,但是在实际系统中很少采用这一方式很少采用这一方式,这是因,这是因为在计算机系统中的外设很多,又有大量的输入和输出,为在计算机系统中的外设很多,又有大量的输入和输出,同时双缓冲同时双缓冲很难匹配设备很难匹配设备和和CPUCPU的处理速度的处理

8、速度。因此现代计算。因此现代计算机系统中一般使用机系统中一般使用循环缓冲循环缓冲或或缓冲池缓冲池结构。结构。编辑ppt6 (3)循环缓冲循环缓冲 (多缓冲多缓冲( Circular Buffer ) ) 多缓冲可以实现对缓冲区中数据的多缓冲可以实现对缓冲区中数据的输入和提取输入和提取,与,与CPUCPU的的计算计算,三者并行工作。所以多缓冲进一步加快了,三者并行工作。所以多缓冲进一步加快了I/OI/O的速度,的速度,提高了设备的利用率。提高了设备的利用率。 当对缓冲区中数据的输入和提取的当对缓冲区中数据的输入和提取的速度基本相匹配时速度基本相匹配时,采,采用双缓冲可使两者并行工作,获得较好的效

9、果。但是如果两者用双缓冲可使两者并行工作,获得较好的效果。但是如果两者的的速度相差甚远速度相差甚远时,双缓冲的效果就时,双缓冲的效果就不够理想不够理想了。如果增加缓了。如果增加缓冲区的个数,情况就会有所改善。我们可以将冲区的个数,情况就会有所改善。我们可以将多个缓冲区组织多个缓冲区组织成循环队列成循环队列的形式(如下图所示)。的形式(如下图所示)。 缓冲区缓冲区1用户区用户区缓冲区缓冲区2缓冲区缓冲区N输入输入T T传送传送M MI/OI/O设备设备操作系统操作系统用户进程用户进程编辑ppt7 环形缓冲环形缓冲技术是在技术是在主存主存中分配一组中分配一组大小相等大小相等的存储的存储区作为缓冲区

10、,并将这些缓冲区区作为缓冲区,并将这些缓冲区链接起来链接起来,每个缓冲区,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样针指向第一个缓冲区,这样n n个缓冲区就个缓冲区就成了一个环形成了一个环形。此外,系统中有个缓冲区链首指针指向第一个缓冲区。此外,系统中有个缓冲区链首指针指向第一个缓冲区。编辑ppt8RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent R R:空缓冲区;:空缓冲区; G G:装满数据的缓冲区;:装满数据的缓冲区; C C:正在使用的缓冲区;:

11、正在使用的缓冲区;编辑ppt9环形缓冲技术使用环形缓冲技术使用 设置一个输入指针设置一个输入指针in、一个输出指针、一个输出指针out、开始指针、开始指针strat。系统初始时,系统初始时,strat=in=out。 输入时,要判断输入时,要判断in是否与是否与out相等,若相等,则要等待。相等,若相等,则要等待。否则,将信息送入否则,将信息送入in指向的缓冲区,填满后,将缓冲区中指向的缓冲区,填满后,将缓冲区中的指向下一个缓冲区的指针的指向下一个缓冲区的指针next置置in,如此类推。,如此类推。 输出时,首先判断输出时,首先判断out=in,若相等,则等待(意味着系,若相等,则等待(意味着

12、系统中没有数据可取)。否则,取出缓冲区中的信息,将缓统中没有数据可取)。否则,取出缓冲区中的信息,将缓冲区中的冲区中的next置置out; 编辑ppt10 一组缓冲仅适用于某个特定的一组缓冲仅适用于某个特定的I/OI/O进程和计算进程进程和计算进程, ,当系统当系统配置较多的设备时,使用配置较多的设备时,使用专用缓冲区专用缓冲区就要就要消耗大量的内存空间消耗大量的内存空间,且其利用率不高。为了提高缓冲区的利用率,目前且其利用率不高。为了提高缓冲区的利用率,目前广泛使用公广泛使用公用缓冲池用缓冲池,池中的缓冲区,池中的缓冲区可供多个进程共享可供多个进程共享。 对于同时用于输入对于同时用于输入/

13、/输出的公用缓冲池,至少含有三种类型输出的公用缓冲池,至少含有三种类型的缓冲区:的缓冲区:空缓冲区空缓冲区、装满输入数据的缓冲区装满输入数据的缓冲区和和装满输出数据装满输出数据的缓冲区的缓冲区。为了管理上的方便,可将相同类型的缓冲区链成一。为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是就形成个队列,于是就形成三个队列三个队列:空缓冲区队列、输入缓冲区队:空缓冲区队列、输入缓冲区队列和输出缓冲区队列。列和输出缓冲区队列。空缓冲区队列空缓冲区队列( (emq) ):由空缓冲区所链成的队列。:由空缓冲区所链成的队列。输入缓冲区队列输入缓冲区队列( (inq) ):由装满输入数据的缓冲区所链

14、成的队列:由装满输入数据的缓冲区所链成的队列. . 输出缓冲区队列输出缓冲区队列( (outq) ):由装满输出数据的缓冲区所链成的队:由装满输出数据的缓冲区所链成的队列。列。(4)缓冲池(缓冲池(Buffer PoolBuffer Pool)编辑ppt11另外还应具有四种工作缓冲区:另外还应具有四种工作缓冲区: 用于用于收容输入收容输入数据的工作缓冲区(数据的工作缓冲区(hinhin);); 用于用于提取输入提取输入数据的工作缓冲区(数据的工作缓冲区(sinsin);); 用于用于收容输出收容输出数据的工作缓冲区(数据的工作缓冲区(houthout);); 用于用于提取输出提取输出数据的工作

15、缓冲区(数据的工作缓冲区(soutsout)。)。 缓冲区工作在收容输入、提取输入、收容输出和提取输出缓冲区工作在收容输入、提取输入、收容输出和提取输出四种工作方式下(如下图所示)。四种工作方式下(如下图所示)。hinsoutsinhout 用用 户户 程程 序序收容输入收容输入提取输入提取输入提取输出提取输出收容输出收容输出缓冲池缓冲池编辑ppt12设备的分配设备的分配 在多道程序环境下,设备必须由系统分配。每当进程在多道程序环境下,设备必须由系统分配。每当进程向系统提出向系统提出I/OI/O请求时,设备分配程序按照一定的策略,请求时,设备分配程序按照一定的策略,把其所需的设备及其有关资源(

16、如缓冲区、控制器和通道)把其所需的设备及其有关资源(如缓冲区、控制器和通道)分配给该进程。在分配设备时还必须考虑系统的安全性,分配给该进程。在分配设备时还必须考虑系统的安全性,避免发生死锁现象。避免发生死锁现象。分配原则:分配原则: 根据设备特性、用户要求和系统配置情况决定的。根据设备特性、用户要求和系统配置情况决定的。总总原则是:原则是:既要充分发挥设备的使用效率,又要避免由于不既要充分发挥设备的使用效率,又要避免由于不合理的分配方法造成进程死锁,还要做到设备的无关性。合理的分配方法造成进程死锁,还要做到设备的无关性。编辑ppt131 1、静态分配、静态分配 当一个作业(或进程)当一个作业(

17、或进程)运运行前行前,根据作业要求的设备,根据作业要求的设备,系统如果能满足,则将其要求系统如果能满足,则将其要求的设备的设备全部分配给全部分配给它,然后开它,然后开始运行,运行完成释放其占用始运行,运行完成释放其占用的所有设备。的所有设备。 这种分配方式的这种分配方式的优点优点是系是系统绝不会出现死锁,统绝不会出现死锁,缺点缺点是设是设备利用率太低。备利用率太低。2、动态分配、动态分配 这种分配方法是在作业这种分配方法是在作业(或进程)运行的(或进程)运行的过程中过程中,需,需要使用设备时,就向系统申请,要使用设备时,就向系统申请,系统根据某种分配原则进行分系统根据某种分配原则进行分配。配。

18、 这种方法的这种方法的优点优点是设备的是设备的利用率高,利用率高,缺点缺点是系统有出现是系统有出现死锁的可能。死锁的可能。设备的分配设备的分配编辑ppt141. 1. 设备分配中数据结构设备分配中数据结构 数据结构有:数据结构有:设备控制表(设备控制表(DCTDCT)、控制器控制表)、控制器控制表(COCTCOCT)、通道控制表()、通道控制表(CHCTCHCT)、系统设备表(、系统设备表(SDT)。设备的分配设备的分配设备类型 type设备标识符:deviceid设备状态:等待/不等待 忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针DCT 1DCT 2DCT n设备控制表集合编

19、辑ppt15(c ) 系统设 备 表 SDT控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针(a ) 控制器表COCT(b ) 通道表CHCT表目1表目i设备类设备标识符DCT驱动程序入口编辑ppt16 设备分配程序是设备分配程序是负责负责向对系统提出向对系统提出I/OI/O请求的进程请求的进程分分配设备配设备,及其相应的,及其相应的控制器控制器和和通道通道。1. 1. 设备分配中的数据结构设备分配中的数据结构 数据结

20、构有:数据结构有:设备控制表(设备控制表(DCTDCT)、控制器控制表)、控制器控制表(COCTCOCT)、通道控制表()、通道控制表(CHCTCHCT)、系统设备表(、系统设备表(SDT)。个表的具体内容如下图所示。个表的具体内容如下图所示。 在整个系统中,有一张在整个系统中,有一张系统设备表系统设备表(SDTSDT),用于记),用于记录系统中录系统中全部设备的信息全部设备的信息。每个设备占一个表目,其中包。每个设备占一个表目,其中包括括设备类型设备类型、设备标识符设备标识符、设备控制表指针设备控制表指针及及设备驱动程设备驱动程序的入口地址序的入口地址等表项。等表项。编辑ppt17设备分配的

21、数据结构图设备分配的数据结构图 表目1表目i设备类型设备标识符进程标识符DCT表指针驱动程序入口地址表目1表目i设备类型设备标识符设备状态(等待/不等待,忙/闲)COCT表指针重复执行次数或时间设备队列的队首指针设备队列的队尾指针表目1表目i控制器标识符控制器状态(忙/闲)CHCT表指针控制器队列的队首指针控制器队列的队尾指针表目1表目i通道标识符通道状态(忙/闲)通道队列的队首指针通道队列的队尾指针DCTDCT设备控制表SDTSDT系统设备表DCT集合 SDT集合 COCTCOCT控制器控制表CHCTCHCT通道控制表CHCT集合COCT集合编辑ppt18 系统为每一个设备都配置了一张系统为

22、每一个设备都配置了一张设备控制表设备控制表(DCTDCT),),用于记录该设备的情况。表中除了有用于指示用于记录该设备的情况。表中除了有用于指示设备类型设备类型的字段和的字段和设备标识符设备标识符字段外,还应有下列字段:字段外,还应有下列字段: 1)1)设备队列的队首指针设备队列的队首指针:凡因请求本设备而未得到满凡因请求本设备而未得到满足的进程,其足的进程,其PCBPCB都应按照一定的策略都应按照一定的策略排成一个队列排成一个队列,称,称为为设备请求队列设备请求队列或简称为或简称为设备队列设备队列。其队首指针。其队首指针指向队指向队首首PCBPCB,在有的系统中还设置了队尾指针。,在有的系统

23、中还设置了队尾指针。 2)2)设备状态:当设备自身处于设备状态:当设备自身处于“忙忙”状态时,将设备状态时,将设备的忙的忙标志置标志置“l l”。若与该设备相连接的。若与该设备相连接的控制器控制器或或通道通道处处于于“忙忙”状态,而不能启动该设备,则将设备的状态,而不能启动该设备,则将设备的等待标等待标志置志置“l l”。设备的分配设备的分配编辑ppt19 3)3)与设备连接的控制器表指针:该指针指向与该设备相与设备连接的控制器表指针:该指针指向与该设备相连接的连接的控制器的控制表控制器的控制表。在具有。在具有多条通路多条通路的情况下,一个的情况下,一个设备设备可与多个控制器可与多个控制器相连

24、接。此时,在相连接。此时,在DCTDCT中应设置中应设置多个控多个控制器表指针。制器表指针。 4)4)重复执行次数:外部设备在传送数据时,若发生信息重复执行次数:外部设备在传送数据时,若发生信息传送错误传送错误,系统,系统并不立即认为传送失败并不立即认为传送失败,而是允许它,而是允许它重新重新传送传送。只要。只要在规定的重复次数在规定的重复次数或或时间内时间内恢复正常传送,则恢复正常传送,则仍认为传送成功,否则才认为传送失败。仍认为传送成功,否则才认为传送失败。设备的分配设备的分配编辑ppt202.2.设备分配的流程设备分配的流程 对于具有对于具有单通道单通道的系统,则当进程提出的系统,则当进

25、程提出I/OI/O请求后,系统请求后,系统进行设备分配的流程图如下图。进行设备分配的流程图如下图。3.3.设备分配程序的改进设备分配程序的改进 为了获得为了获得设备的独立性设备的独立性,进程应用,进程应用逻辑设备名逻辑设备名请求请求I/OI/O。这样,系统首先从系统设备表这样,系统首先从系统设备表SDTSDT中找出中找出第一个第一个该类设备的该类设备的设备控制表设备控制表DCTDCT。如忙,则查找。如忙,则查找第二个第二个该类设备的该类设备的DCTDCT,当,当所有该类设备所有该类设备都忙时都忙时,才把进程挂在该类设备的,才把进程挂在该类设备的等待等待队列队列中。中。 实际上,系统为了提高可靠

26、性和灵活性,通常采用实际上,系统为了提高可靠性和灵活性,通常采用多通多通路路的的I/OI/O系统结构。此时对多个控制器和通道的分配,必须系统结构。此时对多个控制器和通道的分配,必须查找所有的控制器查找所有的控制器和和通道通道,才能,才能决定是否将该进程挂起决定是否将该进程挂起。设备的分配设备的分配编辑ppt21进程P提出所需的I/O设备根据物理设备名,从SDTSDT中找出该设备的DCTDCT由DCTDCT的设备状态字段,检查该设备是否忙设备是否忙?将该进程的PCB插入到该设备的等待队列中检查本次设备分配是否安全?将此设备分配给该进程从其DCT中找出与该设备连接的控制器的COCTCOCT,检查该

27、控制器是否忙控制器是否忙?将该进程的PCB插入到该控制器的的等待队列中将该控制器分配给进程从COCT中找到与该控制器连接的通道的CHCTCHCT,检查该通道是否忙通道是否忙?将该进程的PCB插入到该通道的的等待队列中将该通道分配给进程至此,设备、控制器和通道三者都已分配成功启动I/O设备,进行具体的I/O操作不忙不忙不忙忙忙安全不安全忙单通道系统的单通道系统的设备分配流程设备分配流程编辑ppt221 1根据设备的固有属性而采取的策略根据设备的固有属性而采取的策略独占性独占性 独占性是指将一个设备分配给某进程后,便一直由它独占性是指将一个设备分配给某进程后,便一直由它独占,直至该进程完成或释放该

28、设备为止,系统才能将该独占,直至该进程完成或释放该设备为止,系统才能将该设备分配给其它进程使用。这种分配方式是对独占设备采设备分配给其它进程使用。这种分配方式是对独占设备采用的分配策略。它不仅往往造成设备利用率低,而且还会用的分配策略。它不仅往往造成设备利用率低,而且还会引起系统死锁。引起系统死锁。 针对独针对独占占设备,系统一般采用设备,系统一般采用静态分配方式静态分配方式。即在一。即在一个作业执行前,将它所需要使用的这类设备分配给它,当个作业执行前,将它所需要使用的这类设备分配给它,当作业结束撤离时,才将分配给它的独作业结束撤离时,才将分配给它的独占占设备收回。设备收回。设备分配时应考虑的

29、因素设备分配时应考虑的因素编辑ppt23共享性共享性 共享性是指将共享设备(磁盘)同时分配给多个进程使共享性是指将共享设备(磁盘)同时分配给多个进程使用。但是这些进程用。但是这些进程访问访问设备的先后次序需进行合理的调度。设备的先后次序需进行合理的调度。 对共享设备的分配一般采用对共享设备的分配一般采用动态分配动态分配这一方式这一方式 。 虚拟设备虚拟设备 是指通过高速的共享设备,把一台慢速的以独占方式工是指通过高速的共享设备,把一台慢速的以独占方式工作的物理设备改造成若干台虚拟的同类逻辑设备作的物理设备改造成若干台虚拟的同类逻辑设备. 需要引入需要引入SPOOLing技术。虚拟设备属于逻辑设

30、备。技术。虚拟设备属于逻辑设备。编辑ppt242 2设备分配算法(与进程的调度算法相似)设备分配算法(与进程的调度算法相似) 先来先服务先来先服务:当多个进程同时向某设备提出:当多个进程同时向某设备提出I/OI/O请求请求时,该算法就根据对该设备提出时,该算法就根据对该设备提出请求的先后次序请求的先后次序将这些进将这些进程排列成一个设备请求队列,程排列成一个设备请求队列,设备分配程序设备分配程序把设备首先分把设备首先分配给队首进程。配给队首进程。 优先级高者优先优先级高者优先:对优先权高的进程所提出的:对优先权高的进程所提出的I/OI/O请请求赋予高优先权,在形成设备队列时,将求赋予高优先权,

31、在形成设备队列时,将优先级高的进程优先级高的进程排在设备队列前面,排在设备队列前面,先得到分配先得到分配。而对于。而对于优先权相同的优先权相同的I/OI/O请求,则请求,则按先来先服务原则按先来先服务原则排队分配。排队分配。设备的分配设备的分配编辑ppt253 3设备分配中的安全性设备分配中的安全性安全分配方式安全分配方式 每当进程发出一个每当进程发出一个I/OI/O请求后,请求后,便进入阻塞状态便进入阻塞状态,直到其,直到其I/OI/O操作完成时才被唤醒。当它操作完成时才被唤醒。当它停止运行时停止运行时不保持任何设备不保持任何设备资源,资源,打破了打破了产生死锁一个必要条件产生死锁一个必要条

32、件“请求和保持请求和保持”,所以这种分配方式是安全的。但是这种分配算法所以这种分配方式是安全的。但是这种分配算法使得使得CPUCPU与与I/OI/O设备串行工作设备串行工作,设备的,设备的利用率比较低利用率比较低。设备的分配设备的分配编辑ppt26不安全分配方式不安全分配方式 进程发出一个进程发出一个I/OI/O请求后请求后仍可以继续运行仍可以继续运行,需要时还可以,需要时还可以发第二个发第二个I/OI/O请求、第三个请求、第三个I/OI/O请求。只有当进程请求。只有当进程所请求的设所请求的设备已被另一个进程占用时备已被另一个进程占用时,进程才,进程才进入阻塞状态进入阻塞状态。这种分配。这种分

33、配方式是不安全,因为它方式是不安全,因为它可能具备可能具备“请求和保持请求和保持”条件条件,从而,从而可能造成系统死锁。可能造成系统死锁。 当一个进程当一个进程P1P1发出第一个发出第一个I/OI/O请求,占有了资源请求,占有了资源1 1后,再后,再继续向前推进时,又要申请资源继续向前推进时,又要申请资源2 2;此时,进程;此时,进程P2P2却占有了却占有了资源资源2 2,在继续向前推进时,又要申请资源,在继续向前推进时,又要申请资源1 1,从而造成系统,从而造成系统死锁。所以,在死锁。所以,在设备分配程序设备分配程序中应该中应该增加安全性检查增加安全性检查的功能。的功能。设备的分配设备的分配

34、编辑ppt27设备的相对号和绝对号设备的相对号和绝对号 计算机系统中配置了各种不同类型的外围设备,每一类型外围设备可以有若干台。为了对设备进行管理,系统为每一台设备确定一个编号,用于区分和识别设备,称为绝对号。 在多道程序设计系统中, 用户无法知道当前计算机系统中设备的使用情况,因此,一般用户不直接使用设备的绝对号,直接向系统说明所要使用的设备类型。由系统根据该类设备的分配情况决定使用哪一台设备。为了避免使用时产生混乱,用户可以在程序中对自己要求使用的若干台同类型设备给出编号,称为设备的相对号。 用户总是用“设备类、相对号”向系统提出作用设备的要求,而系统为用户分配一个绝对号设备供用户使用。编

35、辑ppt28 为了提高为了提高OSOS的的可适应性可适应性和和可扩展性可扩展性,目前几乎所有的,目前几乎所有的OSOS都实现了都实现了设备的独立性设备的独立性(也称为设备无关性也称为设备无关性)。)。 其其基本思想基本思想是:用户程序不直接使用物理设备名(或是:用户程序不直接使用物理设备名(或设备的物理地址),而只能设备的物理地址),而只能使用逻辑设备名使用逻辑设备名;而系统在;而系统在实实际执行时际执行时,将逻辑设备名,将逻辑设备名转换为转换为某个某个具体的物理设备名具体的物理设备名,实施实施I/OI/O操作。操作。设备独立性(设备独立性(Device IndependenceDevice

36、Independence)编辑ppt29设备独立性带来以下两方面的好处:设备独立性带来以下两方面的好处:设备分配时的灵活性设备分配时的灵活性:当进程以逻辑设备名:当进程以逻辑设备名请求某类请求某类设备设备时,如果一台设备已经时,如果一台设备已经分配给分配给其它进程或正在检修,其它进程或正在检修,此时系统可以将其它几台相同的空闲设备中的此时系统可以将其它几台相同的空闲设备中的任一台任一台分分配给该进程,只有当配给该进程,只有当此类设备全部被分配完时此类设备全部被分配完时,进程才,进程才会被阻塞。会被阻塞。设备分配适应性强设备分配适应性强, ,易于实现易于实现I/OI/O重定向:重定向:所谓重定向所谓重定向是指用于是指用于I/OI/O操作的操作的设备设备可以更换,而不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论