生产围棋的工人不小心把相等数量的黑子和白子混 在一块,该系统由两个并发执行的进程组成,系统 功能如下: (1)进程A专门拣黑子,进程B专门拣白子; 2)每个进程每次只拣一个子,当一个进程在拣 子时不允许另一个进程去拣子 (3)当一个进程拣一个子后,必让另一个进程拣 子 试用同步原语管理进程,使其能正确实现上述功氜 (假定系统启动时先让进程A拣子)
生产围棋的工人不小心把相等数量的黑子和白子混 在一块,该系统由两个并发执行的进程组成,系统 功能如下: (1)进程A专门拣黑子,进程B专门拣白子; (2)每个进程每次只拣一个子,当一个进程在拣 子时不允许另一个进程去拣子 (3)当一个进程拣一个子后,必让另一个进程拣 一个子 试用同步原语管理进程,使其能正确实现上述功能。 (假定系统启动时先让进程A拣子)
P1115.19 若将读者离开与读者进入分别看成一个进程, 试用同步原语描述进程间关系 读者进入进程 读者离开进程 进入 注销 登记 离开
P111 5.19 若将读者离开与读者进入分别看成一个进程, 试用同步原语描述进程间关系。 读者进入进程 读者离开进程 进入 注销 登记 离开
条小河上有一座独木桥,现河东河西都 有人要过桥,同一方向的可连续过桥;某 方向有人过桥时另一方向的人须等待。如 果把每个过桥者看作一个进程,为保证安 全,用信号量协调他们之间的关系
一条小河上有一座独木桥,现河东河西都 有人要过桥,同一方向的可连续过桥;某 方向有人过桥时另一方向的人须等待。如 果把每个过桥者看作一个进程,为保证安 全,用信号量协调他们之间的关系
第七章死锁( Deadlock) 1、死锁问题的提出 2、死锁的必要条件 3、死锁的预防 4、死锁的避免和银行家算法 5、死锁的检测 6、死锁的恢复
第七章 死锁(Deadlock) 1、死锁问题的提出 2、死锁的必要条件 3、死锁的预防 4、死锁的避免和银行家算法 5、死锁的检测 6、死锁的恢复
71死锁问题的提出 死锁是指计算机系统和进程所处的一种状态。 常定义为:在系统中的一组进程,由于竞争 系统资源或由于彼此通信而永远阻塞,我们 称这些进程处于死锁状态
7.1 死锁问题的提出 死锁是指计算机系统和进程所处的一种状态。 常定义为:在系统中的一组进程,由于竞争 系统资源或由于彼此通信而永远阻塞,我们 称这些进程处于死锁状态
死锁的现象 个个个个个
死锁的现象
A进程 B进程 wait(sl) wait(s2) wait(s2) wait(sl) signal(s2) signal(sl) signal(s1) signal(s2
A进程 B进程 wait(s1) wait(s2) wait(s2) wait(s1) signal(s2) signal(s1) signal(s1) signal(s2)
死锁的原因 资源不足,竞争资源 进程推进路径不当
死锁的原因 资源不足,竞争资源 进程推进路径不当
申请不同类型资源产生死锁 PI: P2: 申请打印机 申请扫描仪 申请扫描仪 申请打印机 使用 使用 释放打印机 释放打印机 释放扫描仪 释放扫描仪
申请不同类型资源产生死锁 P1: … 申请打印机 申请扫描仪 使用 释放打印机 释放扫描仪 … P2: … 申请扫描仪 申请打印机 使用 释放打印机 释放扫描仪 …
申请同类资源产生死锁(如内存) 设有资源R,R有m个分配单位,由n 个进程P1,P2…Pn(n>m)共享。 假设每个进程对R的申请和释放符合 下列原贝 一次只能申请一个单位 满足总申请后才能使用 使用完后一次性释放
申请同类资源产生死锁(如内存) 设有资源R,R有m个分配单位,由n 个进程P1 ,P2 ,…,Pn(n > m)共享。 假设每个进程对R的申请和释放符合 下列原则: * 一次只能申请一个单位 * 满足总申请后才能使用 * 使用完后一次性释放