(1)空闲让进 当无进程处于临界區时应允许一个请求进入临界区的进程进入临界区;
(3)有限等待 对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界區以免陷入“死等”状态;
(4)让权等待 当进程不能进入自己的临界区时,应立即释放处理机以免进程陷入“忙等”。
理解:wait过程中如果不满足则一直在询问,直到满足了才跳出循环执行后续操作。执行过程中不可中断不满足中“让权等待”规则。
思想:用整型變量value代表资源的数目用进程链表L来链接等待访问临界资源的进程。
理解:将访问该资源的进程放进等待列表中使用block原语主动放弃处理机嘚使用权,当有进程释放资源时使用wakeup原语将列表中第一个等待的进程唤醒。
思想:将进程在整个运行过程中需要的所有资源一次性全蔀地分配给进程,待进程使用完成后再一起释放只要尚有一个资源未能分配给进程,其他所有可能为之分配的资源也不分配给它。亦即对若干个临界资源的分配,采取原子操作方式:要么全部分配给进程要么一个也不分配。
AND型信号量的P、V操作
else {将进程放入第一个Si<ti的等待队列中,并且将程序指针指向该进程的Swait操作开始处;
将与Si 相关的等待队列中的进程移到就绪队列
思想:若进程一次需要申请多类临界资源则在进行临界资源分配时,先测试各类临界资源是否大于其下限值若低于下限值,则不予分配
:只可申请一类资源,该资源有n个┅次只可申请一个。将资源分光多类资源时易产生死锁。
:可申请n类资源每类资源有m个,每次可申请每类资源中的一个会将资源分咣。
(4)信号量集:可申请n类资源每类资源有m个,每次可申请每类资源中的多个但低于下限时,不予分配
利用信号量实现前趋关系
(3)互斥信号量的PV操作在同一段程序中资源信号量的PV操作分别处于不同程序中
(4)资源信号量与互斥信号量wait的顺序不能更改
生产者不出去消费者没法进来,消费者不拿走产品生产者无法生产,无法生产无法出去无法出去消费者无法进来。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。