重新整理操作系统概念系类——进程互斥软件实现

前言

大纲:

正文

原则:

单标志法

缺点:

trun 表示当前允许进入临界区的进程号,而只有当前允许进入临界区的进程在访问临界区后,才能修改turn的值。

两个进程如果相互等待,那么会形成一个轮流访问的过程。那么会产生一个问题,那就是资源空闲的时候,按理说p1应该是可以执行的,

但是由于p0还没有执行,那么p1就无法执行。

单标志发存在的主要问题是违背空闲让进的原则。

双标志先检查法

缺点:

因为进程的异步性,两个进程同时可能检查到另一个进程都没有想要临界区,那么这个时候两个进程依然会同时异步运行。

这个不仅仅是在多核中,单核中依然存在。比如说当p0运行完while(flag[1])后,进程切换了,切换到p1,p1检查while(flag[0]),依然可以进入临界区。

双标志后检查法

依然存在缺陷,双标志先检查法可能两个都进入,双标志后检查法两个都不能进入。。。。。

违背了空闲让进,有限等待问题。

peterson 算法

缺点:违背让权等待问题。

posted @ 2020-08-18 08:29  敖毛毛  阅读(210)  评论(0编辑  收藏  举报