首页 > 技术文章 > 进程同步问题

naturals 2020-03-30 09:46 原文

为保证多个进程有条不紊的运行,在多道程序系统中,加入进程同步机制。

单处理机系统的进程同步问题:

    • 硬件同步机制
    • 信号量同步机制
    • 管程机制

 

  1. 进程同步的基本概念:
    1. 两种形式的制约关系
      1. 间接相互制约关系:比如打印机资源,要互斥的访问
      2. 直接相互制约关系:未完成某个任务,多个进程为了完成任务而合作,例如共享缓冲区
    2. 临界资源
      1. 访问临界资源应该互斥的访问
      2. 消费者生产者问题
    3. 临界区:不论硬件资源还是软件资源,多个进程必须互斥的对它进行访问,每个进程中访问临界资源的那段代码称为临界区
    4. 同步机制应遵循的规则
      1. 空闲让进
      2. 忙则等待
      3. 优先等待
      4. 让权等待
  2. 硬件同步机制
    1. 关中断
    2. test-and-set指令实现互斥
    3. 利用swap指令实现互斥
  3. 信号量机制
    1. 整形信号量:
      • wait机制,当s<=0时,不断测试,该机制为遵循让权等待,而是陷入忙等状态
    2.  记录型信号量

      •  

    3. AND型信号量

    4. 信号量机制

    5. 信号量的应用

      1. 利用信号量实现进程互斥

      2. 利用信号量实现前趋关系

    6. 管程机制 

      1. 利用共享的数据抽象类型表示共享资源,并对共享数据类型定义一组操作
      2. 管程组成
        1. 管程名称
        2. 局部于管理的共享数据结构说明
        3. 对该数据结构上进行操作的一组过程
        4. 对局部于管程的共享数据设置初始值的语句
      3.  

         

推荐阅读