当前位置:首页 > 处理器管理 练习题
10.进程控制块
11.就绪,运行 12.中断源
13.中断装置,操作系统 14.访管
15.中断响应
16.新、旧程序状态字 17.就绪
18.可抢占的优先级 19.时间片 20.就绪 21.等待
22.进程切换
23.出现的中断事件
四、问答题 l.[分析]现代计算机硬件具有中央处理器与外围设备并行工作的能力,各种外围设备之间也能并行工作。程序单道执行时不能充分发挥这种并行工作的能力,这是因为:(1)一道程序可能只需要使用其中的一部分设备,因而另一部分设备就被闲置而不工作;(2)处理器的执行速度远远高于外围设备的传输速度,所以处理器的实际工作时间较短,大部分时间里处理器也处于空闲状态。而多道程序设计却能利用这种并行工作能力。只要把使用不同外围设备的算题搭配在一起,同时装人主存储器。那么,系统中的各种设备就经常会处于忙碌状态。当一个算题启动了外围设备等待信息传送时,暂时不使用中央处理器,这时可让另一个算题去占用中央处理器运行;反之,有算题在使用中央处理器时,其它算题可以使用各种外围设备。因此,多道程序设计能减少处理器的空闲时间从而提高处理器的利用率;能使各种外围设备尽可能地处于忙碌状态从而提高资源的使用率;能使多道算题并行执行,从而增加单位时间内的算题量,提高了吞吐能力。
[题解]多道程序设计利用了硬件提供的处理器与外围设备以及外围设备之间的并行工作能力,使若干算题能同时分别使用处理器和各种外围设备,因而减少了处理器的空闲时间;提高了外围设备的利用率;增加了单位时间内的算题量。故多道程序设计使整个计算机系统的工作效率大
大提高。
2.[分析]从总体上说,采用多道程序设计技术能提高系统中资源的利用率和系统的吞吐能力。我们希望在主存储器中的各道算题在使用资源时不发生冲突,即希望它们在同一时刻使用系统中的不同资源,而对同一资源能在不同的时刻去使用,以保证系统的工作效率,这就要求操作系统把算题装人主存储器时进行合理的搭配。但是,由于用户向系统提交算题在时间上的随机性,多个算题要求使用同一资源的情况也经常会发生,使得上述理想状态的搭配有困难。于是,若干个同时被装人主存储器的算题可能相互制约。例如,一个算题正在使用处理器时,有可能另一个算题也完成了一批数据的输人而要占用处理器,由于单处理器的计算机系统中不能让两个算题在同一时刻都占用处理器,所以必须等占用者暂时不用处理器时,另一个算题才能使用空闲的处理器。又如,在系统只配置一台打印机的情况下,如果一个算题正在使用打印机时另一个算题也要使用打印机,那么也必须等待占用者归还打印机后,另一个算题才能去使用。 所以,若同时被装人主存储器的多个算题搭配不好就经常会发生竞争资源的现象,有竞争就会有等待,有等待就会影响系统效率。
[题解]多道程序设计不一定能提高系统效率。当多个使用不同外围设备的算题搭配在一起时,它们可以在同一时刻使用不同的资源,从而提高系统的效率。但当多个要求使用同一外围设备的算题搭配在一起时,它们就要相互竞争和等待,使得各个算题的执行时间被延长,这就降低了吞吐量,影响了系统的效率。
3.[题解]操作系统中引人进程的主要目的有两个:(1)提高资源的利用率。把一个计算问题中每个可独立执行的程序模块都定义为进程,这些进程分别使用不同的资源,它们的协调合作能提高资源的利用率。(2)正确描述程序的执行情况。当一个程序被多个用户调用时分别定义为多个进程,这些进程可独立执行,能分别反映该程序为不同用户服务时的活动规律和状态变化。
4.[题解]程序是静态的,是具有独立功能的一组指令(或语句)的集合,它可以多次执行、长期保存。
进程是动态的,是程序的一次执行过程,它具有生命周期,需要时被创建,完成工作后就将被撤消。
5.[题解]进程控制块是进程存在的标识,它能区分各个不同的进程且记录各个进程执行时的情况。
6.[分析]每个进程都有一个进程控制块作标识,其中记录了用于管理和控制进程的信息。这些信息不仅与本进程有关,而且涉及到其它进程(例如,队列指针),并随进程的执行和整个计算机系统的工作情况而发生变化,是操作系统对进程进行调度、控制和管理的依据。所以,为了保证整个计算机系统的安全可靠,任何进程都不应擅自访问和修改。
[题解]进程执行时,操作系统把不断变化的情况记录在进程控制块中,作为对进程进行调度。控制和管理的依据。为了保证系统安全,任何进程不能修改和访问自己的进程控制块的内容,所有的进程控制块都应由操作系统统一管理。
7.[分析]本题要求写出发生状态变化的具体原因。由于这是一个分时系统,所以,对于①的变化,显然是按时间片轮转调度算法从就绪队列中选择了队首进程占用处理器;对于②的变化,是由于一个正在运行的进程用完了一个规定的时间片而让出处理器,它排人就绪队列的队尾等待下一轮的运行;对于③的变化,是正在运行的进程成功地启动了外围设备且等待信息传输而进入等待I/O传输队列;对于④的变化,是某个被启动的外围设备在完成了信息的传输后工作结束,致使等待该外设传输信息的进程状态从等待态转换成就绪态。 [题解]
变化 变化原因
1 按时间片轮转调度算法被选中 2 用完了规定的时间片
3 启动了外设且等待外设传输信息
4 被启动的外设完成了信息传输
8.[分析]时间片取值的大小关系到计算机系统的效率,按题中的方式来分配时间片有利于提高系统效率。如果一个进程经常启动外围设备,则它连续运行的时间相对较短,即使给它分配较长的时间片,也可能在时间片未用完之前就启动了外围设备而主动让出处理器,故只需分配较短的时间片。时间片短可提高轮转速度,使得这些进程有机会及时启动外围设备,
也有利于各种外围设备尽可能并行工作。对于那些很少启动外围设备的进程,它们要求连续运行的时间较长,若分配一个较长的时间片则可减少调度次数,既可加快进程执行速度,又可减少花费在调度上的开销。
[题解](1)有利于提高系统效率。主要表现在两个方面:第一,能使经常启动外围设备的进程有机会及时启动外围设备,使各种外围设备尽可能地并行工作;第二,能使需较长时间运行的进程得到较多的使用处理器的时间,既可加快进程执行速度,又可减少进程调度的次数。
(2)应先从时间片较短的进程就绪队列中去选取一个进程占用CPU。因为这些进程经常要启动外围设备,当它占用CPU后一旦启动了外围设备就会主动让出CPU,这时其它进程就可占用CPU,于是就可使CPU与各种外围设备尽量并行工作。当时间片短的进程就绪队列为空时则从时间片较长的进程就绪队列中去选取进程占有CPU,使得进程都有机会占用CPU。
9.[题解]操作系统设计一个“进程调度程序”来负责处理器的分配工作,进程调度程序按调度算法每次从就绪队列中选取一个就绪进程占用处理器。当运行进程由于自身或外界原因让出处理器时,进程调度程序又会从就绪队列中选择一个进程占用处理器。所以,多个进程都会有机会占用处理器的。
由于处理器总是按各种寄存器(例如,通用寄存器、控制寄存器、程序状态字寄存器等)的内容来控制程序执行,所以,只要把被选中进程的进程控制块中的现场信息送人处理器的相应寄存器中,那么处理器就能按该进程的要求控制其正确执行。当进程让出处理器时则各寄存器中与该进
程有关的内容都作为现场信息被保存到它的进程控制块中,当能再次占用处理器时就可把保存好的现场信息恢复到各个寄存器中,使进程继续执行。因而,通过保护现场信息和恢复现场信息能使每个进程都正确地执行。
10.[分析]当有中断事件发生时,当前运行的进程被中断,中断响应后操作系统对出现的中断事件进行处理,中断处理后某些进程的状态会发生变化,也可能创建一些新的进程或一个进程完成了工作而被撤消。随着进程的创建、撤消和状态的变化,就要对进程队列进行调整。这时,就要由进程调度程序根据预定的调度算法从就绪队列中选取一个进程占用处理器。 [题解]每当对出现的中断事件进行处理后就会引起进程状态的变化,然后就要让进程调度程序来决定当前可以占用处理器的进程。
11.[题解]进程在执行过程中,由于自身或外界的原因状态会发生变化,当进程状态发生变化时就要调整队列,让进程从原队列退出,再加人到新队列中。
12.[分析]当处理器空闲时只要就绪队列中有进程,则进程调度就要按照预定的算法从就绪队列中选择可运行的进程。先来先服务算法是按照进程进人就绪队列的先后次序来选择可占用处理器运行的进程。所以,题中的5个进程将依次占用处理器运行。根据它们所需的处理器时间可计
算出它们在就绪队列中的等待时间,按题中假定忽略进行调度所花时间,则第一个进程应立即被选中,它在就绪队列中的等待时间为0;第二个进程要等第一个进程执行结束后才可占用处理器,因而要在就绪队列中等待 10ms;于是,进程 P3、P4、P5 的等待时间分别为:(10+1)ms、(10+1+2)ms、(10+1+2+1)ms。它们的平均等待时间为: (0+10+11+13+14)/5=48/5=9.6(ms) 如果采用优先级调度算法,必须按优先级由高到低的顺序来选择可运行进程,对有相同优先级的进程再按先后顺序选择。题中给定的算法是“非抢占式的优先级”调度算法,所以若5个进程同时依次进人就绪队列时,第一个进程进人就绪队列后仍会被立即选中,在随后进人的进程中虽然P4的优先级高于正在运行的P1的优先级,但它不能抢占处理器,必须等P1
结束后才可占用处理器,因而P4应在就绪队列中等待10ms后才被选中运行。显然,采用非抢占式的优先级调度算法选中进程的次序为:P1、P4、P3、P5、P2,它们在就绪队列中的等待时间分别为:0、10、11、13、18,故平均等待时间为: (0+10+11+13+18)/5=52/5=10.4(ms) [题解](1)选中进程运行的次序如下: 先来先服务算法:P1、P2、P3、P4、P5
非抢占式的优先级算法:P1、P4、P3、P5、P2
(2)进程在就绪队列中的平均等待时间为: 先来先服务算法:(0+10+11+13+14)/5=9.6(ms) 非抢占式的优先级算法:(0+10+11+13+18)/5=10.4(ms)
13.[分析]进程调度采用可抢占的最高优先级调度算法是指:当有比正占用处理器运行的进程优先数更高的进程就绪时,则应让该就绪进程抢占处理器优先运行。根据三个进程对资源的使用要求,进程P1、P2、P3可同时开始工作,它们分别先使用资源IO2,IO1和CPU。但由于进程P2的优先级高于进程P3,故在进程P2花20ms使用了IO1 后可抢占进程P3正在使用的CPU。当进程P2占用了 CPU工作 10ms后又被优先级高于它的进程 P1抢占 CPU,直到进程 P1占用 CPU完成了10ms的处理后才让进程P2继续使用CPU。当进程P2完成处理后进程P3能再占用CPU去完成处理工作。按三个进程对资源的使用要求和采用的进程调度算法,可把它们的工作列表如下:
必须注意:CPU是可以抢占的,但为保证信息的安全,输入输出设备是不能抢占使用的。所以,进程P1在第二次占用CPU进行处理之后欲使用IO2时不能抢占进程P2正在使用IO2的权力,必须等待进程P2使用IO2结束后才能去使用。
由上面的分析可见,花费100ms的时间使三个进程能完成所有的工作,其中CPU的工作时间为 70ms,IO1的工作时间也为 70ms,故 CPU和IO1的利用率均为70%。 [题解](1)先列出进程P1、P2、P3的工作时间表:
故进程P1从开始到完成所用的时间为100ms; 进程P2从开始到完成所用的时间为90ms;
进程P3从开始到完成所用的时间为90ms。
(2)三个进程从开始到全部完成总共需100ms的时间,其中CPU和IO1的工作时间均为70ms,故它们的利用率都是70%。
共分享92篇相关文档