zoukankan      html  css  js  c++  java
  • 重新整理操作系统概念系类——进程互斥软件实现

    前言

    大纲:

    正文

    原则:

    单标志法

    缺点:

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

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

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

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

    双标志先检查法

    缺点:

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

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

    双标志后检查法

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

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

    peterson 算法

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

  • 相关阅读:
    MyBatis简介
    JDBC报错:Cannot find class: com.mysql.jdbc.Driver
    进程,线程,协程
    mamp提示 more elements...
    获取html页面的参数
    php基础函数
    返回接口
    生成订单号
    xml转数组
    判断是否是微信浏览器
  • 原文地址:https://www.cnblogs.com/aoximin/p/13521355.html
Copyright © 2011-2022 走看看