``030110011020101
进程调度是从 选择一个进程投入运行。
A.就绪队列 ``030110011020100
``030110022020101
支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中, 不是引起操作系统选择新进程的直接原因。
A.运行进程的时间片用完 B.运行进程出错 C.运行进程要等待某一时件发生 ``030110022020100
``030110032020101
下列因素中, 不一定是引起进程调度的因素。
A.一个进程运行完毕 ``030110032020100
``030110042020101
若进程P一旦被唤醒就能投入运行,则系统可能是 。
A.非抢占式调度方式,进程P的优先级最高
B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低 C.就绪队列为空队列
D.抢占式调度方式,P的优先级高于当前运行的进程 ``030110042020100
``030110051020101
在批处理系统中,周转时间是指 。
A.作业运行时间 C.作业的相对等待时间 ``030110051020100
``030110062020101
下列各项中,不是进程调度时机的是 。
B
B.作业等待时间和运行时间之和
D.作业被调度进入内存到运行完毕的时间
D C
B.运行进程被阻塞
C.一个高优先级进程被创建
D.实时调度中,一个紧迫的任务到来
D
D.有新进程进入就绪状态
A
B.等待队列
C.作业后备队列
D.提交队列
A.现运行的进程正常结束或异常结束 C.现运行的进程从运行态进入等待态 ``030110062020100
``030210012020201
D
B.现运行的进程从运行态进入就绪态 D.有一进程从等待态进入就绪态
现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2和T3,且T1 ``030210022020101 下列算法中,操作系统用于作业调度的算法是 。 A.先来先服务算法 C.最先适应算法 ``030210022020100 ``030210032020101 在作业调度中,排队等待时间最长的作业被优先调度,这是指 调度算法。 A.先来先服务 C.响应比高优先 ``030210032020100 ``030210042020101 下列算法中,用于进程调度的算法是 。 A.最先适应 C.均衡资源调度 ``030210042020100 ``030210052020101 进程调度算法有多种, 不是进程调度算法。 A.先来先服务调度算法 C.静态优先数调度算法 ``030210052020100 ``030210062020101 作业调度程序从 状态的队列中选取适当的作业投入运行。 B B.最短查找时间优先调度算法 D.时间片轮转调度算法 D B.最高响应比优先 D.优先数调度 A B.短作业优先 D.优先级 A B.先进先出算法 D.时间片轮转算法 D.(T1+2T2+3T3)/3 C ``030210012020200 B.(T1+T2+T3)/3 C.(3T1+2T2+T3)/3 A.就绪 ``030210062020100 ``030210072020101 D B.提交 C.等待 D.后备 在实时操作系统中,经常采用 调度算法来分配处理器。 A.先来先服务 级 ``030210072020100 ``030210082020101 采用时间片轮转调度算法主要是为了 。 A.多个终端都能得到系统的及时响应 B.先来先服务 C.优先权高的进程及时得到调度 D.需要CPU时间最短的进程先做 ``030210082020100 ``030210093020101 下面关于优先权大小的论述中,不正确的论述是 。 A.计算型作业的优先权,应低于I/O型作业的优先权 B.系统进程的优先权应高于用户进程的优先权 C.资源要求多的作业,其优先权应高于资源要求少的作业 D.在动态优先权时,随着进程运行时间的增加,其优先权降低 ``030210093020100 ``030210103020101 考虑到公平对待进程和提高系统资源工作的并行度,操作系统会经常调整进程的优先级,通常应提高 的进程优先级。 A.需计算时间长 C.使用CPU时间长 ``030210103020100 ``030210113020101 UNIX操作系统采用的进程调度算法为 。 A.不可强占处理机的动态化先数调度算法 B.可强占处理机的动态化先数调度算法 C.不可强占处理机的静态优先数调度算法 D.可强占处理机的静态化先数调度算法 ``030210113020100 D B.很少使用外设 D.启动外设次数多 C A D B.时间片轮转 C.最高优先级 D.可抢占的优先 B ``030210122020101 当进程调度采用最高优先级调度算法时,从保证系统效率的角度来看,应提高 进程的优先级。 A.连续占用处理器时间长的 C.以计算为主的 ``030210122020100 ``030210133020101 采用时间片轮转调度算法时,对不同的进程可以规定不同的时间片。一般来说,对 进程给一个较小的时间片比较合适。 A.需运算时间长的 C.不需使用外设的 ``030210133020100 ``030210142020101 一种既有利于短小作业又兼顾到长作业的作业调度算法是 。 A.先来先服务 ``030210142020100 ``030210152020101 在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于 。 A.进程相应的程序段的长度 C.进程自身和进程调度策略 ``030210152020100 ``030210161020101 分时系统中进程调度算法通常采用 。 A.响应比高者优先 C.先来先服务 ``030210161020100 ``030210172020501 设有三个作业J1、J2、J3,它们的到达时间和执行时间如下表: 作业名 J1 J2 J3 到达时间 8:00 8:45 9:30 执行时间 2小时 1小时 0.25小时 B B.时间片轮转法 D.短作业优先 C B.进程总共需要运行时间多少 D.进程完成什么功能 C B.轮转 C.最高响应比优先 D.均衡调度 B B.需经常启动外设的 D.排在就绪队列末尾的 B B.在就绪队列中等待时间长的 D.用户 它们在一台处理器上按单道运行,若采用短作业优先调度算法,则此三作业的执行次序是 。 A.J3,J2,J1 C.J1,J3,J2 ``030210172020500 ``030210182020101 C B.J1,J2,J3 D.J3,J1,J2 在下列作业调度算法中,可能引起作业长时间不能被装入执行的算法是 。 A.FCFS算法 C.最高响应比优先算法 ``030210182020100 ``030210192020101 在非抢占调度方式下,运行进程执行V原语后,其状态 。 A.不变 ``030210192020100 ``030210203020101 UNIX System V的进程调度原理基于 算法。 A.先来先服务 C.时间片轮转 ``030210203020100 ``030210213020501 设系统中有P1、P2、P3三个进程,并按P1、P2、P3的优先次序调度运行,它们的内部计算和I/O操作时间如下: P1:计算60 ms—I/O 80 ms—计算20 ms P2:计算120 ms—I/O 40ms—计算40ms P3:计算40 ms—I/O 80ms—计算40ms 设调度程序执行时间忽略不计,完成这三个进程比单道运行节省的时间是 。 A.140ms ``030210213020500 ``030210222020401 有三个作业A、B、C,它们的到达时间和执行时间依次为(8:50和1.5小时)、(9:00和0.4小时)、(9:30和1小时)。当作业全部到达后,批处理单道系统按响应比高者优先算法进行调度,则作业被选中的次序为 。 A.(ABC) ``030210222020400 B B.(BAC) C.(BCA) D.(CAB) B B.160ms C.170ms D.180ms D B.短作业优先 D.时间片+优先级 A B.要变 C.可能要变 D.可能不变 B D.动态优先数调度算法 B.计算时间短的作业优先算法 ``030210233020101 下列选项中,降低进程优先级的合理时机是 。 A.进程的时间片用完 ``030210233020100 ``030210242020101 下列进程调度算法中,综合考虑进程等待时间和执行时间的是__________。 A.时间片轮转调度算法 C.先来先服务调度算法 ``030210242020100 ``030210252020101 进程调度的关键问题是 。 A.内存的分配 ``030210252020101 ``030210263020101 下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是 。 A.先来先服务 C.时间片轮转 ``030210263020100 ``030210273020101 某单处理器多进程系统中有多个就绪进程,则下列关于处理机调度的叙述中,错误的是 。 A.在进程结束时能进行处理机调度 B.创建新进程后能进行处理机调度 C.在进程处于临界区时不能进行处理机调度 D.在系统调用完成并返回用户态时能进行处理机调度 ``030210273020100 ``030210282020501 一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下: P1:计算60ms,I/O80ms,计算20ms P2:计算120ms,I/O40ms,计算40ms 若不考虑调度和切换时间,则完成两个作业需要的时间最少是 。 A.240ms ``030210282020500 B B.260ms C.340ms D.360ms C B B.高响应比优先 D.非抢占式短任务优先 C B.时间片的确定 C.调度算法的确定 D.I/O设备的分配 D B.短进程优先调度算法 D.高响应比优先调度算法 A B.进程刚完成I/O,进入就绪队列 D.进程从就绪队列转为运行状态 C.进程长期处于就绪队列中 ``030210291020101 分时操作系统通常采用 策略为用户服务。 A.先来先服务 ``030210291020100 C ``030250302100801 有两个作业A和B,分别在7:00和8:30到达系统,它们估计的计算时间分别为0.8小时和0.1小时,系统在9:00开始以响应比高者优先算法进行调度。在单道系统中该两个作业被选中时的响应比各为多少? ``030250302100800 9:00时,作业A的响应比=1+2/0.8=3.5 作业B的响应比=1+0.5/0.1=6 所以9:00时作业调度程序选中作业B 10分 8分 2分 4分 6分 B.短作业优先 C.时间片轮转 D.最高响应比 9:06作业B结束,调度作业A,此时作业A的响应比=1+2.1/0.8=3.625 ``030250313101501 综上可知,在单道系统中A、B两个作业被选中时的响应比分别为3.625和6 有一个具有两道作业的批处理系统(最多可有两道作业同时装入内存执行),作业调度采用计算时间短的作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法,今有如下作业序列,作业优先数即为进程优先数,优先数越小优先级越高: 作业名 J1 J2 J3 J4 (2) 计算平均周转时间。 ``030250313101500 (1)各个作业进入主存时间、结束时间和周转时间如下表所示: 作业名 J1 J2 J3 J4 提交时间 10:10 10:20 10:30 10:50 进入时间 10:10 10:20 11:00 10:50 6分 结束时间 11:00 10:50 11:25 11:45 周转时间 50 30 55 55 10分 到达时间 10 : 10 10 : 20 10 : 30 10 : 50 估计运行时间 20分钟 30分钟 25分钟 20分钟 优先数 5 3 4 6 (1) 列出所有作业进入内存时间及结束时间。 (2)平均周转时间:(50+30+55+55)/4=47.5(min) ``030250323101501 有一个多道程序设计系统,采用不可移动的可变分区方式管理主存空间,设主存空间为100K,采用最先适应分配算法分配主存,作业调度采用响应比高者优先算法,进程调度采用时间片轮转算法(即内存中的作业均分CPU时间),今有如下作业序列: 作业名 J1 提交时间 10 : 00 需要执行时间 40分钟 要求主存量 25K J2 J3 J4 J5 10 : 15 10 : 30 10 : 35 10 : 40 30分钟 20分钟 25分钟 15分钟 60K 50K 18K 20K 假定所有作业都是计算型作业且忽略系统调度时间。回答下列问题: (1) 列表说明各个作业被装入主存的时间、完成时间和周转时间; (2) 写出各作业被调入主存的顺序; (3) 计算5个作业的平均周转时间。 ``030250323101500 (1)各个作业被装入主存的时间、完成时间和周转时间如下表所示: 作业名 J1 J2 J3 J4 J5 装入主存时间 10:00 10:15 11:15 11:35 11:05 作业完成时间 11:05 11:15 11:55 12:10 11:35 周转时间 65 60 85 95 55 8分 10分 6分 (2)作业被调入主存的顺序为J1,J2,J5,J3,J4。 ``030250333101501 (3)平均周转时间=(65+60+85+95+55)/5=72(分钟)。 有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计的运行时间分别为10,6,2,4,8分钟,他们的优先数分别为1,2,3,4,5(1为最低优先数)。对下面的各种调度算法,分别计算作业的平均周期时间。 (1)最高优先级优先 (2)短作业优先 ``030250333101500 解:(1) 采用最高优先级优先调度算法,各进程开始运行时间、完成时间以及周转时间如下表: 进程 开始运行时间 完成时间 周转时间 A B C D E 20 14 12 8 0 30 20 14 12 8 30 20 14 12 8 5分 平均周转时间为(30+20+14+12+8)/5=84/5=16.8(ms) (2) 采用短作业优先调度算法,各进程开始运行的时间、完成时间以及周转时间如下表: 进程 开始运行时间 完成时间 周转时间 A B C D E 20 6 0 2 12 30 12 2 6 20 30 12 2 6 20 10分 平均周转时间为(30+12+2+6+20)/5=70/5=14 (ms) ``030250343101501 某多道程序设计系统供用户使用的主存为100KB,磁带机2台,打印机1台。采用可变分区内存管理,采用静态方式分配外围设备,忽略用户作业的I/O时间。现有如下作业序列: 作业名 提交时间 需运行时间 主存需求量 磁带机需求 打印机需求 J1 J2 J3 J4 J5 CPU时间。现求: (1) 作业被调度的先后次序; (2) 全部作业运行结束的时间; (3) 作业的平均周转时间; (4) 最大作业周转时间。 ``030250343101500 答:(1) 作业被调度的先后次序为J1, J3, J4, J2, J5 (2) 全部作业运行结束的时间为9:30 (4) 最大作业周转时间为55分钟。 分 ``030250353101501 多道批处理系统中配有一个处理器和2台外设(D1和D2),用户存储空间为100MB。已知系统采用可抢占式的高优先数调度算法(优先数越大优先级越高)和不允许移动的可变分区分配策略,设备分配按照动态分配原则。今有4个作业同时提交给系统,如下表所示。 作业名 A B C D 优先数 6 3 8 4 运行时间 5分钟 4分钟 7分钟 6分钟 内存需求 50M 10M 60M 20M 8分 103分 5分 8:00 8:20 8:20 8:30 8:35 25分钟 10分钟 20分钟 20分钟 15分钟 15KB 30KB 60KB 20KB 10KB 1 0 1 1 1 1 1 0 0 1 作业调度采用FCFS策略,优先分配主存低地址区域且不准移动已在主存中的作业,在主存中的作业均分 (3) 作业的平均周转时间为(30+55+40+40+55)÷5=44 (分钟) 作业运行时间和I/O时间按下述顺序进行: A. CPU (1分钟),D1(2分钟),D2(2分钟) B. CPU (3分钟),D1(1分钟) C. CPU (2分钟),D1(3分钟),CPU(2分钟) D. CPU (4分钟),D1(2分钟) 忽略其他辅助操作,求4个作业的平均周转时间是多少分钟。 ``030250353101500 各个作业的完成时间和周转时间如下表所示: 作业名 A B 完成时间 8:12 8:13 周转时间 12分钟 13分钟 6分 C D 8:07 8:12 7分钟 12分钟 10分 故平均周转时间 = (12+13+7+12) / 5 = 11(分钟)。 ``030250363101501 某多道程序设计系统采用可变分区内存管理,供用户使用的主存为200KB,磁带机5台。采用静态方式分配外围设备,且不能够移动在主存中的作业,忽略用户作业的I/O时间、调度时间和移动作业时间。现有如下作业序列: 作业名 A B C D E 进入后备队列时间 8:30 8:50 9:00 9:05 9:10 运行时间 40分钟 25分钟 35分钟 20分钟 10分钟 主存需求量 30KB 120KB 100KB 20KB 60KB 磁带机需求 3 1 2 3 1 作业调度采用最高响应比优先算法、进程调度采用短进程优先算法时,求作业调度选中作业的次序及作业平均周转时间。 ``030250363101500 解:(1) 作业调度选中作业的次序为A、B、D、E、C。 (2) 作业A在9:10结束,其周转时间为40分钟; 作业B在9:55结束,其周转时间为65分钟; 作业C在10:40结束,其周转时间为100分钟; 作业D在9:30结束,其周转时间为25分钟; 作业E在10:05结束,其周转时间为55分钟; 故平均周转时间为(40+65+100+25+55)/5=57(分钟) 补充分析:第(2)问中作业具体运行过程如下 8:00 8:50 9:00 9:05 9:10 9:30 9:55 10:05 10:40 ``030250373101501 某多道程序设计系统采用可重定位分区内存管理(即允许移动在主存中的作业),供用户使用的主存为200KB,磁带机5台。采用静态方式分配外围设备,忽略用户作业的I/O时间、调度时间和移动作业时间。现有如下作业序列: 作业名 A B 进入后备队列时间 8:30 8:50 运行时间 40分钟 25分钟 主存需求量 30KB 120KB 磁带机需求 3 1 A进入系统;此时剩余磁带机2,内存170k; B进入,剩磁带1,内存50k;A剩余时间少,继续使用CPU; C到达,内存不足,等待; D到达,磁带不足,等待; A结束退出,E到达,此时剩余磁带4,内存(30k,50k),D调入;根据SPF,D先运行 D结束,此时剩磁带4,内存(30k,50k);C、E均无法调入 B结束,此时剩磁带5,内存(200k);C、E调入,由SPF,E先运行 E结束; C结束; 10分 4分 C D E 9:00 9:05 9:10 35分钟 20分钟 10分钟 100KB 20KB 60KB 2 3 1 假设作业调度采用最高响应比优先算法,进程调度采用时间片轮转算法(均分CPU时间)。请回答下列问题: (1) 写出作业调度选中作业的次序。 (2) 作业平均周转时间是多少分钟? ``030250373101500 解:(1) 作业调度选中作业的次序为A、B、E、D、C。 (2) 作业A在9:30结束,其周转时间为60分钟; 作业B在9:45结束,其周转时间为55分钟; 作业C在10:40结束,其周转时间为100分钟; 作业D在10:15结束,其周转时间为70分钟; 作业E在9:55结束,其周转时间为45分钟; 故平均周转时间为(60+55+100+70+45)/5=66(分钟) ``030250383101501 假设某个系统中有以下几个进程,每个进程的执行时间(单位:ms)和优先数如下(优先数越小,其优先级越高): 进程 P1 P2 P3 P4 P5 执行时间 10 1 2 1 5 优先数 3 1 5 4 2 10分 4分 如果在0时刻,各进程按P1、P2、P3、P4、P5 的顺序同时到达,忽略进程调度切换等辅助时间,试回答下列问题:当系统分别采用 (1)先来先服务调度算法; (2)抢占式优先级调度算法; (3)时间片轮转算法(时间片为1ms)。 在使用以上各种算法的情况下,分别求各进程的开始运行时间、完成时间以及平均周转时间。 ``030250383101500 解:(1)采用先来先服务调度算法,各进程开始运行的时间、完成时间以及周转时间如下表: 进程 开始运行时间 完成时间 周转时间 P1 P2 P3 P4 P5 0 10 11 13 14 10 11 13 14 19 10 11 13 14 19 3分 平均周转时间为(10+11+13+14+19)/5=67/5=13.5(ms) (2) 采用抢占式优先级调度算法,各进程开始运行的时间、完成时间以及周转时间如下表: 进程 开始运行时间 完成时间 周转时间 P1 P2 P3 P4 P5 6 0 17 16 1 16 1 19 17 6 16 1 19 17 6 7分 平均周转时间为(16+1+19+17+6)/5=59/5=11.8(ms) (3) 采用时间片轮转算法,各进程开始运行的时间、完成时间以及周转时间如下表: 进程 开始运行时间 完成时间 周转时间 P1 P2 P3 P4 P5 0 1 2 3 4 19 2 7 4 14 19 2 7 4 14 10分 平均周转时间为(19+2+7+4+14)/5=46/5=9.2(ms) ``030250393101501 有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10,6,2,4,8min。其优先级分别为3,5,2,1和4,这里5为最高优先级。对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销不考虑)。 (1) 先来先服务(按A,B,C,D,E顺序)算法; (2) 优先级调度算法; (3) 时间片轮转算法(设时间片为1min)。 ``030250393101500 (1) 采用先来先服务算法,5个任务的执行顺序、完成时间及周转时间如下表所示。 执行顺序 预计运行时间 开始执行时间 完成时间 周转时间 A B C D E 10 6 2 4 8 0 10 16 18 22 10 16 18 22 30 10 16 18 22 30 3分 5个进程的平均周转时间为:(10+16+18+22+30)/5=19.2 (min) (2) 采用最高优先级调度算法,5个任务的执行顺序、完成时间及周转时间如下表所示。 执行顺序 预计运行时间 优先数 开始执行时间 完成时间 周转时间 B E A C D 6 8 10 2 4 5 4 3 2 1 0 6 14 24 26 6 14 24 26 30 6 14 24 26 30 6分 5个进程的平均周转时间为:(6+14+24+26+30)/5=20 (min) (3) 采用时间片轮转调度算法,可以认为5个进程均分CPU时间,它们在系统中的执行情况如下: 第一轮:A,B,C,D,E (5min) 第二轮:A,B,C(C完成,即C的周转时间为8min),D,E 第三轮:A,B,D,E 第五轮:A,B,E (4min) (5min) 第四轮:A,B,D(D完成,即D的周转时间为17min),E (4min) (3min) (3min) 第六轮:A,B(B完成,即B的周转时间为23min),E 第七轮:A,E (2min) 第八轮:A,E(E完成,即E的周转时间为28min) (2min) 第九轮:A (1min) 10分 第十轮:A(A完成,即A的周转时间为30min) (1min) 所以,5个进程的平均周转时间为:(8+17+23+28+30)/5=21.2 (min) ``030250403101501 在一个多道程序设计系统中,不采用移动技术的可变分区方式管理主存。设用户空间为100K,主存空间采用最先适应分配算法,采用计算时间短的作业优先算法管理作业。今有如下所示的作业序列,请分别列出各个作业的开始执行时间、完成时间和周转时间。(注意:忽略系统开销) 作业名 JOB1 JOB2 JOB3 JOB4 ``030250403101500 解题时可在草稿上完成如下的分析过程: 8.0时: 8.2时: 8.4时: 8.6时: 9.0时: 9.4时: 10.0时: 10.5时: JOB1到达,调入内存执行,占用内存20KB,内存剩余空闲分区大小为80KB JOB2到达,调入内存成为就绪进程(非抢占式),内存剩余空闲分区大小为20KB JOB3到达,因内存不够,不能调入 JOB4到达,调入内存成为就绪进程,内存全部用完 JOB1运行结束,空出20KB内存,JOB3仍不能调入。JOB4开始运行(因短作业优先调度常伴随短进程优先调度) JOB4运行结束,空出20KB内存,内存中有2个大小皆为20KB的空闲分区,因不采用移动技术,故不能合并,JOB3仍不能调入。JOB2开始运行。 JOB2运行结束,空出60KB内存,3个空闲分区合并成1个100KB的空闲分区,JOB3调入内存开始运行 JOB3运行结束 10分 作业名 JOB1 JOB2 JOB3 JOB4 ``030250413101501 有3个程序A、B、C,它们分别单独运行时的CPU和I/O占用时间如下图所示: 开始执行时间 8.0时 9.4时 10.0时 9.0时 完成时间 9.0时 10.0时 10.5时 9.4时 周转时间 1小时 1.8小时 2.1小时 0.8小时 答:各个作业的开始执行时间、完成时间和周转时间如下表所示。 进入输入井时间 8.0时 8.2时 8.4时 8.6时 需计算时间 1小时 0.6时 0.5时 0.4时 主存需求存量 20K 60K 25k 20K 程序A 60 I/O2 30 I/O1 40 CPU 20 CPU 30 I/O1 10 CPU 40 I/O1 20 CPU 20 I/O1 (ms) 程序B 40 CPU 60 I/O1 70 I/O2 20 CPU 30 I/O2 (ms) 程序C 30 CPU 70 I/O2 (ms) 现在考虑3个程序同时运行。系统中的资源有一个CPU和两台输入输出设备(I/O1和I/O2)同时运行。三个程序的优先级为A最高,B次之,C最低,优先级高的程序可以中断优先级低的程序,但优先级与输入输出设备无关。请回答下列问题: (1) 最早结束的程序是哪个? (2) 最后结束的程序是哪个? (3) 三个程序执行到结束分别用了多长时间? (4) 计算这段时间的CPU利用率(三个程序完全结束为止)。 ``030250413101500 先用图示分析三个程序的执行过程,如下图所示。 CPU I/O1 I/O2 时间 C B A B A B C A C B B B C C A A C A A A A C (ms) A A A C A B B B B B C C C 120 160 230 220 210 200 0 30 60 80 90 100 170 180 250 280 110 从上图分析可知: (1) 最早结束的程序是B; (2) 最后结束的程序是C; 7分 10分 2分 4分 (3) A、B、C三个程序执行到结束分别用了250ms、210ms、280ms; (4) 这段时间的CPU利用率=(230-10-40)/280=180/280=0.643=64.3%。 ``030250424101801 考虑下表所示的进程集合: 进程名 A B C D E 到达时间 0 1 3 9 12 处理时间 3 5 2 5 5 给出FCFS、RR q=1、SPN和SRT调度策略的完成时间、周转时间和Tr/Ts比较表,即完成下表: 进程 到达时间 服务时间 完成时间 FCFS 周转时间 Tr/Ts 完成时间 RR q=1 周转时间 Tr/Ts SPN (SPF) 完成时间 周转时间 Tr/Ts 完成时间 SRT 周转时间 Tr/Ts 【说明】 RR q=1:时间片为1的轮转算法。RR是Round Robin的缩写。 SPN(Shortest Process Next):短进程优先,非抢占式。 SRT(Shortest Remaining Time):最短剩余时间优先,是SPN增加了剥夺机制的版本。 Tr/Ts:带权周转时间。 A 0 3 3 3 1 6 6 2 3 3 1 3 3 1 B 1 5 8 7 1.4 11 10 2 10 9 1.8 10 9 1.8 C 3 2 10 7 3.5 8 5 2.5 5 2 1 5 2 1 D 9 5 15 6 1.2 18 9 1.8 15 6 1.2 15 6 1.2 E 12 5 20 8 1.6 20 8 1.6 20 8 1.6 20 8 1.6 — 6.2 1.74 — 7.6 1.98 — 5.6 1.32 — 5.6 1.32 平均 10分 A 0 3 B 1 5 C 3 2 D 9 5 E 12 5 — — — — 平均 ``030250424101800 答:调度策略的比较表如下: 进程 到达时间 服务时间 完成时间 FCFS 周转时间 Tr/Ts 完成时间 RR q=1 周转时间 Tr/Ts SPN (SPF) 完成时间 周转时间 Tr/Ts 完成时间 SRT 周转时间 Tr/Ts 【注】关于RR q=1的分析图示如下图所示。 A B C D E 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 由图示分析可知: A完成时间:6 B完成时间:11 C完成时间:8 D完成时间:18 E完成时间:20 ``030250433101501 在单CPU盒两台输入/输出设备(I1、I2)的多道程序设计环境下,同时投入三个作业Job1、Job2、Job3运行。这三个作业队CPU和输入/输出设备的使用顺序和时间如下所示: Job1:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);I2(20ms) Job2:I1(20ms);CPU(20ms);I2(40ms) Job3:CPU(30ms);I1((20ms);CPU(10ms);I1(10ms) 假定CPU、I1、I2都能并行工作,Job1优先级最高,Job2次之,Job3优先级最低,优先级高的作业进程可以抢占优先级低的作业进程的CPU,但不抢占I1和I2。试求: (1) 三个作业投入到完成分别需要的时间。 (2) 从投入到完成的CPU利用率。 (3) I/O设备I1和I2的利用率各是多少。 ``030250433101500 解:三个作业并发执行时的工作情况如下图所示。 CPU I1 Job3 Job2 Job2 Job1 Job2 Job3 Job1 Job1 Job3 Job3 Job3 I2 Job1 Job2 Job1 Job1 I1 I2 CPU I1 CPU 等待 I2 Job2 CPU 就绪 CPU I2 Job3 CPU 就绪 CPU 等待 I1 CPU I1 时间(ms) 0 10 20 30 40 50 60 70 80 90 100 110 作业并发执行图示 (1)由上图分析可知,Job1从投入到运行结束需要110ms,Job2从投入到运行结束需要90ms,Job3从投入到运行结束需要110ms (110-30)/110=72.7% ``030250443101201 有一个具有两道作业的批处理系统(最多可有两道作业同时装入内存执行),作业调度采用计算时间短的作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法,今有如下作业序列,作业优先数即为进程优先数,优先数越小优先级越高: 作业名 A B C D 到达时间 10 : 00 10 : 20 10 : 30 10 : 50 估计运行时间 40分钟 30分钟 50分钟 20分钟 优先数 5 3 4 6 3分 6分 8分 10分 (2)CPU在时间段60ms到70ms,80ms到90ms,100ms到110ms期间空闲,所以CPU的利用率为:(3)设备I1在时间段20ms到40ms,90ms到100ms期间空闲,所以设备I1的利用率为:(110-30) /110=72.7%; 设备I2在时间段30ms到50ms期间空闲,所以设备I1的利用率为:(110-20) /110=81.8% (1) 列出所有作业进入内存时间及结束时间。 (2) 计算平均周转时间。 ``030250443101200 解:(1)由分析,可得这四道作业进入内存时间和结束时间如下表: 作业名(进程名) A 进入内存时间 10:00 6分 结束时间 11:10 B C D (2)各作业的周转时间为: 作业A:11:10-10:00=70分钟 作业B:10:50-10:20=30分钟 作业C:12:00-10:30=90分钟 作业D:12:20-10:50=90分钟 10:20 11:10 10:50 10:50 12:00 12:20 平均周转时间为 (70+30+90+90)÷4 = 70 (分钟) ``030250453101201 10分 若在后备作业队列中有同时到达等待运行的作业A、B、C,已知它们各自的运行时间为a、b、c,且满足关系a解:对于最短作业优先调度算法而言,三个作业的总周转时间为 T1=a+(a+b)+(a+b+c)=3a+2b+c 间为 T2=b+(b+a)+(b+a+c)=3b+2a+c ②-①式得: T2-T1=b-a>0 由此可见,短作业优先调度算法能获得最小平均周转时间。 ``030250463101101 假设有一台计算机,它有1MB内存,操作系统占用200KB,每个用户也各占用200KB内存。用户进程等待I/O的时间占80%,若增加1MB内存,则CPU的利用率将提高多少? 【相关知识】多道程序设计技术使CPU的利用率大为提高。设内存中有N个进程,每个进程等待I/O的百分比是P,那么N个进程同时等待I/O的概率是Pn(此时CPU空闲),即CPU的利用率为1-Pn,由此可见,CPU的利用率是N的函数,称为多道程序度。 【提示】若增加1MB内存,则可增加5个用户进程。 ``030250463101100 解:由题目所给条件可知,当前1MB内存可支持4个用户进程,由于每个用户进程等待I/O的时间为80%,故CPU的利用率为 1- (80%)4 = 1- (0.8)4 = 0.5904 = 59.04% 1-(0.8)9 = 86.58% 10 3分 5分 8分 10分 ② 7分 ① 4分 若不按短作业优先调度算法来调度者三个作业,不失一般性,假定调度顺序为B、A、C,则总周转时 若增加1MB内存,则系统中可同时运行9个进程,则CPU的利用率为 87% ÷ 59% = 146.65% 146.65% - 100% = 46.65% 分 ``030250472101201 所以增加1MB内存使CPU的利用率提高了46.65%。 在单道批处理系统中,有下列四个作业,采用计算时间短的作业优先的调度算法,当第一个作业进入系统后就可以开始调度,忽略调度及I/O所化的时间。 (1) 按上述要求填充表中空白处 作业号 1 2 3 4 进入系统时间 10:00 10:06 10:12 10:18 需计算时间 24分钟 1小时 36分钟 12分钟 开始时间 完成时间 周转时间 (2) 求四个作业的平均周转时间。 ``030250472101200 解:(l) 7分 作业号 进入系统时间 需计算时间 开始时间 完成时间 周转时间 1 2 3 4 10:00 10:06 10:12 10:18 24分钟 1小时 36分钟 12分钟 10:00 11:12 10:36 10:24 10:24 12:12 11:12 10:36 24分钟 126分钟 60分钟 18分钟 10 (2)(24+126+60+18)/4=57(分钟)。 分 ``030250483101201 在一个多道程序系统中,设用户空间为100K,主存空间管理采用最先适应分配算法,并采用先来先服务算法管理作业和进程。今有如下所示的作业序列。 作业名 JOB1 JOB2 JOB3 JOB4 进入输入井时间 8.0时 8.2时 8.4时 8.6时 需计算时间 1小时 0.6小时 0.5小时 1小时 主存需求量 20K 60K 25K 20K 忽略系统开销,时间用10进制。请回答: (1) 给出各个作业开始执行时间; (2) 给出各个作业的完成时间; (3) 给出各个作业的周转时间。 ``030250483101200 解:(1) JOB1、JOB2、JOB3、JOB4开始执行时间分别是8.0时、9.0时、10.6时、9.6时。 4分 7分 (2) JOB1、JOB2、JOB3、JOB4的完成时间分别是9.0时、9.6时、11.1时、10.6时。 ``030250493101001 某系统有如图3-1的状态变化图: (3) JOB1、JOB2、JOB3、JOB4的周转时间分别是1小时、1.4小时、2.7小时、2小时。 10分 运行 ① ② 就绪队列 … ③ 等待I/O队列 ④ … 图3-1 系统状态变化图示 请回答下列问题: (1)你认为该系统采用了怎样的进程调度策略?说出理由。 (2)把图中发生①~④的状态变化的具体原因填入下表的相应栏内。 变化 ② ② ③ ④ ``030250493101000 答:(1) 该系统采用时间片轮转调度策略。因为进程会从运行态转换为就绪态的情况,故不可能是先来先 服务调度策略,只可能是时间片轮转或抢占式动态优先级调度策略,但所有就绪进程都是排到就绪队列的尾部,因此不是抢占式动态优先级调度,而是时间片轮转调度策略。 4分 (2) 分 变化 ① ② ③ ④ ``030250503101301 某个采用多道程序设计的计算机系统配有输入机和打印机各一台,现有程序A和程序B并行执行,且程序A先开始50ms。假定程序A的执行过程为:计算50ms,打印100ms,再计算50ms,打印100ms,结束;程序B的执行过程为:计算50ms,输入数据60ms,再计算50ms,打印100ms,结束。当忽略调度和启动外设等所花费的时间时,回答下列问题: (1) 把程序A和程序B并发执行时各自使用CPU与外设的时间用实线画在下图中 变 化 原 因 进程被调度程序选中,由就绪态变为运行态,占用处理机执行 进程时间片用完,由运行状态变为就绪状态,并排到就绪队列尾部 进程因等待I/O而由执行态变为阻塞态 进程等待的I/O已完成,由阻塞态变为就绪态,并排到就绪队列尾部 10 变 化 原 因 时间 CPU 输入机 打印机 0 50 100 150 200 250 300 350 400 (2) 在程序开始执行直到两道程序都执行结束时,处理器的利用率是多少? (3) 程序B从开始执行直到结束实际花费的时间是多少? ``030250503101300 解:(1) 6分 (2)处理器的利用率是(50+50+50+50)/400=50% ``030250513101301 8分 (3)程序B从开始执行直到结束实际花费的时间是400-50=350ms 10分 设某计算机系统有1台输入机,1台打印机。现有2道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印100ms,再计算50ms,打印信息100ms,结束。程序B的运行轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。试说明: (1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间等待?为什么? (2)程序A、B运行时有无等待现象?若有,在什么时候发生等待现象? ``030250513101300 答:(1)我们可以画出CPU、输入机和打印机的运行轨迹图如图3-5粗线所示。 3分 CPU 输入机 打印机 A B B A A B A 0 50 100 150 图3-5 200 300 5分 7分 8分 从上图可以看出,CPU有等待时间,在100ms到150ms之间,共空闲50ms。 在这段时间,A等待打印完成,B等待输入数据,CPU无事可做。 (2) 程序A无等待现象; 程序B有等待现象,在0~50ms之间以及180ms~200ms之间等待CPU。 ``030250523101401 10分 设有两个处理机P1和P2,它们各有一个硬件高速缓冲存储器C1、C2,且各有一个主存储器M1、M2,其性能如下所示: C1 4KB 60ns C2 4KB 80ns M1 2MB 1μs M2 2MB 0.9μs 存储容量 存取时间 假定两个处理机的指令系统相同,它们的执行时间与存储器的平均存取时间成正比。如果执行某个程序时,所需的指令或数据在高速缓冲存储器中命中的概率P是0.7,试问这两个处理机的处理速度哪个快?当P=0.9时,处理机的处理速度哪个快?(1μs = 1000ns) ``030250523101400 解:由题目分析可知,处理机的平均处理时间T为: T = T1*P + ( 1 – P ) T2 其中,T1为高速缓冲存储器的存取时间,T2为主存储器的存取时间,P为指令或数据在高速缓冲存储器中存取的概率。 (1) 当P=0.7时,P1的平均存取时间为: 60*0.7 + (1 - 0.7 )×1000 = 342 (ns) P2的平均存取时间为: 80*0.7 + (1 - 0.7 )×0.9×1000 = 326 (ns) 快。 5分 7分 9分 104分 根据题意,指令的执行时间与存储器的平均存取时间成正比,因此当P=0.7时,P2比P1的处理速度(2) 当P=0.9时,P1的平均存取时间为: 60+0.9 + (1 - 0.9 )×1000 = 154 (ns) P2的平均存取时间为: 80 *0.9+ (1 - 0.9 )×0.9×1000 = 162 (ns) 分 ``030250533101301 假设一个计算机系统具有如下性能特征: 处理一次中断,平均耗时1ms; 一次进程调度,平均需要2ms; 将CPU分配给选中的进程,又需要平均1ms。 因此当P=0.9时,P1比P2的处理速度快。 2分 再假设其定时芯片每秒产生100次中断。请回答: (1) 操作系统将百分之几的时间用于时钟中断处理? (2) 如果操作系统采用时间片轮转法调度进程,10个时钟中断为1个时间片。那么,操作系统将百分 之几的CPU时间用于进程调度(包括调度、分配CPU和引起调度的时钟中断处理时间)? (3) 该系统CPU的最大利用率是多少? ``030250533101300 解:(1) 因为1秒钟中断100次,所以中断周期为10ms。每个周期要花费1ms进行中断处理,所以系统将CPU的10%时间用于时钟中断处理。 (1ms+2ms+1ms)÷100ms=4% 3分 (2) 由题目所给条件可知,时间片长度为10个时钟周期,即100ms。 即操作系统将4%的CPU时间用于进程调度 6分 (3) 从(2)可知,在100ms时间片内,系统用于调度的时间为4ms,用于另外9次时钟中断9ms,系统开销总共为13ms。因此,若没有因用户进程等待I/O等原因而出现CPU空闲的情况,CPU的最大利用率为:(100-13)100=87%。 ``030510012020101 两个进程争夺同一个资源 。 A.一定死锁 C.只要互斥就不会死锁 ``030510012020100 ``030510022020101 产生死锁的原因是 有关。 A.与多个进程竞争CPU B.与多个进程释放资源 C.仅由于并发进程的执行速度不当 D.除资源分配策略不当外,也与并发进程执行速度不当 ``030510022020100 ``030510032020101 有关产生死锁的叙述中,正确的是 。 A.V操作可能引起死锁 ``030510032020100 ``030510042020101 有关死锁的论述中, 是正确的。 A.“系统中仅有一个进程进入了死锁状态” B.“多个进程由于竞争CPU而进入死锁” C.“多个进程由于竞争互斥使用的资源又互不相让而进入死锁” D.“由于进程调用V操作而造成死锁” ``030510042020100 ``030510052020101 “死锁”问题的讨论是针对 的。 A.某个进程申请系统中不存在的资源 B.某个进程申请资源数超过了系统拥有的最大资源数 C.硬件故障 D.多个并发进程竞争独占型资源 C D B.P操作不会引起死锁 D.以上说法均不正确 C.PV操作使用得当不会引起死锁 D B D.以上说法都不对 B.不一定死锁 10分 ``030510052020100 ``030510062020101 有关资源分配图中存在环路和死锁关系,正确的说法是 。 A.图中无环路则系统可能存在死锁 B.图中无环路则系统可能存在死锁,也可能不存在死锁 C.图中有环路则系统肯定存在死锁 D.图中有环路则系统可能存在死锁,也可能不存在死锁 ``030510062020100 ``030510072020101 产生系统死锁的原因可能是由于 。 A.进程释放资源 ``030510072020100 ``030510082020101 在解决死锁问题的方法中,属于“死锁避免”策略的是 。 A.银行家算法 C.资源有序分配法 ``030510082020100 ``030510092020101 对资源采用按序分配策略能达到 的目的。 A.防止死锁 ``030510092020100 ``030510102020101 系统出现死锁的原因是 。 A.计算机系统出现了重大故障 B.有多个等待态的进程同时存在 C.若干进程因竞争资源而无休止地等待着它方释放已占有的资源 D.资源数大大少于进程数或进程同时申请的资源数大大超过资源总数 ``030510102020100 ``030510111020101 在操作系统中,所谓“死锁”是指 。 A.程序死循环 B.多个进程彼此等待资源而不能前进的状态 C A B.避免死锁 C.检测死锁 D.解除死锁 A B.死锁检测算法 D.资源分配图化简法 C B.一个进程进入死循环 D.多个进程竞争共享型设备 C.多个进程竞争资源出现了循环等待 D D C.硬件故障 ``030510111020100 ``030510121020101 B D.时间片太短,进程的调进调出太频繁而效率太低 以下 不属于死锁的必要条件。 A.互斥使用资源 C.不可抢夺资源 ``030510121020100 ``030510132020101 在为多个进程所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的 也可能产生死锁。 A.进程优先权 C.进程的推进顺序 ``030510132020100 ``030510142020101 采用资源剥夺法可以解除死锁,还可以采用 方法解除死锁。 A.执行并行操作 C.拒绝分配新资源 ``030510142020100 ``030510152020101 在下列解决死锁的方法中,不属于死锁预防策略的是 。 A.资源的有序分配法 C.分配的资源可剥夺法 ``030510152020100 ``030510162020101 系统中有4个并发进程,都需要某类资源3个。试问该类资源最少为 个时,不会因竞争该资源而发生死锁。 A.9 ``030510162020100 ``030510173020201 设系统中有n个并发进程,竞争资源R,且每个进程都需要m个R类资源,为使该系统不会因竞争该类资源而死锁,资源R至少要有 个。 A.n*m+1 ``030510173020200 B.n*m+n C.n*m+1-n D.无法预计 A B.10 C.11 D.12 D D.银行家算法 B.资源的静态分配法 B B.撤消进程 D.修改信号量 C B.资源的静态分配 D.分配队列优先权 D B.占有并等待资源 D.静态分配资源 C ``030510183020501 某计算机系统中有8台打印机,有k个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的k的最小值是__________。 A.2 ``030510183020500 ``030510192020401 设有12个同类资源可供4个进程共享,资源分配情况如下表所示。 进程 P1 P2 P3 P4 A.P1 ``030510192020400 ``030510202020401 某时刻进程的资源使用情况如下表所示。 进程 P1 P2 P3 P4 已分配资源 R1 2 1 0 0 R2 0 2 1 0 R3 0 0 1 1 R1 0 1 1 2 尚需资源 R2 0 3 3 0 R3 1 2 1 0 0 2 1 R1 可用资源 R2 R3 A 已占用资源数 2 3 4 1 B.P2 最大需求数 4 6 7 4 C.P3 D.P4 C B.3 C.4 D.5 当进程P1,P2,P3,P4又都相继提出申请要求,为使系统不致死锁,应满足 的要求。 此时的安全序列是 。 A.P1,P2,P3,P4 C.P1,P4,P3,P2 ``030510202020400 ``030510212020401 设有五个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3,这些资源总数分别为18、6、22,T0时刻的资源分配情况如下表所示,此时存在的一个安全序列是 。 进程 P0 P1 P2 R1 3 4 4 已分配资源 R2 2 0 0 R3 3 3 5 R1 5 5 4 资源最大需求 R2 5 3 0 R3 10 6 11 D B.P1,P3,P2,P4 D.不存在 P3 P4 A.P0,P2,P4,P1,P3 C.P2,P3,P4,P1,P0 ``030510212020400 ``030510222020101 D 2 3 0 1 4 4 4 4 2 2 5 4 B.P1,P0,P3,P4,P2 D.P3,P4,P2,P1,P0 在多进程的并发系统中,肯定不会因竞争 而产生死锁。 A.打印机 ``030510222020100 ``030510232020101 采用 的手段可以防止系统出现死锁。 A.PV操作管理临界资源 C.资源静态分配策略 ``030510232020100 ``030510242020101 以下叙述中,正确的是 。 A.进程调度原语主要是按一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。 B.预防死锁发生可通过破坏死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。 C.采用信号量同步机制的系统,进程进入临界区时要执行V原语 D.既考虑作业的等待时间,又考虑作业执行时间的调度算法称为电梯调度算法。 ``030510242020100 ``030510252020101 下列有关PV操作和死锁的叙述中,正确的是 。 A.V操作可能引起死锁 ``030510252020100 ``030510262020101 当进程A使用磁带机时,进程B又申请磁带机,这种情况 。 A.是不可能出现的 ``030510262020100 ``030510272020101 S为死锁状态的充要条件是 ,该充要条件称为死锁定理。 D B.是没法解决的 C.就是死锁 D.以上均不正确 D B.P操作不会引起死锁 D.以上说法均不正确 C.使用PV操作不会引起死锁 B C B.限制进程互斥使用临界资源 D.定时运行死锁检测程序 D B.磁带机 C.磁盘 D.CPU A.当且仅当S状态的资源分配图是不可完全简化的 B.当且仅当S状态的资源转换图是不可完全简化的 C.当且仅当S状态的资源分配图是可完全简化的 D.当且仅当S状态的资源转换图是可完全简化的 ``030510272020100 ``030550282101201 某系统有A,B,C三类资源(数量分别为17,5,20)和P1~P5五个进程,在T0时刻系统状态如下表所示: 进程 P1 P2 P3 P4 P5 最大资源需求量 A 5 5 4 4 4 B 5 3 0 2 2 C 9 6 11 5 4 已分配资源数量 A 2 4 4 2 3 B 1 0 0 0 1 C 2 2 5 4 4 A 系统采用银行家算法实施死锁避免策略,请回答下列问题: ①T0时刻是否为安全状态?若是,请给出安全序列。 ②在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么? ③在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? ``030550282101200 ① 由已知条件可得尚需矩阵Need和可用资源向量Avalable如下: Need A P1 P2 P3 P4 P5 3 1 0 2 1 B 4 3 0 2 1 C 7 4 6 1 0 Avalable A 2 B 3 C 3 利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 P4 P2 P3 P5 P1 Work 2 3 3 4 3 7 8 3 9 12 3 14 15 4 18 Need 2 2 1 1 3 4 0 0 6 1 1 0 3 4 7 Allocation 2 0 4 4 0 2 4 0 5 3 1 4 2 1 2 Work+Allocation 4 3 7 8 3 9 12 3 14 15 4 18 17 5 20 Finish true true true true true 从上述分析可知,存在一个安全序列P4,P2,P3,P5,P1,故T0时刻系统是否安全的。 5分 ② 在T0时刻若进程P2请求资源(0,3,4),不能实施资源分配。因为当前C类资源剩余3个而P2 请求4个,客观条件无法满足它的请求,因此不能实施资源分配,P2阻塞。 7分 ③ 在②的基础上,若进程P4请求资源(2,0,1),可以实施资源分配。因为由①可知,P4是安全 序列中的第一个进程,只要P4的请求量没有超出它的尚需量,系统满足它的请求后仍处于安全状态,即仍然存在安全序列P4,P2,P3,P5,P1。 10分 ``030550292101201 用银行家算法考虑下列系统状态 : 进程 分配矩阵 最大需求矩阵 资源总数向量 A 3 0 1 1 4 1 1 1 6 3 4 2 B 0 1 0 0 0 2 1 2 C 1 1 1 0 4 2 1 0 D 1 1 0 1 1 1 1 1 E 0 0 0 0 2 1 1 0 问:(1) 系统是否安全?(应说明理由) (2) 若进程B请求(0,0,1,0),可否立即分配?请分析说明。 (3) 此后进程E也请求(0,0,1,0),可否分配给它?请分析说明。 ``030550292101200 解:(1) 由已知条件可得Need和Avaiable矩阵如下: 进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) A 3 0 1 1 1 1 0 0 1 0 2 0 B 0 1 0 0 0 1 1 2 C 1 1 1 0 3 1 0 0 D 1 1 0 1 0 0 1 0 E 0 0 0 0 2 1 1 0 利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 D A B C E Work 1 0 2 0 2 1 2 1 5 1 3 2 5 2 3 2 6 3 4 2 Need 0 0 1 0 1 1 0 0 0 1 1 2 3 1 0 0 2 1 1 0 Allocation 1 1 0 1 3 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 Work+Allocation 2 1 2 1 5 1 3 2 5 2 3 2 6 3 4 2 6 3 4 2 4分 Finish true true true true true 从上述分析可知,存在一个安全序列D,A,B,C,E,故当前系统是否安全的。 (2)若进程B请求(0,0,1,0),试分配并修改相应的数据结构,则系统状态变为: 进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) A 3 0 1 1 1 1 0 0 1 0 1 0 B 0 1 1 0 0 1 0 2 C 1 1 1 0 3 1 0 0 D 1 1 0 1 0 0 1 0 E 0 0 0 0 2 1 1 0 利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 D A B C E Work 1 0 1 0 2 1 1 1 5 1 2 2 5 2 3 2 6 3 4 2 Need 0 0 1 0 1 1 0 0 0 1 0 2 3 1 0 0 2 1 1 0 Allocation 1 1 0 1 3 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 Work+Allocation 2 1 1 1 5 1 2 2 5 2 3 2 6 3 4 2 6 3 4 2 Finish true true true true true 从上述分析可知,存在安全序列D,A,B,C,E,故系统仍是否安全的,因此可以立即分配。 7分 (3)此后进程E也请求(0,0,1,0),则系统状态变为: 进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) A 3 0 1 1 1 1 0 0 1 0 0 0 B 0 1 1 0 0 1 0 2 C 1 1 1 0 3 1 0 0 D 1 1 0 1 0 0 1 0 E 0 0 1 0 2 1 0 0 此时系统剩余资源(1,0,0,0)已不能满足任何进程的需求,即已找不到一个安全序列,系统状态将变为不安全,故不能分配给E。 ``030550302101201 某系统有A、B、C、D这4类资源供5个进程共享,进程对资源的需求和分配情况如下表所示。 进程 P1 P2 P3 P4 P5 已占资源 A 0 1 1 0 0 B 0 0 3 6 0 C 1 0 5 3 1 D 2 0 4 2 4 A 0 1 2 0 0 最大需求数 B 0 7 3 6 6 C 1 5 5 5 5 D 2 0 6 2 6 10分 现在系统中A、B、C、D类资源分别还剩1、5、2、0个,请按银行家算法回答下列问题: (1) 现在系统是否处于安全状态? 为什么? (2) 如果现在进程P2提出需要(0,4,2,0)个资源的请求,系统能否满足它的请求?为什么? ``030550302101200 解:(1) 由已知条件可得Need矩阵如下: 进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) P1 0 0 1 2 0 0 0 0 1 5 2 0 P2 1 0 0 0 0 7 5 0 P3 1 3 5 4 1 0 0 2 P4 0 6 3 2 0 0 2 0 P5 0 0 1 4 0 6 4 2 利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 P1 P3 P2 P4 P5 Work 1 5 2 0 1 5 3 2 2 8 8 6 3 8 8 6 3 14 11 8 Need 0 0 0 0 1 0 0 2 0 7 5 0 0 0 2 0 0 6 4 2 Allocation 0 0 1 2 1 3 5 4 1 0 0 0 0 6 3 2 0 0 1 4 Work+Allocation 1 5 3 2 2 8 8 6 3 8 8 6 3 14 11 8 3 14 12 12 Finish true true true true true 从上述分析可知,存在安全序列P1,P3,P2,P4,P5,故系统状态是否安全的。(注:安全序列不唯一) 5分 (2)若进程P2请求(0,4,2,0),试分配并修改相应的数据结构,则系统状态变为: 进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) P1 0 0 1 2 0 0 0 0 1 1 0 0 P2 1 4 2 0 0 3 3 0 P3 1 3 5 4 1 0 0 2 P4 0 6 3 2 0 0 2 0 P5 0 0 1 4 0 6 4 2 进程P1已获得全部资源,可运行完成。P1结束归还资源后,系统剩余资源为(1, 1, 1, 2),能满足P3的需求,P3可运行完成。P3结束释放资源后,系统剩余资源为(2, 4, 6, 6),能满足P2的需求,P2可运行完成。P2结束释放资源后,系统剩余资源为(3, 8, 8, 6)。类似地,P4、P5也能获得所需资源而运行完成。因此存在安全序列P1, P3, P2, P4, P5,即系统仍然是否安全的,因此系统能满足P2的请求。 ``030550312101001 假设某系统有某类资源12个,有P1、P2、P3三个进程来共享,已知P1、P2、P3所需该类资源总数分别为8、6、9,它们申请资源的次序和数量如下表所示: 序号 1 2 3 4 5 6 : 系统采用银行家算法分配资源,问: (1) 哪几次申请被满足会使系统进入不安全状态?请应说明理由。 (2) 执行完序号为6的申请后,各进程的状态和各进程占用的资源数如何? ``030550312101000 答:(1) 显然,前3次申请满足后,系统状态仍是安全的,因为,此时系统中剩余资源数为2,P1、P2、P3 尚需资源数分别为6、2、5,存在安全序列{P2,P1,P3}; 此后,P1再申请1个资源(序号4),若被满足,则系统中剩余的可用资源数为1,而P1、P2、P3尚需资源数分别为5、2、5,剩余资源已不能满足任何进程的尚需量,即已不存在安全序列,系统进入不安全状态。故系统不能满足P1的申请,P1阻塞。 同样,P3申请2个资源(序号5),若被满足,则系统中剩余的可用资源数为0,而P1、P2、P3尚需资源数分别为6、2、3,剩余资源已不能满足任何进程的尚需量,即已不存在安全序列,系统进入不安全状态。故系统不能满足P3的申请,P3阻塞。 P2申请2个资源(序号6),可以被满足。 的资源数分别为2、6、4。 ``030550323100601 若系统有同类资源m个,供n个进程共享,试问:当m>n和m≤n时,每个进程最多可以申请多少个这类资源而使系统一定不会发生死锁? ``030550323100600 解:设每个进程申请该类资源的最大量为x个,则只要不等式n(x-1)+1≤m成立,系统一定不会发生死锁。 因为最坏情况下,每个进程都已获得x-1各资源,则n个进程共获得n(x-1)个资源,而不等式n(x-1)+1≤m表示每个进程都已获得x-1各资源后,系统仍有课分配的资源,这样,至少有一个进程可以得到 10分 6分 (2) 执行完序号为6的申请后,P1、P3处于阻塞状态,P2处于运行状态或就绪状态。P1、P2、P3占用 进程 P3 P1 P2 P1 P3 P2 : 申请量 4 2 4 1 2 2 : 10分 全部资源,从而能执行完成,它完成后释放的资源又可使其它进程执行完成。 解不等式 n(x-1)+1≤m ,可得 x≤1+(m-1)/n 于是可得 1 当m≤n x= 1+[(m-1)/n] 当m>n ``030540333100801 某系统有同类资源m个供n个进程共享,如果每个进程最多需要x个资源(1≤x≤m)且各进程的最大需求量之和ΣNeedi小于(m + n)。证明系统没有因申请该类资源而发生死锁的危险。 ``030540333100800 证明:在最坏情况下,每个进程都已占有(x-1)个该类资源,各进程最多再申请1个资源就可以运行完毕,进而释放它所占有的全部资源。 3分 在此情况下,系统剩余的资源数为:m-n*(x-1)。当m-n*(x-1)≥1时,即n*x≤m+n-1时,至少有1个进程可以获得全部资源,从而能运行完成,释放资源供别的进程使用,因此系统不会出现死锁。 ΣNeedi=n*x≤m+n-1 或 ΣNeedi 某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况见表1,此时系统的可用资源向量为(2, 1, 2),试问: (1) 将系统中各种资源总数和此刻各进程对各资源的需求数目用向量或矩阵表示出来; (2) 如果此时P1和P2均发出资源请求向量(1, 0, 1),为了保证系统的安全性,应该如何分配资源给这 两个进程?说明你所采用策略的原因。 (3) 如果(2)中两个请求立即得到满足后,系统此时是否处于死锁状态? 表1 T0时刻4个进程对资源的占用和需求情况 最大资源需求量Max R1 P1 P2 P3 P4 ``030550343101500 解:(1) 系统中资源总数是可用资源数与各进程已分配资源数之和,即 (2, 1, 2) + (1, 0, 0) + (4, 1, 1) + (2, 1, 1) + (0, 0, 2) = (9, 3, 6) 各进程对各资源的需求量为Max与Allocation之差,即 2分 3 6 3 4 R2 2 1 1 2 R3 2 3 4 2 已分配资源量Allocation R1 1 4 2 0 R2 0 1 1 0 R3 0 1 1 2 7分 10分 因此得出,系统中所有进程的最大需求之和ΣNeedi满足下式时不会死锁: 36342211341422200021121110242202 0320 4分 (2) 若此时P1发出资源请求Request1 (1, 0, 1),按银行家算法进行检查: Request1 (1, 0, 1)≤Need1 (2, 2, 2) Request1 (1, 0, 1)≤Available (2, 1, 2) 试分配并修改相应的数据结构,资源分配情况如下: 进程 P1 P2 P3 P4 2 4 2 0 Allocation 0 1 1 0 1 1 1 2 1 2 1 4 Need 2 0 0 2 1 2 3 0 1 Available 1 1 利用安全性检查算法检查,可知可用资源向量(1, 1, 1)已不能满足任何进程的需求,故若分配给P1,系统将进入不安全状态,因此此时不能将资源分配给P1。 Request2 (1, 0, 1)≤Need2 (2, 0, 2) Request2 (1, 0, 1)≤Available (2, 1, 2) 试分配并修改相应的数据结构,资源分配情况如下: 进程 P1 P2 P3 P4 1 5 2 0 Allocation 0 1 1 0 0 2 1 2 2 1 1 4 Need 2 0 0 2 2 1 3 0 1 Available 1 1 6分 若此时P2发出资源请求Request2 (1, 0, 1),按银行家算法进行检查: 利用安全性检查算法,可得此时刻的安全性分析情况如下: 进程 P2 P3 P4 P1 Work 1 1 1 6 2 3 8 3 4 8 3 6 Need 1 0 1 1 0 3 4 2 0 2 2 2 Allocation 5 1 2 2 1 1 0 0 2 1 0 0 Work+Allocation 6 2 3 8 3 4 8 3 6 9 3 6 Finish true true true true 从上面分析可知,存在一个安全序列{P2, P3, P4, P1},故该状态时安全的,可以立即将P2所申请的资源分配给它。 8分 (3) 如果(2)中两个请求立即得到满足后,系统此时并没有立即进入死锁状态,因为此时所有进程没有 提出新的资源请求,全部进程都没有因资源请求没有得到满足而进入阻塞状态。只有当进程提出新的资源请求且全部进程(指P1-P4)都进入阻塞状态时,系统才处于死锁状态。 ``030550352101001 某系统中有10台打印机,有三个进程P1,P2,P3分别需要8台,7台和4台。若P1,P2,P3已申请到4台,2台和2台。试问:按银行家算法能安全分配吗?请说明分配过程。 ``030550352101000 解:由题目所给条件,可得如下有关数据结构: 进程 Max P1 P2 P3 2分 8 7 4 Allocation Need Available 4 2 2 4 5 2 2 10分 故按银行家算法能安全分配。 运行到完成。 3分 7分 9分 10分 分配过程是:首先将当前剩余的2台打印机全部分配给P3,使P3得到所需的全部打印机数,从而可 5分 P3完成后,释放的4台打印机全部分配给P1,使P1也能运行完成; P1完成后释放的8台打印机,其中5台可供P2使用,使P2也能运行结束。 即系统按P3、P1、P2的顺序分配打印机,就能保证系统状态是安全的。 ``030550363101201 当前系统中总共有10个资源,系统采用银行家算法分配资源。现有P、Q、R三个进程,所需资源总数分别为8、4、9,它们向系统申请资源的次序和数量为: 序号 1 2 3 4 5 6 进程 Q P R P Q R 申请数 1 3 4 1 2 2 回答:(1)把系统处理完上述诸请求后,各进程的状态及所占资源量填入下表: 进程 P Q R 所占资源量 进程状态 (2)若进程继续申请资源,你估计系统是否会出现死锁?为什么? ``030550363101200 解:(1) 系统处理完上述诸请求后,各进程的状态及所占资源量如下表所示。 进程 P Q R 6分 所占资源量 4 1 4 进程状态 运行 阻塞 阻塞 (2) 进程Q、R已阻塞,若进程P继续申请1个资源,可以得到满足,但系统中已无资源可分配,而进程P还需要3个资源,此后进程P再申请资源将会阻塞。最终,P、Q、R全部等待资源而阻塞,即发生了死锁。 ``030550373100901 10分 假定某系统当时的资源分配图如图3-2所示: 图3-2 (1)分析当时系统是否存在死锁。 (2)若进程P3再申请R3时,系统将发生什么变化,说明原因。 ``030550373100900 解:(1) 因为当时系统的资源分配图中不存在环路.所以不存在死锁。 4分 (2) 当进程P3申请资源R3后,资源分配图中形成环路P2→R2→P3→R3→P2,而R2,R3都是单个资源的 类,该环路无法消除,所以进程P2,P3永远处于等待状态.从而引起死锁。 ``030550382101101 设系统中仅有一类数量为M的独占资源,系统中N个进程竞争该类资源,其中各进程对该类资源的最大需求量为W。当M、N、W分别取下列值时,试判断哪些情况可能会发生死锁?哪些情况不可能发生死锁?为什么? ①M=2, N=2, W=1 ②M=3, N=2, W=2 ③M=3, N=2, W=3 ④M=5, N=3,W=2 ⑤M=6, N=3, W=3 ``030550382101100 解:M、N、W满足关系式N(W-1) 10分 4分 7分 10分 因篇幅问题不能全部显示,请点此查看更多更全内容