9. 设系统中有4个进程P1,P2,P3和P4.在某一时刻系统状态如下:
最大需求量 已分配资源量
P1 6 2 P2 7 4 P3 3 2 P4 2 0 剩余资源量 1
(1) 系统是否处于安全状态?如是,则给出所有的进程安全序列. (2) 如果进程P4申请2个资源,能否实施分配?为什么?
七. 关于P、V操作:
1. 为什么说P、V操作必须设计成原语(即同一信号量上的P、V操作必须互斥)? 2. 有四个进程A、B、C、D
(1) 进程A通过一个缓冲区不断地向进程B、C、D发送信息, A 每向缓冲区送入一个信息后, 必须等进程B、C、D都取走后才可以发送下一个信息, B、C、D对A 送入的每一信息各取一次, 试用P、V操作实现它们之间的正确通讯.
(2) 试用最少个数的信号量实现进程A、B、C、D间的正确通讯. 3. 写出P、V操作的定义.
4. 有n+1个进程A1, A2, ...An 和 B:
(1) A1,...An通过同一个缓冲区各自不断地向B发送消息, B不断地取消息, 它必 须取走发来的每一个消息. 刚开始时缓冲区为空. 试用P、V操作正确实现之.
(2) 若缓冲区个数增至m个, 试用P、V操作实现正确的通讯. 5. 请给出V操作的定义.
6. 用P、V操作实现PA, PB两个进程的同步问题如下所示:
其中, 信号S1, S2的初值均为1. 试问该解法正确吗? 请说明理由.
7. 把学生和监考老师都看作进程, 学生有N人, 教师1人. 考场门口每次只能进出一个人, 进考场原则是先来先进. 当N个学生都进入考场后, 教师才能发卷子. 学生交卷后可以离开考场. 教师要等收上来全部卷子并封装卷子后才能离开考场.
(1) 问共需设置几个进程?
(2) 试用P、V操作解决上述问题中的同步和互斥关系.
8. 某商店有两种食品A和B, 最大数量各为m个. 该商店将A,B两种食品搭配出售, 每次各取一个. 为避免食品变质, 遵循先到食品先出售的原则, 有两个食品公司分别不断地供应A,B两种食品(每次一个). 为保证正常销售, 当某种食品的数量比另一种的数量超过k(k 11 (1) 问共需设置几个进程? (2) 试用P,V操作解决上述问题中的同步和互斥关系. 9. 两个进程PA、PB通过两个FIFO(先进先出)缓冲区队列连接(如图). PA从Q2取消息,处理后往Q1发消息,PB从Q1取消息,处理后往Q2发消息,每个缓冲区长度等于传送消息长度. Q1队列长度为n,Q2队列长度为m. 假设开始时Q1中装满了消息,试用P、V操作解决上述进程间通讯问题. 12