|
综合练习 1、综合应用题 【239001】 某寺庙有小和尚、老和尚若干,有一水缸,由小和尚提水入缸供老和尚饮用,水缸可容纳10桶水,水取自同一口井,水井径窄,每次只能容一个桶取水,水桶总数为3个,每次入缸取水仅为1桶水,且不可同时进行,试给出有关从缸取水、入水的算法描述。 答案:从井中取水并放入水缸是一个连续的动作可以视为一个进程,从缸中取水为另一个进程。设水井和水缸为临界资源,引入well、vat;三个水桶无论从井中取水还是放入水缸中都是一次一个,应该给它们一个信号量pail,抢不到水桶的进程只好等待。水缸满时,不可能再放水,设置empty信号量控制入水量;水缸空时,不可以取水,设置full信号量来控制。本题需要设置5个信号量来控制: semaphore well=1; //用于互斥地访问水井 semaphore vat=1; //用于互斥地访问水缸 semaphore empty=10; //用于表示水缸中剩余空间能容纳的水的桶数 semaphore full=0; //表示水缸中的水的桶数 semaphore pail=3; //表示有多少个水桶可以用,初值为3 //老和尚 while(1){ p(full); p(pail); p(vat); 从水缸中打一桶水; V(vat); V(empty); 喝水; V(pail); } //小和尚 while(1){ p(empty); p(pail); p(well); 从井中打一桶水; V(well); p(vat); 将水倒入水缸中; V(vat); V(full); V(pail); } 答案 2、单项选择题 【234599】 原语是( )。 A. 运行在用户态的过程 B. 操作系统内核 C. 可中断的指令序列 D. 不可分割的指令序列 答案: D 答案 3、单项选择题 【234594】 以下的( )属于临界资源。 A. 磁盘存储介质 B. 公用队列 C. 私用数据 D. 可重入的程序代码 答案: B 答案 4、单项选择题 【234582】 可以被多个进程在任意时刻共享的代码必须是( )。 A. 顺序代码 B. 机器语言代码 C. 不能自身修改的代码 D. 无转移指令的代码 答案: C 答案 5、单项选择题 【234612】 如果有四个进程共享同一程序段,每次允许三个进程进入该程序段,若用P、V操作作为同步机制,则信号量的取值范围是( )。 A. 4,3,2,1,—1 B. 2,1,0,—1,—2 C. 3,2,1,0,—1 D. 1,0,—1,—2,—3 答案: C 答案 6、单项选择题 【234579】 设有n个进程共享一个相同的程序段,如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值为( )。 A. n B. m C. m—n D. —m 答案: B 答案 7、单项选择题 【234584】 有若干并发进程均将一个共享变量count的值加1一次,那么有关count中的值的正确说法是( )。 1)肯定有不正确的结果 2)肯定有正确的结果 3)若控制这些并发进程互斥执行count加1操作,count中的值正确 A. 1)3) B. 2)3) C. 3) D. 1)2)3)的说法均不正确 答案: C 答案 8、单项选择题 【234601】 在用信号量机制实现互斥时,互斥信号量的初值为( )。 A. 0 B. 1 C. 2 D. 3 答案: B 答案 9、单项选择题 【234581】 一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,它( )。 A. 允许其他进程进入与该进程相关的临界区 B. 不允许其他进程进入临界区 C. 允许其他进程抢占处理器,但不能进入该进程的临界区 D. 不允许任何进程抢占处理器 答案: C 答案 10、单项选择题 【234611】 有一个计数信号量S,假如若干个进程对S进行了28次P操作和18次V操作之后S的值为0,那么,若干个进程对S进行了15次P操作和2次V操作之后,将有( )个进程等待在S的队列中。 A. 2 B. 3 C. 5 D. 7 答案: B 答案 11、单项选择题 【234592】 以下的( )不是同步机制应遵循的准则。 A. 让权等待 B. 空闲让进 C. 忙则等待 D. 无限等待 答案: D 综合练习 1、单项选择题 【234585】 设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别为( )。 A. 0,1 B. 1,0 C. 1,2 D. 2,0 答案: B 答案 2、单项选择题 【234581】 一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,它( )。 A. 允许其他进程进入与该进程相关的临界区 B. 不允许其他进程进入临界区 C. 允许其他进程抢占处理器,但不能进入该进程的临界区 D. 不允许任何进程抢占处理器 答案: C 答案 3、单项选择题 【234589】 不需要信号量就能实现的功能是( )。 A. 进程同步 B. 进程互斥 C. 执行的前驱关系 D. 进程的并发执行 答案: D 答案 4、单项选择题 【234609】 对信号量S执行P操作后,使该进程进入资源等待队列的条件是S的数值( )。 A. 小于0 B. 小于等于0 C. 大于0 D. 大于等于0 答案: A 答案 5、综合应用题 【239002】 某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过,参观者的活动描述如下,请添加必要的信号量和wait、signal操作,以实现该过程中的互斥与同步,要求写成完整的过程,什么信号量的含义并赋初值。 答案:出入口一次仅允许一个人通过,设置互斥信号量mutex,初值为1。博物馆最多可同时容纳500个人,故设置信号量empty,初值为500。 Semaphore empty=500; //博物馆可以容纳的最多人数 Semaphore mutex=1; //用于出入口资源的控制 cobegin 参观者进程i: { ... p(empty); //可容纳人数减1 p(mutex); //互斥使用门1 进门; V(mutex); 参观; p(mutex); //互斥使用门 出门; V(mutex); V(empty); //可容纳人数增1 ... } coend 答案 6、综合应用题 【239001】 某寺庙有小和尚、老和尚若干,有一水缸,由小和尚提水入缸供老和尚饮用,水缸可容纳10桶水,水取自同一口井,水井径窄,每次只能容一个桶取水,水桶总数为3个,每次入缸取水仅为1桶水,且不可同时进行,试给出有关从缸取水、入水的算法描述。 答案:从井中取水并放入水缸是一个连续的动作可以视为一个进程,从缸中取水为另一个进程。设水井和水缸为临界资源,引入well、vat;三个水桶无论从井中取水还是放入水缸中都是一次一个,应该给它们一个信号量pail,抢不到水桶的进程只好等待。水缸满时,不可能再放水,设置empty信号量控制入水量;水缸空时,不可以取水,设置full信号量来控制。本题需要设置5个信号量来控制: semaphore well=1; //用于互斥地访问水井 semaphore vat=1; //用于互斥地访问水缸 semaphore empty=10; //用于表示水缸中剩余空间能容纳的水的桶数 semaphore full=0; //表示水缸中的水的桶数 semaphore pail=3; //表示有多少个水桶可以用,初值为3 //老和尚 while(1){ p(full); p(pail); p(vat); 从水缸中打一桶水; V(vat); V(empty); 喝水; V(pail); } //小和尚 while(1){ p(empty); p(pail); p(well); 从井中打一桶水; V(well); p(vat); 将水倒入水缸中; V(vat); V(full); V(pail); } 答案 7、单项选择题 【234608】 若一个系统中共有5个并发进程涉及到某个相同的变量A,则变量A的相关临界区是由( )个临界区构成的。 A. 1 B. 3 C. 5 D. 6 答案: C 答案 8、单项选择题 【234614】 信箱通信是一种( )通信方式。 A. 直接 B. 间接 C. 低级 D. 信号量 答案: B 答案 9、单项选择题 【234606】 对于两个并发进程,设互斥信号量为mutex(初值为1),若mutex=—1,则( )。 A. 表示没有进程进入临界区 B. 表示有一个进程进入临界区 C. 表示有一个进程进入临界区,另一个进程等待进入 D. 表示有两个进程进入临界区 答案: C 答案 10、单项选择题 【234597】 在操作系统中,P、V操作是一种( )。 A. 机器指令 B. 系统调用命令 C. 作业控制命令 D. 低级进程通信原语 答案: D 答案 11、单项选择题 【234604】 有三个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用P、V操作同步机制,则信号量的取值范围是( )。 A. 2,1,0,—1 B. 3,2,1,0 C. 2,1,0,—1 D. 1,0,—1,—2 答案: A 综合练习 1、单项选择题 【234601】 在用信号量机制实现互斥时,互斥信号量的初值为( )。 A. 0 B. 1 C. 2 D. 3 答案: B 答案 2、综合应用题 【239003】 从利用处理器时间的意义上说,忙等待(busy waiting)是否总比阻塞等待(blocking wait)低效?为什么? 答案:一般而言,忙等待比阻塞等待低效,因为忙等待无谓地消耗指令周期。但是,存在特殊的情形,当一个进程执行到一个需要等待某条件被满足的点,而此时该条件已经满足时,忙等待能够立刻发现已满足的条件,相比之下,阻塞等待还会因为要切换出再切换回进程而消耗操作系统资源,在这种情形,阻塞等待低效。 答案 3、单项选择题 【234614】 信箱通信是一种( )通信方式。 A. 直接 B. 间接 C. 低级 D. 信号量 答案: B 答案 4、单项选择题 【234606】 对于两个并发进程,设互斥信号量为mutex(初值为1),若mutex=—1,则( )。 A. 表示没有进程进入临界区 B. 表示有一个进程进入临界区 C. 表示有一个进程进入临界区,另一个进程等待进入 D. 表示有两个进程进入临界区 答案: C 答案 5、单项选择题 【234603】 用来实现进程同步与互斥的P、V操作实际上是由( )过程组成的。 A. 一个可被中断的 B. 一个不可被中断的 C. 两个可被中断的 D. 两个不可被中断的 答案: D 答案 6、单项选择题 【234584】 有若干并发进程均将一个共享变量count的值加1一次,那么有关count中的值的正确说法是( )。 1)肯定有不正确的结果 2)肯定有正确的结果 3)若控制这些并发进程互斥执行count加1操作,count中的值正确 A. 1)3) B. 2)3) C. 3) D. 1)2)3)的说法均不正确 答案: C 答案 7、综合应用题 【239001】 某寺庙有小和尚、老和尚若干,有一水缸,由小和尚提水入缸供老和尚饮用,水缸可容纳10桶水,水取自同一口井,水井径窄,每次只能容一个桶取水,水桶总数为3个,每次入缸取水仅为1桶水,且不可同时进行,试给出有关从缸取水、入水的算法描述。 答案:从井中取水并放入水缸是一个连续的动作可以视为一个进程,从缸中取水为另一个进程。设水井和水缸为临界资源,引入well、vat;三个水桶无论从井中取水还是放入水缸中都是一次一个,应该给它们一个信号量pail,抢不到水桶的进程只好等待。水缸满时,不可能再放水,设置empty信号量控制入水量;水缸空时,不可以取水,设置full信号量来控制。本题需要设置5个信号量来控制: semaphore well=1; //用于互斥地访问水井 semaphore vat=1; //用于互斥地访问水缸 semaphore empty=10; //用于表示水缸中剩余空间能容纳的水的桶数 semaphore full=0; //表示水缸中的水的桶数 semaphore pail=3; //表示有多少个水桶可以用,初值为3 //老和尚 while(1){ p(full); p(pail); p(vat); 从水缸中打一桶水; V(vat); V(empty); 喝水; V(pail); } //小和尚 while(1){ p(empty); p(pail); p(well); 从井中打一桶水; V(well); p(vat); 将水倒入水缸中; V(vat); V(full); V(pail); } 答案 8、单项选择题 【234592】 以下的( )不是同步机制应遵循的准则。 A. 让权等待 B. 空闲让进 C. 忙则等待 D. 无限等待 答案: D 答案 9、单项选择题 【234604】 有三个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用P、V操作同步机制,则信号量的取值范围是( )。 A. 2,1,0,—1 B. 3,2,1,0 C. 2,1,0,—1 D. 1,0,—1,—2 答案: A 答案 10、单项选择题 【234587】 有两个并发执行的进程P1和P2,共享初值为1的变量x,P1对x加1,P2对x减1。加1操作和减1操作的指令序列分别如下所示: //加1操作//减1操作 load R1, x①//取x到寄存器R1中load R2, x④ inc R1②dec R2⑤ store x, R1③//将R1的内容存入xstorex, R2⑥ 两个操作完成后,x的值( )。 A. 可能为—1或3 B. 只能为1 C. 可能为0、1或2 D. 可能为—1、0、1或2 答案: C 答案 11、单项选择题 【234612】 如果有四个进程共享同一程序段,每次允许三个进程进入该程序段,若用P、V操作作为同步机制,则信号量的取值范围是( )。 A. 4,3,2,1,—1 B. 2,1,0,—1,—2 C. 3,2,1,0,—1 D. 1,0,—1,—2,—3 答案: C 综合练习 1、单项选择题 【234588】 下列对临界区的论述中,正确的是( )。 A. 临界区是指进程中用于实现进程互斥的那段代码 B. 临界区是指进程中用于实现进程同步的那段代码 C. 临界区是指进程中用于实现进程通信的那段代码 D. 临界区是指进程中用于访问共享资源的那段代码 答案: D 答案 2、单项选择题 【234582】 可以被多个进程在任意时刻共享的代码必须是( )。 A. 顺序代码 B. 机器语言代码 C. 不能自身修改的代码 D. 无转移指令的代码 答案: C 答案 3、单项选择题 【234612】 如果有四个进程共享同一程序段,每次允许三个进程进入该程序段,若用P、V操作作为同步机制,则信号量的取值范围是( )。 A. 4,3,2,1,—1 B. 2,1,0,—1,—2 C. 3,2,1,0,—1 D. 1,0,—1,—2,—3 答案: C 答案 4、单项选择题 【234603】 用来实现进程同步与互斥的P、V操作实际上是由( )过程组成的。 A. 一个可被中断的 B. 一个不可被中断的 C. 两个可被中断的 D. 两个不可被中断的 答案: D 答案 5、单项选择题 【234598】 P操作可能导致( )。 A. 进程就绪 B. 进程结束 C. 进程阻塞 D. 新进程创建 答案 6、单项选择题 【234602】 用P、V操作实现进程同步,信号量的初值为( )。 A. —1 B. 0 C. 1 D. 视情况而定 答案: D 答案 7、单项选择题 【234590】 两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥资源的是( )。 A. 旅行社 B. 航空公司 C. 飞机票 D. 旅行社与航空公司 答案: C 答案 8、综合应用题 【239002】 某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过,参观者的活动描述如下,请添加必要的信号量和wait、signal操作,以实现该过程中的互斥与同步,要求写成完整的过程,什么信号量的含义并赋初值。 答案:出入口一次仅允许一个人通过,设置互斥信号量mutex,初值为1。博物馆最多可同时容纳500个人,故设置信号量empty,初值为500。 Semaphore empty=500; //博物馆可以容纳的最多人数 Semaphore mutex=1; //用于出入口资源的控制 cobegin 参观者进程i: { ... p(empty); //可容纳人数减1 p(mutex); //互斥使用门1 进门; V(mutex); 参观; p(mutex); //互斥使用门 出门; V(mutex); V(empty); //可容纳人数增1 ... } coend 答案 9、单项选择题 【234614】 信箱通信是一种( )通信方式。 A. 直接 B. 间接 C. 低级 D. 信号量 答案: B 答案 10、单项选择题 【234599】 原语是( )。 A. 运行在用户态的过程 B. 操作系统内核 C. 可中断的指令序列 D. 不可分割的指令序列 答案: D 11、单项选择题 【234584】 有若干并发进程均将一个共享变量count的值加1一次,那么有关count中的值的正确说法是( )。 1)肯定有不正确的结果 2)肯定有正确的结果 3)若控制这些并发进程互斥执行count加1操作,count中的值正确 A. 1)3) B. 2)3) C. 3) D. 1)2)3)的说法均不正确 答案: C 答案综合练习 1、单项选择题 【234629】 死锁与安全状态的关系是( )。 A. 死锁状态有可能是安全状态 B. 安全状态有可能成为死锁状态 C. 不安全状态就是死锁状态 D. 死锁状态一定是不安全状态 答案: D 答案 2、单项选择题 【234615】 出现下列情况可能导致死锁的是( )。 A. 进程释放资源 B. 一个进程进入死循环 C. 多个进程竞争资源出现了循环等待 D. 多个进程竞争使用共享型设备 答案: C 答案 3、单项选择题 【234633】 在一个交通繁忙的十字路口,每个方向只有一个车道,如果车辆只能向前直行,而不允许转弯和后退,并未采取任何方式进行交通管理。下列叙述中正确的是( )。 A. 该十字路口不会发生死锁 B. 该十字路口一定会发生死锁 C. 该十字路口可能会发生死锁,规定同时最多3个方向的车使用该十字路口是最有效的方法 D. 该十字路口可能会发生死锁,规定南北方向的两个车队和东西方向的两个车队互斥使用十字路口是最有效的方法 答案: D 答案 4、单项选择题 【234621】 某系统中有三个并发进程都需要四个同类资源,则该系统必要不会发生死锁的最少资源是( )。 A. 9 B. 10 C. 11 D. 12 答案: B 答案 5、单项选择题 【234637】 为多道程序提供的共享资源不足时,可能会出现死锁。但是,不适当的( )也可能产生死锁。 A. 进程调度顺序 B. 进程的优先级 C. 资源分配方法 D. 进程推进顺序 答案: D 答案 6、单项选择题 【234618】 系统产生死锁的可能原因是( )。 A. 独占资源分配不当 B. 系统资源不足 C. 进程运行太快 D. CPU中的核太多 答案: A 答案 7、单项选择题 【234639】 解决死锁的途径是( )。 A. 立即关机排除故障 B. 立即关机再重新启动 C. 不要共享资源,增加独占资源 D. 设计时预防死锁,检测死锁并恢复 答案: D 答案 8、单项选择题 【234632】 下列关于银行家算法的叙述中,正确的是( )。 A. 银行家算法可以预防死锁 B. 当系统处于安全状态时,系统中一定无死锁进程 C. 当系统处于不安全状态时,系统中一定会出现死锁进程 D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件 答案: B 答案 9、单项选择题 【234642】 在银行家算法中的数据结构中,其中最大需求M[n,m]、已经分配A[n,m]、需求N[n,m]三者之间的关系是( )。 A. N[i,j]=A[i,j]—M[i,j] B.N[i,j]=M[i,j]+A[i,j] C. N[i,j]=M[i,j]—A[i,j] D.N[i,j]=M[i,j]*A[i,j] 答案: C 答案 10、单项选择题 【234627】 三个进程共享四个同类资源,这些资源的分配与释放只能一次一个。已知每一个进程最多需要两个该类资源,则该系统( )。 A. 有些进程可能永远得不到该类资源 B. 必然有死锁 C. 进程请求该类资源必然能得到 D. 必然是死锁 答案: C 综合练习 1、单项选择题 【234620】 死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的四个必要条件之一,下列方法中破坏了“循环等待”条件的是( )。 A. 银行家算法 B. 一次性分配策略 C. 剥夺资源发 D. 资源有序分配策略 答案: D 答案 2、单项选择题 【234618】 系统产生死锁的可能原因是( )。 A. 独占资源分配不当 B. 系统资源不足 C. 进程运行太快 D. CPU中的核太多 答案: A 答案 3、单项选择题 【234644】 使用银行家算法来避免死锁的操作系统是( )。 A. Windows XP B. Linux C. FreeBSD UNIX D. 都不是 答案: D 答案 4、单项选择题 【234638】 对资源采取按序分配策略能达到( )的目的。 A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁 答案: A 答案 5、单项选择题 【234633】 在一个交通繁忙的十字路口,每个方向只有一个车道,如果车辆只能向前直行,而不允许转弯和后退,并未采取任何方式进行交通管理。下列叙述中正确的是( )。 A. 该十字路口不会发生死锁 B. 该十字路口一定会发生死锁 C. 该十字路口可能会发生死锁,规定同时最多3个方向的车使用该十字路口是最有效的方法 D. 该十字路口可能会发生死锁,规定南北方向的两个车队和东西方向的两个车队互斥使用十字路口是最有效的方法 答案: D 答案 6、单项选择题 【234617】 一次分配所有资源的方法可以预防死锁的发生,它破坏了死锁四个必要条件中的( )。 A. 互斥 B. 占有并请求 C. 非剥夺 D. 循环等待 答案: B 答案 7、单项选择题 【234635】 设m为同类资源数,n为系统中并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w,则下列情况会出现系统死锁的是( )。 A. m=2, n=1, w=2 B. m=2, n=2, w=1 C. m=4, n=3, w=2 D. m=4, n=2, w=3 答案: D 答案 8、综合应用题 【239004】 设进程P1和P2并发执行,都需要使用资源R1和R2,进程P1使用资源的情况是:申请R1、申请R2、释放R1,进程P2使用资源的情况是:申请R2、申请R1、释放R2,试判断是否会发生死锁,并加以解释,同时什么产生死锁的原因和必要条件。 答案:这段程序在不同的运行推进速度下,就可能产生死锁。如按顺序:进程P1先申请资源r1,得到资源r1,然后进程P2申请资源r2,也能得到,进程P1又申请资源r2,则因资源r2已分配使进程P1阻塞。进程P1和进程P2两个进程都因申请不到资源而形成死锁。如果改变进程的运行顺序,这两个进程就不会出现死锁现象了。 产生死锁的原因可归结为两点: 1)竞争资源。 2)进程推进顺序非法。 产生死锁的必要条件: 1)互斥条件。 2)请求和保持条件。 3)不剥夺条件。 4)环路等待条件。 答案 9、单项选择题 【234615】 出现下列情况可能导致死锁的是( )。 A. 进程释放资源 B. 一个进程进入死循环 C. 多个进程竞争资源出现了循环等待 D. 多个进程竞争使用共享型设备 答案: C 答案 10、单项选择题 【234642】 在银行家算法中的数据结构中,其中最大需求M[n,m]、已经分配A[n,m]、需求N[n,m]三者之间的关系是( )。 A. N[i,j]=A[i,j]—M[i,j] B.N[i,j]=M[i,j]+A[i,j] C. N[i,j]=M[i,j]—A[i,j] D.N[i,j]=M[i,j]*A[i,j] 答案: C 综合练习 1、单项选择题 【234624】 解除死锁通常不采用的方法是( )。 A. 终止一个死锁进程 B. 终止所有死锁进程 C. 从死锁进程处抢夺资源 D. 从非死锁进程处抢夺资源 答案: D 答案 2、单项选择题 【234633】 在一个交通繁忙的十字路口,每个方向只有一个车道,如果车辆只能向前直行,而不允许转弯和后退,并未采取任何方式进行交通管理。下列叙述中正确的是( )。 A. 该十字路口不会发生死锁 B. 该十字路口一定会发生死锁 C. 该十字路口可能会发生死锁,规定同时最多3个方向的车使用该十字路口是最有效的方法 D. 该十字路口可能会发生死锁,规定南北方向的两个车队和东西方向的两个车队互斥使用十字路口是最有效的方法 答案: D 答案 3、单项选择题 【234616】 在操作系统中,死锁出现指的是( )。 A. 计算机系统发生重大故障 B. 资源个数远远小于进程数 C. 若干进程因竞争资源而无限等待其他进程释放已占有的资源 D. 进程同时申请的资源数超过资源总数 答案: C 答案 4、单项选择题 【234637】 为多道程序提供的共享资源不足时,可能会出现死锁。但是,不适当的( )也可能产生死锁。 A. 进程调度顺序 B. 进程的优先级 C. 资源分配方法 D. 进程推进顺序 答案: D 答案 5、单项选择题 【234618】 系统产生死锁的可能原因是( )。 A. 独占资源分配不当 B. 系统资源不足 C. 进程运行太快 D. CPU中的核太多 答案: A 答案 6、单项选择题 【234631】 一个进程在获得资源后,只能在使用完资源后由自己释放,这属于死锁必要条件的( )。 A. 互斥条件 B. 请求和释放条件 C. 不剥夺条件 D. 防止系统进入不安全状态 答案: C 答案 7、单项选择题 【234643】 如果系统的资源分配图( ),则系统处于死锁状态。 A. 出现了环路 B. 没有环路 C. 每种资源只有一个,并出现了环路 D. 每个进程结点至少有一条请求边 答案: C 答案 8、单项选择题 【234623】 某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机,该系统可能发生死锁的K的最小值是( )。 A. 2 B. 3 C. 4 D. 5 答案: C 答案 9、综合应用题 【239008】 请评述哲学家就餐问题的以下解决方案:一个肚子饿的哲学家首先拿起左侧的叉子,如果右侧的叉子可用,则拿起右侧的叉子并开始吃面条,否则,放下左侧的叉子,并重复该过程。 答案:当哲学家们高度一致反复拿起又放下左侧的叉子时,便出现饥饿现象。 答案 10、单项选择题 【234630】 某一系统中,测得其处理器的利用率为1%,I/O的利用率为1%,就绪队列中有2个进程,阻塞队列中有31个进程,此时系统出现异常,则表明系统中有进程( )。 A. 空闲 B. 饥饿 C. 死锁 D. 死循环 答案: C 一、单项选择题 (一共20题,每题5分。) 试题1 (5分) 【234579】 设有n个进程共享一个相同的程序段,如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值为( )。 A. n B. m C. m—n D. —m B。标准答案为:B 试题2 (5分) 【234584】 有若干并发进程均将一个共享变量count的值加1一次,那么有关count中的值的正确说法是( )。 1)肯定有不正确的结果 2)肯定有正确的结果 3)若控制这些并发进程互斥执行count加1操作,count中的值正确 A. 1)3) B. 2)3) C. 3) D. 1)2)3)的说法均不正确 C。标准答案为:C 试题3 (5分) 【234585】 设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别为( )。 A. 0,1 B. 1,0 C. 1,2 D. 2,0 B。标准答案为:B 试题4 (5分) 【234586】 进程P0和P1的共享变量定义及其初值为: boolean flag[2]; int turn=0; flag [0]=false; flag[1]=false; 若进程P0和P1访问临界资源的类C代码实现如下: void P0() //进程P0void P1() //进程1 { while (TRUE){ while (TRUE) { flag[0]=TRUE; turn=1;{ flag[1]=TRUE;turn=0; while (flag[1]&&(turn==1));while(flag[0]&&(turn==0)); 临界区;临界区; flag[0]=FALSE;flag[1]=FALSE; }} }} 并发执行进程P0和P1时产生的情况是( )。 A. 不能保证进程互斥进入临界区,会出现“饥饿”现象 B. 不能保证进程互斥进入临界区,不会出现“饥饿”现象 C. 能保证进程互斥进入临界区,会出现“饥饿”现象 D. 能保证进程互斥进入临界区,不会出现“饥饿”现象 B。标准答案为:D 试题5 (5分) 【234589】 不需要信号量就能实现的功能是( )。 A. 进程同步 B. 进程互斥 C. 执行的前驱关系 D. 进程的并发执行 D。标准答案为:D 试题6 (5分) 【234591】 临界区是指并发进程访问共享变量的( )。 A. 管理信息 B. 信息存储 C. 数据 D. 代码 B。标准答案为:D 试题7 (5分) 【234597】 在操作系统中,P、V操作是一种( )。 A. 机器指令 B. 系统调用命令 C. 作业控制命令 D. 低级进程通信原语 D。标准答案为:D 试题8 (5分) 【234599】 原语是( )。 A. 运行在用户态的过程 B. 操作系统内核 C. 可中断的指令序列 D. 不可分割的指令序列 D。标准答案为:D 试题9 (5分) 【234604】 有三个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用P、V操作同步机制,则信号量的取值范围是( )。 A. 2,1,0,—1 B. 3,2,1,0 C. 2,1,0,—1 D. 1,0,—1,—2 A。标准答案为:A 试题10 (5分) 【234606】 对于两个并发进程,设互斥信号量为mutex(初值为1),若mutex=—1,则( )。 A. 表示没有进程进入临界区 B. 表示有一个进程进入临界区 C. 表示有一个进程进入临界区,另一个进程等待进入 D. 表示有两个进程进入临界区 C。标准答案为:C 试题11 (5分) 【234608】 若一个系统中共有5个并发进程涉及到某个相同的变量A,则变量A的相关临界区是由( )个临界区构成的。 A. 1 B. 3 C. 5 D. 6 C。标准答案为:C 试题12 (5分) 【234622】 某系统中有11台磁带机,X个进程共享此磁带机设备,每个进程最多请求使用3台,则系统必然不会死锁的最大X值是( )。 A. 4 B. 5 C. 6 D. 7 。标准答案为:B 试题13 (5分) 【234627】 三个进程共享四个同类资源,这些资源的分配与释放只能一次一个。已知每一个进程最多需要两个该类资源,则该系统( )。 A. 有些进程可能永远得不到该类资源 B. 必然有死锁 C. 进程请求该类资源必然能得到 D. 必然是死锁 C。标准答案为:C 试题14 (5分) 【234628】 死锁的四个必要条件中,无法破坏的是( )。 A. 循环等待资源 B. 互斥使用资源 C. 占有且等待资源 D. 非抢占式分配 。标准答案为:B 试题15 (5分) 【234630】 某一系统中,测得其处理器的利用率为1%,I/O的利用率为1%,就绪队列中有2个进程,阻塞队列中有31个进程,此时系统出现异常,则表明系统中有进程( )。 A. 空闲 B. 饥饿 C. 死锁 D. 死循环 C。标准答案为:C 试题16 (5分) 【234633】 在一个交通繁忙的十字路口,每个方向只有一个车道,如果车辆只能向前直行,而不允许转弯和后退,并未采取任何方式进行交通管理。下列叙述中正确的是( )。 A. 该十字路口不会发生死锁 B. 该十字路口一定会发生死锁 C. 该十字路口可能会发生死锁,规定同时最多3个方向的车使用该十字路口是最有效的方法 D. 该十字路口可能会发生死锁,规定南北方向的两个车队和东西方向的两个车队互斥使用十字路口是最有效的方法 D。标准答案为:D 试题17 (5分) 【234634】 系统死锁可以用( )来描述。 A. 进程 B. 程序 C. 系统流程图 D. 资源分配图 A。标准答案为:D 试题18 (5分) 【234640】 假设系统有两个进程P1和P2,有两种资源S1和S2,每种资源数仅为1个。进程P1使用资源的情况:申请S1——申请S2——释放S1——释放S2;进程P2使用资源的情况:申请S2——申请S1——释放S2——释放S1。系统并发执行进程P1和P2,系统将( )。 A. 产生死锁 B. 可能产生死锁 C. 不会产生死锁 D. 无法确定是否会产生死锁 B。标准答案为:B 试题19 (5分) 【234641】 下列描述中,( )发生死锁。 A. 系统中只有一台光驱和一台打印机,进程P1占有了光驱又申请打印机,但不能立即满足,因为进程P2占有打印机。强行释放P1占有的光驱,以后再重新申请。进程P1释放的光驱让给进程P2,则进程P1、P2 B. 系统中只有一台光驱和一台打印机,排序为R1、R2,对应序号为1、2,进程P1、P2对R1、R2的请求严格按资源序递增的顺序提出,则进程P1、P2 C. 系统中只有一台光驱和一台打印机,进程P1、P2运行前一次性向系统申请它需要的光驱和打印机,则进程P1、P2 D. 系统中只有一台光驱和一台打印机,进程P1占有了光驱又申请打印机,进程P2占有了打印机有申请光驱,则进程P1、P2 C。标准答案为:D 试题20 (5分) 【234642】 在银行家算法中的数据结构中,其中最大需求M[n,m]、已经分配A[n,m]、需求N[n,m]三者之间的关系是( )。 A. N[i,j]=A[i,j]—M[i,j] B.N[i,j]=M[i,j]+A[i,j] C. N[i,j]=M[i,j]—A[i,j] D.N[i,j]=M[i,j]*A[i,j] C。标准答案为:C
|