zoukankan      html  css  js  c++  java
  • 进程的同步

    进程间的相互影响:

    两种制约关系:

        间接相互制约关系:主要源于资源共享,表现为

    进程A---打印机资源---进程B(互斥)

         直接相互制约关系:主要源于进程合作,表现为

    进程A写缓冲---进程B读缓冲(有序)

    进程同步

     主要任务:      使并发执行的诸进程之间能有效地共享资源相互合作,从而使程序的执行具有可再现性

     临界资源:

    一次仅允许一个进程访问的资源

      互斥和有序‘

    互斥:在操作系统中,当一个进程进入临界区使用临界资源时,另一个进程必须等待,直到占用临界资源的进程退出临界区,我们称进程之间的这种相互制约关系为“互斥”

    同步:多个相互合作的进程,在一些关键点上可能需要互相等待或互相交换信息,这种相互制约关系称为进程同步关系。可理解为“有序”。

       临界区

    每个进程中访问临界资源的那段代码叫临界区。为了正确同步,对临界区的代码要增加控制

                                                                

    同步机制应遵循的原则:

       

     空闲让进:资源使用最基本原则

     忙则等待:保证互斥

     有限等待:合适时被唤醒防止死等

     让权等待:能主动释放CPU防止忙等

       硬件同步机制

        (1)关中断

         (2)  Test-and-Set指令

         (3)利用Swap指令

     

    注:硬件指令机械操作可保证锁开、关操作不被打断;适用于任意数目的进程。但等待要耗费CPU时间,不能实现“让权等待”,从等待进程中随机选择一个进入临界区,有的进程可能一直选不上,难以实现较为复杂的进程同步问题。

  • 相关阅读:
    转:Visio之取消自动对齐与粘附
    转:Excel怎样修改图例名称
    一张图说明学习率和loss之间的关系
    转:loss不收敛或不下降问题处理经验
    N-UCLA骨架数据可视化
    转:IEEE论文投稿流程(格式说明,新手指南,模板)
    Ubuntu下无法安装sun-java6-jdk的解决办法
    Git 学习笔记一
    轮播特效小项目总结
    第9次作业--接口及接口回调
  • 原文地址:https://www.cnblogs.com/lls101/p/9749354.html
Copyright © 2011-2022 走看看