操作系统之进程同步和互斥(总统第四篇)

视频资源可以参考王道考研

一、进程同步与互斥

1、什么是进程同步与互斥

(1)进程同步

  • 看百度的:同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系就是源于它们之间的相互合作。

在这里插入图片描述
在这里插入图片描述

(2)进程互斥

  • 同样的看百度的说法:互斥
    互斥亦称间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待, 当占用临界资源的进程退出临界区后,另一进程才允许去访问此临界资源
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

在这里插入图片描述

(1)单标准法

在这里插入图片描述
在这里插入图片描述

(2)双标志法

在这里插入图片描述

(3)双标志后检查法

在这里插入图片描述

(4)Peterson算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
谁最后让,那就谁等待,让对方先使用。
在这里插入图片描述

(5)小结

在这里插入图片描述

3、进程实现的硬件实现方法

(1)中断屏蔽方法

在这里插入图片描述

(2)TestSet(TS)指令

在这里插入图片描述

(3)Swap指令

在这里插入图片描述

(4)小结

在这里插入图片描述

4、信号量机制实现线程同步和互斥

在这里插入图片描述

(1)相关概念

在这里插入图片描述

(2)信号量机制–整型信号量

在这里插入图片描述
在这里插入图片描述

(3)信号量机制-记录型信号量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)信号量机制-实现线程同步与互斥

  • 实现互斥
    在这里插入图片描述
  • 实现同步
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、进程同步与互斥问题

1、生产者与消费者进程

(1)问题分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)解决问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、多生成者和多消费者问题

(1)问题描述和分析问题

  • 首先看问题描述(上一小结是生产的同一个产品)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 分析问题
    在这里插入图片描述
    在这里插入图片描述

(2)解决问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、吸烟者问题

解决的是单生产者生产多个产品的问题

(1)问题描述和分析问题

  • 问题描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 分析问题
    在这里插入图片描述
    在这里插入图片描述

(2)解决问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、读者和写者的问题

(1)问题描述和分析问题

  • 问题分析
    在这里插入图片描述
    在这里插入图片描述

读进程和写进程都同时对共享文件进行操作的话,那可能造成错误问题

(2)解决问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、哲学家进餐问题

(1)问题描述与分析问题

  • 问题描述
    在这里插入图片描述
    在这里插入图片描述

(2)解决问题

在这里插入图片描述
在这里插入图片描述

  • 总结
    在这里插入图片描述

三、管程(类似于类)

1、为什么要管程

在这里插入图片描述

2、定义和特征

在这里插入图片描述

3、管程解决生产者消费者问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、java中类似于管程的机制

在这里插入图片描述

四、死锁

1、死锁的概念

(1)什么是死锁

在这里插入图片描述
在这里插入图片描述

(2)死锁,饥饿,死循环的区别

在这里插入图片描述

(3)死锁产生的必要条件

在这里插入图片描述
在这里插入图片描述

(4)如何破坏死锁

在这里插入图片描述

2、破坏死锁----预防处理

在这里插入图片描述

(1)破坏互斥的条件

在这里插入图片描述

(2)破坏不剥夺条件

在这里插入图片描述

(3)破坏请求和保持条件

在这里插入图片描述

(4)破坏循环条件

在这里插入图片描述

(5)小结

在这里插入图片描述

3、破坏死锁----避免死锁

在这里插入图片描述

(1)安全序列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)安全序列,不安全状态,死锁的联系

在这里插入图片描述

(3)银行家算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 看无法分配的案例
    在这里插入图片描述

  • 总结
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4、破坏死锁----检测和解除

在这里插入图片描述

(1)死锁的检测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)解除死锁

在这里插入图片描述

(3)小结

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值