• 计算机系统(17)----- 进程同步和进程互斥


    ----------文章参考自王道论坛视频

    一、进程同步和进程互斥

    1.1 进程同步

    同步也叫做直接制约关系,它是指为完成某一个任务而建立的两个或者多个进程,这些进程因为需要在某些位置上协调它们的工作次序而产生的制约关系;

    进程间的直接制约关系就是源于他们之间的相互合作;

    1.2 进程互斥

    两种资源共享方式:

    互斥共享关系:

    系统中的某些资源虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源;

    同时共享方式:

    系统中的某些资源,允许一个时间段内由多个进程 " 同时 " 对它们进行访问;

    临界资源:

    我们把一个时间段只允许一个进程使用的资源称为临界资源;

    进程互斥的概念:

    对临界资源的访问,必须互斥地进行;

    互斥也叫做间接制约关系,进程互斥指当一个进程访问某临界资源时,另一个想要访问该临界资源的进程必须等待,当当前访问临界资源的进程访问结束并释放资源之后,另一个进程才能去访问临界资源;

    互斥访问在逻辑上可分为:

    1. 进入区: 负责简称是否可以进入临界区,若可进入,则设置 " 正在访问临界资源的标志 " ( 上锁 ) 以阻止其他进程同时进入临界区;
    2. 临界区: 访问临界资源;
    3. 退出区: 负责解除 " 正在访问临界资源的标志 " ( 解锁 );
    4. 剩余区: 做其他处理;

    为了实现对临界资源的互斥访问,同时保证系统的整体性能,需要遵守以下原则:

    1. 空闲让进:临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区;
    2. 忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待;
    3. 有限等待:对请求访问的进程,应保证能在有限时间内进入临界区( 保证不会饥饿 );
    4. 让权等待:当进程不能进入临界区时,应立即释放处理机,防止进程忙等待;
  • 相关阅读:
    linux修改文件内容如何保存退出
    栈溢出基础
    恭喜马斯克、纳德拉当选美国工程院院士,张宏江、方岱宁入选外籍院士
    QT6集成CEF3--01 准备工作
    使用kubectl连接远程Kubernetes(k8s)集群
    157条超实用Python代码实例。问题+实例解答+原理解析+补充知识
    新款UI动态壁纸头像潮图小程序源码
    anr和crash文件分析,特征码提取
    面试官:设计一个异步并发限制吧
    第8章 注意力机制与外部记忆
  • 原文地址:https://blog.csdn.net/jc15274630894/article/details/126071335