第四章进程管理下一页A1.在非剥夺调度方式下,运行进程执行V原语后,其状态(?)。A.不变B.要变C.可能要变D.可能不变?B2.两个进程争夺同一个资源(?)。A.一定死锁B.不一定死锁C.不死锁D.以上说法都不对?A3.可以被多个进程在任一时刻共享的代码必须是(?)。A.不能自身修改的代码B.顺序代码C.无转移指令的代码D.汇编语言编制的代码?C4.当对信号量进行V原语操作之后(?)。A.当S0,进程继续执行B.当S0,要唤醒一个就绪进程C.当S=0,要唤醒一个等待进程D.当S=0,要唤醒一个就绪进程?A5.在下列叙述中,错误的一条是(?)。A.进程被撤销时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志B.进程的互斥合同步都能用P/V原语实现C.用户程序中执行系统调用命令时,处理机的状态字将发生改变D.设备独立性是指用户在编程时,程序中所使用的设备与实际设备无关?A6.正在运行的进程在信号量S上操作P操作之后,当S0,进程将进入信号量的(?)。A.等待队列B.提交队列C.后备队列D.就绪队列?C7.如果发现系统有(?)的进程队列就说明系统有可能发生死锁了。A.互斥B.可剥夺C.循环等待D.同步?B8.某个信号量S初值为3,当前值为-2,则等待在该信号量上的进程数为(?)个。A.1B.2C.3D.4?C9.预先静态分配算法是通过破坏(?)条件,来达到预防死锁的目的。A.互斥使用资源/循环使用资源B.非抢占式分配/互斥使用资源C.占有且等待资源/循环等待资源D.循环等待资源/互斥使用资源?10.设系统中有N(N2)个进程,则系统中最不可能的是有(?)个进程处于死锁状态。A.0B.1C.2D.M(2M=N)下一页返回第四章进程管理上一页下一页C1.(?)是作业存在的惟一标志。A.作业名B.进程控制块C.作业控制块D.程序名?B2.作业调度算法的选择常考虑因素之一是使系统有最高的吞吐率,为此应(?)。A.不让处理机空闲B.能够处理尽可能多的作业C.使各类用户都满意D.不使系统过于复杂?C3.用户使用操作系统通常有三种手段,它们是终端命令、系统调用命令和(?)。A.计算机高级指令B.宏命令C.作业控制语言D.汇编语言?C4.在分时操作系统环境下运行的作业通常称为(?)。A.后台作业B.长作业C.终端型作业D.批量型作业?B5.当作业进入完成状态,操作系统(?)。A.将删除该作业并收回其所占资源,同时输出结果B.将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果C.将收回该作业所占资源并输出结果D.将输出结果并删除内存中的作业?D6.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是(?)。A.先来先服务B.优先数C.最高响应比优先D.短作业优先?A7.既考虑作业等待时间,又考虑作业执行时间的调度算法是(?)A.响应比高者优先B.短作业优先C.优先级调度D.先来先服务?D8.作业调度程序从处于(?)状态的队列中选取适当的作业投入运行。A.运行B.提交C.完成D.后备?A9.(?)是指从作业提交给系统到作业完成的时间间隔。A.周转时间B.响应时间C.等待时间D.运行时间?10.作业从进入后备队列到被调度程序选中的时间间隔称为(?)A.周转时间B.响应时间C.等待时间D.触发时间上一页下一页返回第四章进程管理1.什么是分级调度?分时系统中有作业调度的概念吗?如果没有,为什么?答:处理机调度问题实际上也是处理机的分配问题。显然只有那些参与竞争处理及所必需的资源都已得到满足的进程才能享有竞争处理机的资格。这时它们处于内存就绪状态。这些必需的资源包括内存、外设及有关数据结构等。从而,在进程有资格竞争处理机之前,作业调度程序必须先调用存储管理、外设管理程序,并按一定的选择顺序和策略从输入井中选择出几个处于后备状态的作业,为它们分配资源和创建进程,使它们获得竞争处理机的资格。另外,由于处于执行状态下的作业一般包括多个进程,而在单机系统中,每一时刻只能有一个进程占有处理机,这样,在外存中,除了处于后备状态的作业外,还存在处于就绪状态而等待得到内存的作业。我们需要有一定的方法和策略为这部分作业分配空间。因此处理机调度需要分级。一般来说,处理机调度可分为4级;(1)作业调度:又称宏观调度,或高级调度。(2)交换调度:又称中级调度。其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或等待状态或内存等待状态的进程交换到外存交换区。交换调度主要涉及到内存管理与扩充。因此在有些书本中也把它归入内存管理部分。(3)进程调度:又称微观调度或低级调度。其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。在确立了占用处理机的进程之后,系统必须进行进程上下文切换以建立与占用处理机进程相适应的执行环境。(4)线程调度:进程中相关堆栈和控制表等的调度。在分时系统中,一般不存在作业调度,而只有线程调度、进程调度和交换调度。这是因为在分时系统中,为了缩短响应时间,作业不是建立在外存,而是直接建立在内存中。在分时系统中,一旦用户和系统的交互开始,用户马上要进行控制。因此,分时系统中没有作业提交状态和后备状态。分时系统的输入信息经过终端缓冲区为系统直接接收,或立即处理,或经交换调度暂存外存中。2.试述作业调度的主要功能。答:作业调度的主要功能是:按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应进程,使该作业的相关进程获得竞争处理机的权利。另外,当作业执行完毕时,还负责回收系统资源。3.作业调度的性能评价标准有哪些?这些性能评价标准在任何情况下都能反映调度策略的优劣吗?答:对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统来说,平均响应时间又被用来衡量调度策略的优劣。对于分时系统,除了要保证系统吞吐量大、资源利用率高之外,还应保证用户能够容忍的响应时间。因此,在分时系统中,仅仅用周转时间或带权周转时间来衡量调度性能是不够的。对于实时系统,衡量调度算法优劣的主要标志则是满足用户要求的时限时间。4.进程调度的功能有哪些?答:进程调度的功能有:(1)记录和保存系统中所有进程的执行情况;(2)选择占有处理机的进程;(3)进行进程上下文切换。5.进程调度的时机有哪几种?答:进程调度的时机有:(1)正在执行的进程执行完毕。这时如果不选择新的就绪进程执行,将浪费处理机资源。(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。(3)执行中进程调用了P原语操作,从而因资源不足而被阻塞:或调用了V原语操作激活了等待资源的进程队列。(4)执行中进程提出I/O请求后被阻塞。(5)在分时系统中时间片已经用完。(6)在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度选择一新的用户进程执行。(7)在CPU执行方式是可剥夺时,还有:就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。6.进程上下文切换由哪几部分组成?描述进程上下文切换过程。答:进程上下文切换由以下4个步骤组成;(1)决定是否作上下文切换以及是否允许作上下文切换。包括对进程调度原因的检查分析,以及当前执行进程的资格和CPU执行方式的检查等。在操作系统中,上下文切换程序并不是每时每刻都在检查和分析是否可作上下文切换,它们设置有适当的时机。(2)保存当前执行进程的上下文。这里所说的当前执行进程,实际上是指调用上下文切换程序之前的执行进程。如果上下文切换不是被那个当前执行进程所调用,且不属于该进程,则所保存的上下文应是先前执行进程的上下文,或称为“老”进程上下文。显然,上下文切换程序不能破坏“老”进程的上下文结构。(3)使用进程调度算法,选择一处于就绪状态的进程。(4)恢复或装配所选进程的上下文,将CPU控制权交到所选进程手中。7.为什么说在进程上下文切换过程中,上下文切换程序不能破坏“老”进程的上下文结构?答:因为如果在进程上下文切换中破坏了老的进程上下文,等到CPU调度到该老进程执行时,就不能正确地恢复其停止执行前的状态了。8.假设有4道作业,它们的提交时间及执行时间由表E1.2给出。作业号提交时刻(时)执行时间(小时)110:002210:201310:400.5410:500.3计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。答:(1)先来先服务调度:顺序:1.Tsl:10:00Tel:12:00T1:2.00Twl:02.Ts2:10:20Te2:13:00T2:1.00Tw2:1.703.Ts3:10:40Te3:13:30T3:0.50Tw3:2.304.Ts4:10:50Te4:13:50T4:0.30Tw4:2.70T:0.25*(2+2.7+2,8+3);2.625hW:0.25*(4+0+1.7/1+2.3/0.5+2.7/0.3);4.825(2)最短作业优先调度:顺序:1.Ts4:10:50Te4:10:80T4:0.3Tw4:02.Ts3:10:40Te3:11:40T3:0.5Tw3:0.53.Ts2;10,20Te2:12:40T2:1Tw2:1.34.Tsl:10:00Tel:14:40T1:2Twl:2.7T:0.25*(0.3+1+2.3+4.7);2.075hW:0.25*(4+0+1+1.3+2.7/2);1.912510.什么是多处理机系统?并行处理系统、计算机网络、分布式系统和多处理机系统的操作系统之间有何区别?答:从广义上说使用多台处理机协调工作,来完成用户所要求任务的计算机系统都是多处理机系统。狭义的多处理机系统是利用系统内的多个CPU来并行执行用户的几个程序,以提高系统的吞吐量;或用来进行冗余操作,以提高系统的可靠性。11.什么是实时调度?它与非实时调度相比,有何区别?答:实时调度是为了完成实时处理任务而分配计算机处理器的调度方法。实时处理任务要求计算机在用户允许的时限范围内给出计算机响应信号。实时处理任务可分为硬实时任务(hardrea[—timetask)和软实时任务(softreal—timetask)。硬实时任务要求计算机系统必须在用户给定的时限内处理完毕,软实时任务允许计算机系统在用户给定的时限左右处理完毕。针对硬实时任务和软实时任务,计算机系统可以有不同的实时调度算法。这些算法采用基于优先级的抢先式调度策略,具体地说,大致有如下几类:(1)静态表驱动模式。该模式用于周期性实时调度,它在任务到达之前对各任务抢占处理机的时间进行分析,并根据分析结果进行调度。(2)静态优先级驱动的抢先式调度模式。该模式也进行静态分析。分析结果不是用于调度,只是用于给各任务指定优先级。系统根据各任务的优先级进行抢先式调度。(3)基于计划的动态模式。该模式在新任务到达后,将以前调度过的任务与新到达的任务一起统一计划,分配CPU时间。(4)动态尽力而为模式。该模式不进行任何关于资源利用率的分析,只检查各任务的时限是否能得到满足。代表性的实时调度算法有两种。即时限式调度法(deadlinescheduling)和频率单调调度法(ratemonotonicscheduling)。实时调度与非实时调度的主要区别是:(1)实时调度所调度的任务有完成时限,而非实时调度没有。从而,实时调度算法的正确与否不仅与算法的逻辑有关,也与调度算法调度的时限有关。(2)实时调度要求较快的进程或线程切换时间,而非实时调度的进程或线程的切换时间较长。(3)非实时调度强调资源利用率(批处理系统)或用户共享处理机(分时系统),实时调度则主要强调在规定时限范围内完成对相应设备的控制。(4)实时调度为抢先式调度,而非实时调度则很少采用抢先式调度。