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

    进程间的相互影响:

    两种制约关系:

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

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

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

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

    进程同步

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

     临界资源:

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

      互斥和有序‘

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

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

       临界区

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

                                                                

    同步机制应遵循的原则:

       

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

     忙则等待:保证互斥

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

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

       硬件同步机制

        (1)关中断

         (2)  Test-and-Set指令

         (3)利用Swap指令

     

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

  • 相关阅读:
    Domain Space
    Class WriteGroupAttribute
    HelloCube:IJobForEach
    HelloCube:ForEach
    组件
    世界
    DOTS默认情况下的性能
    ECS适合你吗?
    DOTS原则和愿景
    Packages window(包窗口)
  • 原文地址:https://www.cnblogs.com/lls101/p/9749354.html
Copyright © 2011-2022 走看看