1、计算机专业基础综合(操作系统)模拟试卷 4及答案解析(总分:68.00,做题时间:90 分钟)一、单项选择题(总题数:22,分数:44.00)1.单项选择题 1-40小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_2.下列选项中,操作系统提供给应用程序使用的接口是( )。(分数:2.00)A.系统调用B.中断C.库函数D.原语3.下列进程调度算法中,综合考虑了进程等待时间和执行时间的是( )。(分数:2.00)A.时间片轮转调度算法B.最短进程优先调度算法C.先来先服务调度算法D.高响应比优先调度算法4.单处理机系统中,可并行的是( )。I进程与进程 处理机
2、与设备 处理机与通道 设备与设备(分数:2.00)A.I、和B.I、和C.I、和D.、和5.如果有一个进程从运行状态变成等待状态,或完成工作后就撤销,则必定会发生( )。(分数:2.00)A.进程切换B.存储器再分配C.时间片轮转D.死锁6.在时间片轮转算法中,( )的大小对计算机性能有很大影响。(分数:2.00)A.对换区B.分页C.时间片D.程序段7.在操作系统中,资源分配、调度和管理的最小单位是( )。(分数:2.00)A.进程B.线程C.作业D.程序段8.正在运行的进程,因某种原因而暂时停止运行,等待某个事件的发生,此时处于( )状态。(分数:2.00)A.运行B.完成C.就绪D.阻塞
3、9.进程从运行状态转换为就绪状态的可能原因是( )。(分数:2.00)A.被调度程序选中占用处理机B.等待某一事件C.等待的事件已经发生D.时间片用完10.设 m为同类资源数,n 为系统中并发进程数。当 n个进程共享 m个互斥资源时,每个进程的最大需求是 ,则下列情况中会出现系统死锁的是( )。(分数:2.00)A.m=2,n=1,=2B.m=2,n=2,=1C.m=4,n=3,=2D.m=4,n=2,=311.在操作系统中引入并发可以提高系统效率。若有三个进程 P1、P2 和 P3,按照 P1,P2 到 P3的优先次序运行,采用可抢占式调度,其运行过程如下: P1:计算 6 ms,IO 8
4、ms,计算 2 ms P2:计算 12 ms,IO 6 ms,计算 2 ms P3:计算 4 ms,IO 8 ms,计算 4 ms不计系统开销,相比单通道顺序运行,多道并发可以节省的时间和 CPU利用率分别是( )。(分数:2.00)A.14 ms;79B.16 ms;83C.12 ms;75D.22 ms:10012.系统产生死锁的可能原因是( )。(分数:2.00)A.共享资源分配不当B.系统资源不足C.进程运行太快D.CPU内核太多13.若有一进程拥有 100个线程,这些线程都属于用户级线程,则在系统调度执行时间上占用的时间片是( )。(分数:2.00)A.1B.100C.1100D.0
5、14.有五个进程共享一个互斥段,如果最多允许两个进程同时进入互斥段,则所采用的互斥信号量初值应该是( )。(分数:2.00)A.5B.2C.1D.O15.2个优先级相同的并发进程 P1和 P2,它们的执行过程如下所示,假设当前信号量 s1=0,s2=0,当前的 z=2,进程运行结束后,x、y 和 z的值分别为( )。 进程 P1 进程 P2 y:=l; x:=l; y:=y+2; x:x+l; z:=y+1; P(s1): V(s1); x:=x+y; P(s2); z:=x+z; y:=z+y; V(s2);(分数:2.00)A.5,9,9B.5,9,4C.5,12,9D.5,12,416.
6、设有 3个作业,其运行时间分别为 2 h、5 h、3 h,假定它们同时到达,并在同一台处理机上以单道运行方式运行,则平均周转时间最小的执行顺序是( )。(分数:2.00)A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J217.关于临界区问题(critical section problem)有如下算法(假设只有进程 P0和 P1可能进入该临界区),算法如下(i 为 0或 1),该算法( )。 repeat retry:if(turn#一 1)turn:=i: if(turn#i)go to retry; turn:=一 1: critical section(临界
7、区) turn=0; remainder section(其他区域) until false;(分数:2.00)A.不能保证进程互斥进入临界区,且会出现“饥饿”B.不能保证进程互斥进入临界区,但不会出现“饥饿”C.保证进程互斥进入临界区,但会出现“饥饿”D.保证进程互斥进入临界区,不会出现“饥饿”18.下列死锁的论述中,正确的是( )。(分数:2.00)A.由于产生死锁的基本原因是系统资源不足,因而,预防死锁最常用的方法是根据系统规模,配置足够的系统资源B.由于产生死锁的另一个基本原因是进程推进顺序不当,因而,预防死锁的常用方法是使进程的推进顺序合法C.只要系统不进入不安全状态,便不会产生死锁
8、,因而,预防死锁的常用方法是防止系统进入不安全状态D.可以通过破坏产生死锁的四个必要条件之一或其中几个的方法来预防发生死锁19.下列关于进程的叙述中,最不符合操作系统对进程的理解的是( )。(分数:2.00)A.进程是在多程序并行环境中的完整的程序B.进程可以由程序、数据和进程控制块描述C.线程是一种特殊的进程D.进程是程序在一个数据集合上运行的过程,是系统进行资源管理的一个独立单位20.下列进程调度算法中,综合考虑了 CPU密集型进程和 IO 密集型进程的是( )。(分数:2.00)A.时间轮转B.优先级C.多重队列D.FIFO21.进程 P1、P2 和 P3单独执行时间分别为 10 min
9、、15 min 和 20 min,其中处理机占用时间分别为 2 min、3min 和 12 min。如果采用多道程序设计技术使其并发,并假设处理机的利用率可以达到 60,加上系统开销 5 min,则并发使得计算机系统的效率提高了( )。(分数:2.00)A.63B.38C.74D.2622.进程创建的时候,不需要做的是( )。(分数:2.00)A.填写一个该进程的进程表项B.分配该进程适当的内存C.将该进程插入就绪队列D.为该进程分配 CPU二、综合应用题(总题数:12,分数:24.00)23.综合应用题 41-47小题。(分数:2.00)_24.某系统有 R1、R2 和 R3三种资源,在 T
10、 0 时刻 P1、P2、P3 和 P4四个进程对资源的占用和需求情况如下表所示,此时系统的可用资源向量为(2,1,2)。 (分数:2.00)_25.系统有 5个进程,其就绪时刻(指在该时刻已进入就绪队列)、服务时间如下表所示。分别计算采用先来先服务、短作业优先、高响应比优先的平均周转时间和带权周转时间。 (分数:2.00)_26.有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有 100个座位。试分别用信号量和 P、V 操作以及管程来实现用户进程的同步算法。(分数:2.00)_27.设有 n个进程共享一个互斥段,
11、如果:(1)每次只允许一个进程进入互斥段;(2)每次最多允许 m个进程(mn)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?(分数:2.00)_28.设某系统采用可抢占的优先级进程调度算法,系统在某一段时间内有 A、B、C 三个进程,进程 C优先级最高,进程 A优先级最低,进程 B优先级介于进程 A、C 之间,它们的就绪时刻、计算与 IO 所需时间如下表所示: (分数:2.00)_29.某系统中进程有如下的状态变化图: 请回答下列问题:(1)该系统采用了怎样的进程调度算法?说明理由。(2)把图中发生的状态变化原因填入下表中。 (分数:2.00)_30.中断分为哪几种
12、类型?请给出各自的含义。(分数:2.00)_31.引起进程切换的时机有哪些?(分数:2.00)_32.时间片轮转调度算法中,时间片值的选取对系统有什么影响?(分数:2.00)_33.什么是抢占式优先级调度和非抢占式优先级调度?(分数:2.00)_34.设有三个进程 A、B、C,进程 A和进程 B各需要运行 3 ms的处理器时间,而进程 C却要 24 ms的处理器时间,分别考虑当三个进程到达顺序为 A,B,C 时及 C,B,A 时,用先来先服务进行调度时各自的平均等待时间。(分数:2.00)_计算机专业基础综合(操作系统)模拟试卷 4答案解析(总分:68.00,做题时间:90 分钟)一、单项选择
13、题(总题数:22,分数:44.00)1.单项选择题 1-40小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_解析:2.下列选项中,操作系统提供给应用程序使用的接口是( )。(分数:2.00)A.系统调用 B.中断C.库函数D.原语解析:解析:在现代操作系统中,操作系统提供了包括系统调用、命令接口、图形接口等方便用户使用系统资源的接口,在上述接口中,只有系统调用是提供给程序使用的。3.下列进程调度算法中,综合考虑了进程等待时间和执行时间的是( )。(分数:2.00)A.时间片轮转调度算法B.最短进程优先调度算法C.先来先服务调度算法D.高响应比优先调度算法 解
14、析:解析:在若干进程调度算法中,时间片轮转调度算法考虑的是时间分配上的均衡,最短进程优先调度算法主要考虑的是短作业的等待时间,先来先服务调度算法考虑的是到达顺序的合理性,而只有高响应比优先调度算法做到了综合考虑进程等待时间和执行时间。4.单处理机系统中,可并行的是( )。I进程与进程 处理机与设备 处理机与通道 设备与设备(分数:2.00)A.I、和B.I、和C.I、和D.、和 解析:解析:在单处理机系统中,仅有一个处理机,所以在一个特定的时刻只能有一个进程能够获得处理机的使用权,因而排除选项 A、B 和 C,只有选项 D是合理的答案。5.如果有一个进程从运行状态变成等待状态,或完成工作后就撤
15、销,则必定会发生( )。(分数:2.00)A.进程切换 B.存储器再分配C.时间片轮转D.死锁解析:解析:此题主要考查进程切换的相关内容。进程调度将从就绪队列中另选一个进程占用处理机。使个进程让出处理要,由另一个进程占用处理机的过程称为进程切换。若有一个进程从运行状态变成等待状态,或者进程完成工作后被撤销,则必定会发生进程切换;若一个进程从等待状态变成就绪状态,则不一定会发生进程切换。6.在时间片轮转算法中,( )的大小对计算机性能有很大影响。(分数:2.00)A.对换区B.分页C.时间片 D.程序段解析:解析:此题主要考查在时间片轮转算法中时间片大小对于系统性能的重要性。在时间片轮转算法中,
16、时间片的大小对计算机性能有很大影响。如果时间片划分不当,则系统不能提供令用户满意的响应时间。时间片的大小应选择得适当,通常要考虑以下几个因素: (1)系统对响应时间的要求: (2)就绪队列中进程的数目: (3)系统的处理能力。7.在操作系统中,资源分配、调度和管理的最小单位是( )。(分数:2.00)A.进程 B.线程C.作业D.程序段解析:解析:此题主要考查进程调度的基本概念等相关内容。进程的引入可以更好地描述系统中的并发活动。它被定义为一个具有独立功能的程序关于某个数据集合的一次运行活动。在操作系统中,进程是进行系统资源分配、调度和管理的最小独立单位,操作系统的各种活动都与进程有关。8.正
17、在运行的进程,因某种原因而暂时停止运行,等待某个事件的发生,此时处于( )状态。(分数:2.00)A.运行B.完成C.就绪D.阻塞 解析:解析:此题主要考查进程的基本状态及其转换等相关内容。在操作系统中,进程的三种基本状态之一的阻塞状态是指正在运行的进程,因某种原因而暂停运行(如发生了 IO 请求等),等待某个事件的发生,导致进程不能继续运行且交出处理机时的状态。9.进程从运行状态转换为就绪状态的可能原因是( )。(分数:2.00)A.被调度程序选中占用处理机B.等待某一事件C.等待的事件已经发生D.时间片用完 解析:解析:就绪状态是指一个进程获得了除处理机以外的一切资源,当得到调度时,就由就
18、绪状态转换为运行状态;运行状态就是一个进程在处理机上正在运行。当处于运行状态的进程在运行过程中所分配的时间片用完,则会被强制撤离处理机,以便调度其他进程运行。由于原先运行的进程是非自愿地离开运行状态,所以没有其他的事件相关,只有继续在就绪队列中等候下一次的调度,所以选项 D是正确的。选项A的情形是由就绪状态转换为运行状态;选项 B的情形是由运行状态转换为阻塞状态;选项 C的情形是由阻塞状态转换为就绪状态。10.设 m为同类资源数,n 为系统中并发进程数。当 n个进程共享 m个互斥资源时,每个进程的最大需求是 ,则下列情况中会出现系统死锁的是( )。(分数:2.00)A.m=2,n=1,=2B.
19、m=2,n=2,=1C.m=4,n=3,=2D.m=4,n=2,=3 解析:解析:本题考查死锁的检测。选项 A不会发生死锁,只有一个进程时不会发生死锁。选项 B不会发生死锁,两个进程各需要一个资源,而系统中恰好有 2个资源。选项 C不会发生死锁,3 个进程需要的最多资源数都是 2,系统总资源数是 4,所以总会有一个进程得到 2个资源,运行完毕后释放资源。选项 D可能会发生死锁,当 2个进程各自都占有了 2个资源后,系统再无可分配资源。由此可得出结论:当满足mn( 一 1)+1时,不会产生死锁。11.在操作系统中引入并发可以提高系统效率。若有三个进程 P1、P2 和 P3,按照 P1,P2 到
20、P3的优先次序运行,采用可抢占式调度,其运行过程如下: P1:计算 6 ms,IO 8 ms,计算 2 ms P2:计算 12 ms,IO 6 ms,计算 2 ms P3:计算 4 ms,IO 8 ms,计算 4 ms不计系统开销,相比单通道顺序运行,多道并发可以节省的时间和 CPU利用率分别是( )。(分数:2.00)A.14 ms;79 B.16 ms;83C.12 ms;75D.22 ms:100解析:解析:本题考查多道程序运行的工作方式,解决此类问题的关键一般是根据进程的优先级和时序关系画出时序图,注意 IO 设备不能抢夺,CPU 可以根据优先级来抢夺。 根据题意,进程运行时序图如下:
21、12.系统产生死锁的可能原因是( )。(分数:2.00)A.共享资源分配不当 B.系统资源不足C.进程运行太快D.CPU内核太多解析:解析:系统死锁的可能原因主要是时间上和空间上的。时间上由于进程运行中推进顺序不当,即调度时机不合适,不该切换进程时进行了切换,可能会造成死锁。空间上的原因是对共享资源分配不当,互斥资源部分分配又不可剥夺,极易造成死锁。那么,为什么系统资源不足不是造成死锁的原因呢?系统资源不足只会对进程造成“饥饿”,例如,某系统只有 3台打印机,若进程运行中要申请 4台,显然不能满足,该进程会永远等待下去。如果该进程在创建时便声明需要 4台打印机,那么操作系统立即就会拒绝,不会创
22、建该进程。 一般地,系统由于部分分配的剩余资源不足时,可能会造成死锁,这实际上是资源分配不当的一种表现。不能以系统资源不足来描述剩余资源不足的情形。13.若有一进程拥有 100个线程,这些线程都属于用户级线程,则在系统调度执行时间上占用的时间片是( )。(分数:2.00)A.1 B.100C.1100D.0解析:解析:本题主要考查关于进程和线程之间资源共享的知识点。 在引入线程的操作系统中,线程是进程中的一个实体,是系统独立调度和分派的基本单位。但是线程自己基本上不拥有系统资源,所以它不是资源分配的基本单位,它只拥有一部分在运行中必不可少的与处理机相关的资源,如线程状态、寄存器上下文和栈等,它
23、同样有就绪、阻塞和执行三种基本状态。它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。 由于用户线程不依赖于操作系统内核,因此,操作系统内核是不知道用户线程的存在的,用户线程是由用户来管理和调度的,用户利用线程库提供的 API来创建、同步、调度和管理线程。所以,用户线程的调度在用户程序内部进行,通常采用非抢占式和更简单的规则,也无须用户态和核心态切换,所以速度很快。由于操作系统不知道用户线程的存在,所以,操作系统把 CPu的一时间片分配给用户进程,再由用户进程的管理器将时间分配给用户线程。那么,用户进程能得到的时间片
24、即为所有用户线程共享。因此,正确答案应为 A。14.有五个进程共享一个互斥段,如果最多允许两个进程同时进入互斥段,则所采用的互斥信号量初值应该是( )。(分数:2.00)A.5B.2 C.1D.O解析:解析:。因为最多允许两个进程同时进入互斥段,所以信号量为 2。如果一个互斥段可以同时允许两个进程进入,则相当于有两个互斥段。15.2个优先级相同的并发进程 P1和 P2,它们的执行过程如下所示,假设当前信号量 s1=0,s2=0,当前的 z=2,进程运行结束后,x、y 和 z的值分别为( )。 进程 P1 进程 P2 y:=l; x:=l; y:=y+2; x:x+l; z:=y+1; P(s1
25、): V(s1); x:=x+y; P(s2); z:=x+z; y:=z+y; V(s2);(分数:2.00)A.5,9,9B.5,9,4C.5,12,9 D.5,12,4解析:解析:本题考查并发进程的特点,并结合信号量进行同步的原理。由于进程并发,所以进程的执行具有不确定性,在 P1、P2 执行到第一个 P、V 操作前,应该是相互无关的。 现在考虑第一个对 1的 P、V操作,由于进程 P2是 P(s1)操作,所以,它必须等待 P1执行完 V(s1)操作以后才可继续运行,此时x、y、z 的值分别为 3、3、4,当进程 P1执行完 V(s1)以后便在 P(s2)上阻塞,此时 P2可以运行直到V
26、(s2),此时 x、y、z 值分别为 5、3、9,进程 P1继续运行直到结束,最终的 x、y、z 值分别为5、12、9。16.设有 3个作业,其运行时间分别为 2 h、5 h、3 h,假定它们同时到达,并在同一台处理机上以单道运行方式运行,则平均周转时间最小的执行顺序是( )。(分数:2.00)A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J2 解析:解析:本题考查平均周转时间的概念,周转时间=等待时间+运行时间,平均周转时间=总周转时间n。 在本题中,选项 A的顺序 J1,J2,J3 的平均周转时间是(2+7+10)3=193=63(小时); 选项 B的顺序 J
27、3,J2,J1 的平均周转时间是(3+8+10)3=213=7(小时); 选项 C的顺序 J2,J1,J3 的平均周转时间是(5+7+10)3=223=73(小时); 选项 D的顺序 J1,J3,J2 的平均周转时间是(2+5+10)3=173=57(小时)。 因此,答案为 D。17.关于临界区问题(critical section problem)有如下算法(假设只有进程 P0和 P1可能进入该临界区),算法如下(i 为 0或 1),该算法( )。 repeat retry:if(turn#一 1)turn:=i: if(turn#i)go to retry; turn:=一 1: crit
28、ical section(临界区) turn=0; remainder section(其他区域) until false;(分数:2.00)A.不能保证进程互斥进入临界区,且会出现“饥饿” B.不能保证进程互斥进入临界区,但不会出现“饥饿”C.保证进程互斥进入临界区,但会出现“饥饿”D.保证进程互斥进入临界区,不会出现“饥饿”解析:解析:例如当 P0执行完语句 turn:=一 1,刚好要进入临界区时,CPU 又调度 P1执行,P1 能够顺利进入临界区,不能满足互斥。当 P0执行完临界区时,CPU 调度 P1执行,P1 在 retry循环,CPU 调度 P0执行,P0 继续执行,重复以上过程,
29、会导致 P1“饥饿”。18.下列死锁的论述中,正确的是( )。(分数:2.00)A.由于产生死锁的基本原因是系统资源不足,因而,预防死锁最常用的方法是根据系统规模,配置足够的系统资源B.由于产生死锁的另一个基本原因是进程推进顺序不当,因而,预防死锁的常用方法是使进程的推进顺序合法C.只要系统不进入不安全状态,便不会产生死锁,因而,预防死锁的常用方法是防止系统进入不安全状态D.可以通过破坏产生死锁的四个必要条件之一或其中几个的方法来预防发生死锁 解析:解析:选项 A,不可能根据系统的规模,配置足够的系统资源,因为系统的资源是有限的。 选项B,这种方法不能保证死锁不发生,而且进程推进过程很复杂,实
30、现合理的顺序不太可能。 选项 C,系统进入不安全状态不一定会产生死锁,防止系统进入不安全状态不太可能,故不是常用的方法。19.下列关于进程的叙述中,最不符合操作系统对进程的理解的是( )。(分数:2.00)A.进程是在多程序并行环境中的完整的程序 B.进程可以由程序、数据和进程控制块描述C.线程是一种特殊的进程D.进程是程序在一个数据集合上运行的过程,是系统进行资源管理的一个独立单位解析:解析:A 的说法不够全面。20.下列进程调度算法中,综合考虑了 CPU密集型进程和 IO 密集型进程的是( )。(分数:2.00)A.时间轮转B.优先级C.多重队列 D.FIFO解析:解析:多重队列通过将进程
31、分类,在系统中设置若干队列进行进程调度,综合考虑了 CPU密集型进程和 IO 密集型进程。21.进程 P1、P2 和 P3单独执行时间分别为 10 min、15 min 和 20 min,其中处理机占用时间分别为 2 min、3min 和 12 min。如果采用多道程序设计技术使其并发,并假设处理机的利用率可以达到 60,加上系统开销 5 min,则并发使得计算机系统的效率提高了( )。(分数:2.00)A.63B.38C.74D.26 解析:解析:本题考查并发的计算。由于本题并没有详细描述进程的执行过程,所以,计算是以总体效率来进行的。总体效率是指并发执行所花费的时间值与原时间值相比提高了多
32、少。依本题题意,可以计算出处理机所需时间为 2+3+12=17(min),按处理机 60的利用率,并发所需总时间为1760+5=3333(min),单道运行时所需要的总时间为 10+15+20=45(min),则系统效率提高了(453333)45=26。注意题意,并发时不要忘记系统开销 5 min。单道执行时由于较少需要进程切换,因此系统开销一般忽略不计。并发时系统要进行大量的进程切换,因此,系统开销有时会比较大,此时就应该纳入计算。22.进程创建的时候,不需要做的是( )。(分数:2.00)A.填写一个该进程的进程表项B.分配该进程适当的内存C.将该进程插入就绪队列D.为该进程分配 CPU
33、解析:解析:本题考查的是进程创建的过程。进程创建最主要的工作是为该进程申请并填写一张进程表。进程表内包含有多个与进程有关的数据结构,例如,进程号、进程组、进程的优先级、进程所分配的内存、进程需要的 IO 设备、进程要打开的文件等。当填写好了进程表以后,进程创建模块便将进程表按照该系统规定的法则插入到就绪队列的适当位置,等待进程调度模块进行下一步的调度。所以进程创建的过程中不会包含分配 CPU的过程,这不是进程创建的工作,而是调度器的工作。二、综合应用题(总题数:12,分数:24.00)23.综合应用题 41-47小题。(分数:2.00)_解析:24.某系统有 R1、R2 和 R3三种资源,在
34、T 0 时刻 P1、P2、P3 和 P4四个进程对资源的占用和需求情况如下表所示,此时系统的可用资源向量为(2,1,2)。 (分数:2.00)_正确答案:(正确答案:本题考查采用银行家算法避免死锁。 (1)利用安全性算法对 T 0 时刻的资源分配情况进行分析,可得到如下表所示的安全性检测情况。可以看出,此时存在一个安全序列P2,P3,P4,P1,故该系统是安全的。 (2)若此时 P1发出资源请求 Requestl(1,0,1),按银行家算法进行检查: Request1(1,0,1)Needl(2,2,2) Request1(1,0,1)Available(2,1,2) 试分配并修改相应的数据结
35、构,由此形成的资源分配情况如下表所示。 )解析:25.系统有 5个进程,其就绪时刻(指在该时刻已进入就绪队列)、服务时间如下表所示。分别计算采用先来先服务、短作业优先、高响应比优先的平均周转时间和带权周转时间。 (分数:2.00)_正确答案:(正确答案:本题考查各种调度算法的执行以及性能分析。 (1)采用先来先服务调度时,执行作业的次序为 P1、P2、P3、P4、P5,如下表所示。 (2)采用短作业优先调度时,执行作业的次序为P1、P2、P5、P3、P4,如下表所示。 (3)采用高响应比优先调度时,响应比=响应时间运行时间。在时刻 0,只有进程 P1就绪,执行 P1,在时刻 3结束。此时刻只有
36、 P2就绪,执行 P2,在时刻 9结束。此时刻 P3、P4、P5 均就绪,计算它们的响应比分别为 225、16、15,则选择执行 P3,在时刻 13结束。此时刻 P4、P5 均就绪,计算它们的响应比分别为 24、35,则选择执行 P5,在时刻 15结束。此时刻只有 P4就绪,执行 P4,在时刻 20结束。整个执行作业的次序为 P1、P2、P3、P5、P4,如下表所示。)解析:26.有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有 100个座位。试分别用信号量和 P、V 操作以及管程来实现用户进程的同步算法。(分
37、数:2.00)_正确答案:(正确答案:(1)使用信号量和 P、V 操作: var A:array1100of Rec; Rec=record number:integer: name:string; end; i:integer; for i:=1 to 100 doAinumber:=i;Ainame:=null; mutex,seatcount:semaphore; semaphore:信号量 mutex:=1:seatcount:=100; cobegin process readeri(var readername:string)(i=1,2,) P(seatcount); P(mut
38、ex); for i:=1 to 100 do i+ if Ainame=null then Ainame:=readername; 读者登记 *必须采用这种方式,因为该空位是随机产生的。我们无法知道哪个读者何时离开* V(mutex) 进入阅览室,座号 i,坐下读书; P(mutex): 读书完毕,需要退场 Ainame:=null; V(mutex); V(seatcount); 离开阅览室; coend (2)使用管程操作: TYPE readbook=monitor VAR R:condition; i,seatcount:integer; name:array1100of strin
39、g; DEFINE readercome,readerleave; USE check,wait,signal,release; procedure readercome(readername) begin check(IM); if seatcount100 wait(R,IM) seatcount:=seatcount+1: for i=1 to 100 do i+ if namei=null then namei:=readername: get the seat number=i; release(IM); end procedure readerleave(readername) b
40、egin check(IM);seatcount一一; for i=1 to 100 do i+ if namei=readername then namei:=null; release(IM); end begin seatcount:=100;name:=null; end cobegin process readeri(i=1,2) begin readercome(readername): read the book: readerleave(readername); leaVe the readroom: end coend)解析:27.设有 n个进程共享一个互斥段,如果:(1)每
41、次只允许一个进程进入互斥段;(2)每次最多允许 m个进程(mn)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?(分数:2.00)_正确答案:(正确答案:所采用的互斥信号量初值不同。 (1)互斥信号量初值为 1,变化范围为一 n+1,1。当没有进程进入互斥段时,信号量值为 1;当有 1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为 0;当有 1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为一 1;最多可能有 n一 1个进程等待进入互斥段,故此时信号量的值应为一(n1),也就是一 n+1。 (2)互斥信号量初值为m,变化范围为一 n+m,m。 当没有进
42、程进入互斥段时,信号量值为 m;当有 1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为 m1;当有 m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为 0;当有 m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为一 1;最多可能有nm个进程等待进入互斥段,故此时信号量的值应为一(nm),也就是一 n+m。)解析:28.设某系统采用可抢占的优先级进程调度算法,系统在某一段时间内有 A、B、C 三个进程,进程 C优先级最高,进程 A优先级最低,进程 B优先级介于进程 A、C 之间,它们的就绪时刻、计算与 IO 所需时间如下表所示: (分数:2.00)_正确答案:(正确答案
43、:(1)若系统采用多道方式运行,这三个进程运行完成总共所需的时间为 68 ms。 (2)采用单道方式运行,这三个进程运行完成总共所需的时间为 113 ms。 采用多道方式运行比采用单道方式运行节省时间: 11368=45(ms)解析:29.某系统中进程有如下的状态变化图: 请回答下列问题:(1)该系统采用了怎样的进程调度算法?说明理由。(2)把图中发生的状态变化原因填入下表中。 (分数:2.00)_正确答案:(正确答案:(1)该系统采用的是时间片轮转调度算法。 该调度算法让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个时间片。如果一个时间片用完,进程工作尚未结束,则它也必须让出处理器而被重