北航操作系统课程-20200409课堂小测-进程同步

2020-04-09-课堂小测-进程同步


北京航空航天大学计算机学院-2020春操作系统课程
以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平有限,如有错误敬请批评指正。


1. 下面哪种情况不会产生数据竞争:(多选)

A. 两个进程依次串行访问共享变量

B. 两个进程同时访问共享变量,同时为读

C. 两个进程同时访问共享变量,同时为写

D. 两个进程同时访问共享变量,一个读一个写

答:A、B

数据竞争指的是多个进程同时访问同一个共享变量, 并且至少有一个是写。数据竞争时没有机制防止进程对共享变量的同时访问,其最终结果取决于进程访问的次序。读读没有问题,读写,写写都有问题。


2. 下面那些是临界区方案需要满足的条件:(多选)

A. 任何两个进程不能同时进入临界区

B. 不能事先假定CPU的个数和运行速度

C. 临界区外的进程不能防碍其他进程进入临界区

D. 一个进程不能在临界区外无限等待

答:A、B、C、D

对临界资源(如共享变量)进行访问的的程序片段称为临界区,设置临界区机制是为了避免数据竞争,题目四个选项都是临界区需要满足的条件,无需赘述。


3. 同步机制应该遵循的原则是:(多选)

A. 空闲让进

B. 忙则等待

C. 有限等待

D. 让权等待

答:A、B、C、D

题目的四个选项都是同步机制应该遵循的原则。空闲让进指的是临界资源处于空闲状态,允许进程进入临界区,但保证临界区内仅有一个进程执行。忙则等待指的是有进程正在执行临界区代码,所有其他进程则不可以进入临界区。有限等待指的是对要求访问临界区的进程,应在保证在有限时间内进入自己的临界区,避免死等。让权等待指的是当进程(长时间)不能进入自己的临界区时,应立即释放处理机,尽量避免忙等。


4. Peterson临界区算法适合哪种情况的调度:(单选)

A. 抢占式

B. 非抢占式

答:A

Peterson临界区算法是一种基于忙等的互斥方法,它在抢占式调度下可行,在非抢占式的调度下不可行,因为可能导致先进入的进程长时间霸占CPU。


5. 忙等待存在什么问题:(单选)

A. 节省CPU资源

B. 可能导致优先级反转

答:B

忙等待期间CPU空转,是耗费CPU资源的。忙等还会导致低优先级进程先进入而霸占CPU,出现高优先级等待低优先级的优先级反转现象。


6. 关于PV操作错误的是:(单选)

A. 信号量如果使用不当,可能导致死锁

B. 如果信号量小于1,对信号量的P操作会将进程挂起

C. S=5,进程A,B任意顺序调用V(S)各一次,那么S不一定是7

D. 信号量能解决任何进程同步问题

答:C

信号量如果使用不当是可能导致死锁的,设计同步算法时应避免死锁,A正确。如果信号量小于1,说明当前没有可分配的物理资源,请求P操作的进程分配不到资源,会被挂起等待,B正确。S=5时,说明有可分配资源,没有进程在等待,此时两个进程以任意顺序调用V(S)一次,都会为系统增加一次可调度的资源,若期间无其他进程PV操作,则S的值一定是7,C错误。理论上讲信号量可以协调解决任何进程同步问题,D正确。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值