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

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

    • 硬件同步机制

      • 信号量同步机制
      • 管程机制
  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. 记录型信号量
    
    
  
  - ![进程同步问题教程](https://www.icode9.com/i/l/?n=20&i=blog/1860798/202003/1860798-20200330091734143-232832460.png)
  - ![进程同步问题教程](https://www.icode9.com/i/l/?n=20&i=blog/1860798/202003/1860798-20200330091922708-1342134600.png)
  - ![进程同步问题教程](https://www.icode9.com/i/l/?n=20&i=blog/1860798/202003/1860798-20200330091900787-1674768191.png)
  1. AND型信号量
    
    
  
  - ![进程同步问题教程](https://www.icode9.com/i/l/?n=20&i=blog/1860798/202003/1860798-20200330092419866-89999308.png)
  1. 信号量机制
    
    
  
  1. ![进程同步问题教程](https://www.icode9.com/i/l/?n=20&i=blog/1860798/202003/1860798-20200330093300973-333492926.png)
  1. 信号量的应用
    
    
  
  1. 利用信号量实现进程互斥
  2. 利用信号量实现前趋关系
  1. 管程机制
    
    
  
  1. 利用共享的数据抽象类型表示共享资源,并对共享数据类型定义一组操作
  2. 管程组成
        1. 管程名称
        2. 局部于管理的共享数据结构说明
        3. 对该数据结构上进行操作的一组过程
        4. 对局部于管程的共享数据设置初始值的语句
  3. ![进程同步问题教程](https://www.icode9.com/i/l/?n=20&i=blog/1860798/202003/1860798-20200330094502789-325695831.png)

标签: 问题, 进程同步, 信号量, 临界, 机制, 互斥, 管程

相关文章推荐

添加新评论,含*的栏目为必填