计算机操作系统复习题
A( ){ while(1){P(Sem);把数据块输入到缓冲区S;V(Sfull);} } B( )和C( ){
while(1){
P(Sfull); P(Tem); P(mutex);
把数据块从缓冲区S复制到T中; V(mutex); V(Sem); V(Tfull); } }
D( ){ while(1) {P(Tfull); P(mutex);将缓冲区T中的数据块打印;V(mutex);V(Tem);} }
6.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用记录型信号量实现爸爸.儿子.女儿三个并发进程的同步。 参考答案:
在本题中,应设置三个信号量S.So.Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:
Semaphore S=1,So=0,Sa=0; father()
{ while(1)
{ P(S );
将水果放入盘中;
if (放入的是桔子) V(So); else V(Sa); }
}
son( )
{ while(1)
{ P(So);
从盘中取出桔子; V(S);
吃桔子; }
}
daughter( )
{ while(1)
{ P(Sa);
从盘中取出苹果; V(S); 吃苹果;}
}
鞍山师范学院数学与计算科学学院 2013年4月
计算机操作系统复习题
第三章:处理机调度与死锁
一.选择题
1. 计算时间短的作业优先调度算法会使( C )。 A. 每个作业等待时间较短 B. 系统效率最高
C. 平均周转时间最短 D. 长作业等待时间较短
2. 某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是( C )。
A. 2 B. 3 C. 4 D. 5 3. 死锁的解除方法有( A )。
A. 撤销进程 B. 有序分配资源 C. 资源共享 D. 采用银行家算法 4. 分时系统中的当前运行进程连续获得了两个时间片,原因可能是( C )。 A. 该进程的优先级最高 B. 该进程是一个短进程 C. 就绪队列为空 D. 该进程最早进入就绪队列
5. 选择作业调度算法时,从系统角度,主要希望进入“输入井”的作业的( B )。 A. 响应时间短B. 平均周转时间短C.服务费用低D.优先权高的作业能优先得到服务 6. 下列进程调度算法中,可能会出现进程长期得不到调度的情况( C ) 。 A.先进先出调度算法 B. 时间片轮转调度算法 C.抢占式静态优先权法 D. 非抢占式动态优先权法
7. 现有3个同时到达的作业J1,J2,J3,它们的执行时间分别是T1,T2,T3,且T1 A. T1+T2+T3 B. (T1+T2+T3)/3 C.(T1+2T2+3T3)/3 D. (3T1+2T2+T3)/3 8. 若进程P一旦被唤醒就能够投入运行,系统可能为( A )。 A. 抢占调度方式,P的优先级高于当前运行的进程 B. 抢占调度方式,就绪队列上的所有进程的优先级皆比P的低 C. 就绪队列为空队列 D. 在分时系统中,进程P的优先级最高 9.某系统中有4个并发进程,都需要同类资源5个,试问该系统不会发生死锁的最少资源数是( B )。 A.16 B.17 C.18 D.19 10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的( B )不成立。 A.互斥条件 B.请求和保持条件 C.不可剥夺条件 D.环路等待条件 11.有关资源分配图中存在环路和死锁关系正确的说法是( C) A. 图中无环路则系统可能存在死锁 B. 图中有环路则系统肯定存在死锁 C. 图中有环路则系统可能存在死锁,也可能不存在死锁D. 以上说法都不对 12.银行家算法可以实现死锁的( B )。 A.恢复 B.避免 C.检测 D.预防 13.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是( B )。 A.9 B.10 C.11 D.12 14.采用资源剥夺法可以解除死锁,还可以采用( B )方法解除死锁。 A.执行并行操作 B.撤销进程 C.拒绝分配新资源 D.修改信号量 15.下列四个选项描述的时间组成了周转时间,其中不能发生多次的是( B )。 A.等待I/O操作完成的时间 B.作业在外存后备队列上等待作业调度的时间 C.进程在CPU上的执行时间 D.进程在就绪队列上等待进程调度的时间 鞍山师范学院数学与计算科学学院 2013年4月 计算机操作系统复习题 16.选择作业调度算法时常考虑的因素之一是使系统有最高的吞吐率,为此应(C )。 A.不让处理机空闲B.使各类用户都满意 C.处理尽可能多的作业D.不使系统过于复杂 17.下列各项工作步骤中,( A )不是创建进程所必需的步骤。 A. 作业调度程序为进程分配CPU B. 建立一个PCB C. 为进程分配内存等资源 D. 将PCB链入进程就绪队列 18.按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。 A .先来先服务 B. 最短作业优先 C.定时轮转法 D. 优先数法 19.避免死锁的一个著名算法是( B )。 A.先入先出法 B.银行家算法 C.优先级算法 D.资源按序分配法 20.设有4个作业同时到达,每个作业的执行时间都是2小时,它们在一台处理机上按单道方式运行,则平均周转时间为( C) A.1小时 B.2.5小时 C.5小时 D.8小时 21.某系统中有4个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( C )。 A.7 B.8 C.9 D.10 22.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和( A )相同。 A.先来先服务调度算法 B.短作业优先调度算法 C.时间片轮转调度算法 D.长作业优先调度算法 23.进程调度又称为( C )调度。 A.线程 B.程序 C.低级 D.作业 24.进程在获得资源后,只能在使用完资源时由自己释放,这属于死锁必要条件的( C )。 A .互斥条件 B .请求和释放条件 C .不剥夺条件D .环路等待条件 25.资源的按序分配策略可以破坏( D )条件。 A.互斥使用资源 B.占有且等待资源 C.非剥夺资源 D.循环等待资源 26.进程调度算法中的( A )属于抢夺式的分配处理器的策略。 A.时间片轮转法 B.非抢夺式优先数法 C.先来先服务算法 D.最高响应比优先调度算法 27.资源预先分配策略可以实现死锁的( D )。 A.恢复 B.避免 C.检测 D.预防 28.进程调度又称为低级调度,其主要功能是( D )。 A.选择一个作业调入内存 B.选择一个主存中的进程调出到外存 C.选择一个外存中的进程调入到主存 D.将一个就绪的进程投入运行 29.为了照顾紧迫型作业,应采用( D )。 A.先来服务调度算法 B.短作业优先调度算法 C.时间片轮转调度算法 D.优先权调度算法 30.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中(D)不是引起操作系统选择新进程的直接原因。 A. 运行进程的时间片用完 B. 运行进程出错 C. 运行进程要等待某一事件发生 D. 有新进程进入就绪队列 31.某系统采用了银行家算法,则下列叙述正确的是( B )。 A.系统处于不安全状态时一定会发生死锁 B.系统处于不安全状态时可能会发生死锁 C.系统处于安全状态时可能会发生死锁 D.系统处于安全状态时一定会发生死锁 鞍山师范学院数学与计算科学学院 2013年4月 计算机操作系统复习题 32.在下列选项中,属于避免死锁的方法是( D )。 A.剥夺资源法B.资源分配图简化法 C.资源随意分配D.银行家算法 二.判断题 1.动态优先级调度中,一般规定随着进程等待时间的增加其优先级增加。( √) 2.死锁是一种仅与进程推进速度有关的错误,与其他因素无关。( × ) 3.使用wait.signal操作能完全避免死锁。( × ) 4.若系统中存在一个循环等待的进程集合,则必定会产生死锁。( × ) 5.系统处于不安全状态必然导致系统死锁。( × ) 6.只要破坏产生死锁四个必要条件其中一个就可预防死锁的发生。( √ ) 7.作业调度能够使作业真正获得CPU。( × ) 8.短作业优先调度算法会使每个作业的等待时间最短。(× ) 9.作业周转时间是指作业需要的运行时间。( × ) 10.参与死锁的所有进程都占有资源。( × ) 11.如果系统在所有进程运行前,一次性地将其在整个运行过程所需的全部资源分配给进程,即所谓“静态分配”法,是可以预防死锁发生的。( √ ) 12.死锁是指两个或多个进程都处于相互等待状态而无法继续推进。( √ ) 13.银行家算法是确保系统处于安全状态下才把资源分配给申请者的。( √ ) 14.短作业优先调度算法具有最短的平均周转时间,因此这种算法是最好的算法。 ( ×) 15.多个进程竞争比进程数目少的资源时就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。( × ) 16.死锁是一种与时间有关的错误,它与进程的推进速度无关。( × ) 17.处理死锁,只要采用预防.解除.检测.避免之中的一种就足够了。( × ) 18.在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,则存在一个安全序列,且这个安全序列是唯一的。( × ) 三.填空题 1. 产生死锁的必要条件有互斥条件.不剥夺条件.(请求和保持条件)和(环路等待条件)。 2.处理机的三级调度是作业调度.( 进程调度 ).( 交换调度 )。 3.如果时间片无穷大,则时间片轮转调度算法将变成(先来先服务算法)或者(FCFS)。 4.系统有4个并发进程,都需要同类资源6个,该系统不会发生死锁的最少资源数是(21) 个。 5.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是(短作业优先算法)或者(SJF)。 7.进程的调度方式有两种,一种是( 剥夺方式 ),另一种是(非剥夺方式 )。 7.若使当前运行进程总是优先级最高的进程,应选择(可剥夺最高优先级)进程调度算法。 四.简答题 1. 目前解决死锁问题常采用哪几种措施,各自的思想分别是什么? 答案:解决死锁问题常采用的措施有: 死锁的预防。通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个,来预防死锁。(常见的有预先分配策略和有序分配策略) 死锁避免。在资源的动态分配过程中,用某种方法防止系统进入不安全状态,从而避免死锁。 死锁动态检测与恢复。系统检测机构及时地检测出死锁的发生,然后采取某种措施解除死锁。 2.分析作业调度与进程调度有什么不同? 答案:(1)作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理机。(或)作业调度是高级调度,它位于操作系 鞍山师范学院数学与计算科学学院 2013年4月 计算机操作系统复习题 统的作业管理层次。进程调度是低级调度,它位于操作系统分层结构的最内层。 (2)作业调度是选符合条件的后备态作业装入内存。进程调度是从就绪态进程中选一个占用处理机。 3. 什么是死锁?产生死锁的必要条件是什么? 答案:一组进程中的每个进程均等待此组进程中某一其他进程所占有的.因而永远无法得到的资源,这种现象称作死锁。产生死锁的必要条件主要有:互斥条件 ; 请求和保持条件 ; 不剥夺条件 ; 环路等待条件 4.调度有几种类型?各类调度完成哪些工作? 答案:低级调度:进程或线程调度 中级调度:交换调度 高级调度:作业调度 5.什么是死锁?产生死锁的原因是什么? 答案:一组进程中的每个进程均等待此组进程中某一其他进程所占有的.因而永远无法得到的资源,这种现象称作死锁。死锁产生原因有:(1)系统资源不足(2)进程推进顺序不当 6. 一台计算机有8台磁带机。它们由N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明原因。 解:当N为1,2,3时,系统没有产生死锁的危险。因为,当系统中只有1个进程时,它最多需要3台磁带机,而系统有8台磁带机,不会发生死锁。当系统中有2个进程时,它最多需要6台磁带机,而系统有8台磁带机,也不可能发生死锁。当系统中有3个进程时,3个进程中必有进程可以获得3台磁带机,该进程已获得所需的全部资源并顺利运行完毕,从而可将它占有的资源归还给系统,保证其与进程顺利运行完毕,不会发生死锁。 7.关于处理级调度,试问:(1)什么是处理机的三级调度? (2)处理机的三级调度分别在什么情况下发生? 答:(1)处理机的三级调度是指:高级调度.中级调度和低级调度 (2)高级调度在需要从后备作业队列中选择作业进入内存运行时发生,或是从执行完毕的作业队列中选择作业进入外存时发生。 中级调度是在内存紧张不能满足进程运行需要时发生,或在内存不紧张,将外存处于挂起状态的进程调入内存时发生;低级调度在选择一个就绪进程投入运行时发生。 五.操作题 1. 假设在单道程序环境下有 4 道作业,它们提交的时刻及执行时间由下表给出,要求填写表格空白处。 FCFS算法: 作业号 1 2 3 4 作业号 1 2 3 4 提交时刻 (小时) 9.0 9.2 10.0 10.9 提交时刻 (小时) 9.0 9.2 10.0 10.9 执行时间 完成时刻(小(小时) 时) 2 0.8 0.9 0.3 周转时间(小时) 周转时间(小时) 带权周转时间(小时) 带权周转时间(小时) HRN算法: 执行时间 完成时刻(小(小时) 时) 2 0.8 0.9 0.3 参考答案:FCFS算法: 鞍山师范学院数学与计算科学学院 2013年4月