(2)仅当一个进程退出临界区以后,另一个进程才能进入相应的临界区。
(3)临界段是指进程中用于实现进程互斥的那段代码。
(4)如果信号量 S 的当前值为-5,则表示系统中共有 5 个进程。
(5)进程间的互斥是一种特殊的同步关系。
(6)若信号量的初值为 1,用 P、V 操作能限制不能有任何进程进入临界区操作。
(7)P、V 操作只能实现进程互斥,不能实现进程同步。
(8)P、V 操作是一种原语,在执行时不能打断。
(9)在信号量上除了能执行 P、V 操作外,不能执行其他任何操作。
解:(1)正确。
(2)正确。临界区只能互斥访问
(3)错误。
(4)错误。如果信号量 S 的当前值为-5,则表示系统中共有 5 个进程在等待,还可能有一
个进程在执行态,若干个进程在就绪态。
(5)正确。
(6)错误。若信号量的初值为 1,用 P、V 操作能限制只有一个进程进入临界区操作。
(7)错误。P、V 操作既可以实现进程互斥,也可以实现进程同步。
(8)正确。
(9)错误。信号量可以赋初值。
4. 问答题
【例 3-1-46】简述进程同步与互斥之间的区别和联系。
解:并发进程的执行会产生相互制约的关系:一种是进程之间竞争使用临界资源,只能让它
们逐个使用,这种现象称为互斥,是一种竞争关系;另一种是进程之间协同完成任务,在关
键点上等待另一个进程发来的消息,以便协同一致,是一种协作关系。进程同步与互斥的比
较如表 3.1 所示。
表 3.1 进程同步与互斥的比较
同步 互斥
进程-进程 进程-资源-进程
时间次序上受到某种限制 竞争不到某一临界资源时不允许进程工作
相互清楚对方的存在及作用,交换信息 不一定清楚其他进程的情况
往往指有几个进程共同完成一个任务 往往指多个任务多个进程间通信制约
示例:生产者与消费者之间、发送者与接收者之间、作者与读者之间 示例:交通十字路
口、若干用户使用一台打印机 【例 3-1-47】进程之间存在哪几种制约关系?各是什么原因
引起的?以下活动各属于哪种制约关系?
(1)若干学生去图书馆借书。
(2)两队进行篮球比赛。
(3)流水线生产的各道工序。
(4)商品生产和社会消费。
解:进程之间存在两种制约关系,即同步和互斥。
l 同步是由于并发进程之间需要协调完成同一个任务时引起的一种关系,为一个进程
等待另一个进程向它直接发送消息或数据时的一种制约关系。
l 互斥是由于并发进程之间竞争系统的临界资源引起的,为一个进程等待另一个进程
已经占有的、必须互斥使用的资源时的一种制约关系。
(1)是互斥关系,同一本书只能被一个学生借阅,或者任何时刻只能有一个学生借阅一本