操作系统之进程同步与进程互斥

操作系统之进程同步与进程互斥

    • 一、进程同步
    • 二、进程互斥
    • 三、进程互斥的软件实现方法
      • 1. 单标志法(违背空闲让进)
      • 2. 双标志先检查(违背忙则等待)
      • 3. 双标志后检查(违背空闲让进、有限等待)
      • 4. Peterson算法(未达到让权等待原则)
      • 5. 总结
    • 四、进程互斥的硬件实现方法
      • 1. 中断屏蔽方法(不适用于多处理机)
      • 2. TestAndSet(TS指令/TSL指令,不满足让权等待原则)
      • 3. Swap指令(XCHG指令,不满足让权等待原则)
      • 4. 总结
    • 五、信号量机制
      • 1. 整型信号量
      • 2. 记录型信号量
    • 六、用信号量机制实现进程互斥、同步、前驱关系
      • 1. 进程互斥
      • 2. 进程同步
      • 3. 进程的前驱关系
      • 4. 总结
    • 七、管程
      • 1. 管程的定义和基本概念
      • 2. 拓展1:用管程解决生产者消费者问题
      • 3. 拓展2:Java中类似于管程的机制
      • 4. 总结

一、进程同步

操作系统之进程同步与进程互斥_第1张图片
操作系统之进程同步与进程互斥_第2张图片

二、进程互斥

操作系统之进程同步与进程互斥_第3张图片
操作系统之进程同步与进程互斥_第4张图片
操作系统之进程同步与进程互斥_第5张图片
即临界区能进则立即进入,不能进则等待,且是让出CPU的有限等待。
操作系统之进程同步与进程互斥_第6张图片

三、进程互斥的软件实现方法

操作系统之进程同步与进程互斥_第7张图片

1. 单标志法(违背空闲让进)

操作系统之进程同步与进程互斥_第8张图片
操作系统之进程同步与进程互斥_第9张图片

2. 双标志先检查(违背忙则等待)

操作系统之进程同步与进程互斥_第10张图片

3. 双标志后检查(违背空闲让进、有限等待)

操作系统之进程同步与进程互斥_第11张图片

4. Peterson算法(未达到让权等待原则)

操作系统之进程同步与进程互斥_第12张图片
操作系统之进程同步与进程互斥_第13张图片

5. 总结

操作系统之进程同步与进程互斥_第14张图片

四、进程互斥的硬件实现方法

操作系统之进程同步与进程互斥_第15张图片

1. 中断屏蔽方法(不适用于多处理机)

操作系统之进程同步与进程互斥_第16张图片

2. TestAndSet(TS指令/TSL指令,不满足让权等待原则)

操作系统之进程同步与进程互斥_第17张图片

3. Swap指令(XCHG指令,不满足让权等待原则)

操作系统之进程同步与进程互斥_第18张图片

4. 总结

操作系统之进程同步与进程互斥_第19张图片

五、信号量机制

操作系统之进程同步与进程互斥_第20张图片
操作系统之进程同步与进程互斥_第21张图片

1. 整型信号量

操作系统之进程同步与进程互斥_第22张图片

2. 记录型信号量

操作系统之进程同步与进程互斥_第23张图片
操作系统之进程同步与进程互斥_第24张图片

六、用信号量机制实现进程互斥、同步、前驱关系

操作系统之进程同步与进程互斥_第25张图片

1. 进程互斥

操作系统之进程同步与进程互斥_第26张图片

2. 进程同步

操作系统之进程同步与进程互斥_第27张图片
操作系统之进程同步与进程互斥_第28张图片
信号量机制实现进程同步,记住这个套路就可以了,对于一前一后的执行语句,在需要先执行的语句之后添加V(s)即signal语句(可以理解为先生产数据才能用V(S)释放资源),在需要后执行的语句之前添加P(s)即wait语句(可以理解为要使用数据,所以先执行P(s))

3. 进程的前驱关系

套路和上面的2个进程同步一样,只是这是复杂的更多进程同步而已。记住口诀:先执行语句之后执行V(s);后执行语句之前执行P(s)
操作系统之进程同步与进程互斥_第29张图片

4. 总结

操作系统之进程同步与进程互斥_第30张图片

七、管程

通过信号量可以实现进程的同步、互斥,但是信号量的编写困难复杂且容易出错,因此,我们提出了管程的概念,本质是对信号量机制的“封装”,将同步与互斥的复杂操作封装起来,程序员只需要调用简单的函数就能实现进程的同步与互斥,而不必再关注复杂的PV操作。

1. 管程的定义和基本概念

操作系统之进程同步与进程互斥_第31张图片

2. 拓展1:用管程解决生产者消费者问题

操作系统之进程同步与进程互斥_第32张图片
操作系统之进程同步与进程互斥_第33张图片

3. 拓展2:Java中类似于管程的机制

操作系统之进程同步与进程互斥_第34张图片

4. 总结

操作系统之进程同步与进程互斥_第35张图片

你可能感兴趣的:(操作系统,操作系统,进程,同步,互斥,信号量机制)