操作系统——进程同步、进程互斥——2.9

开始盘一下进程同步、进程互斥

同步:直接制约关系,进程需要在某些位置协调他们的工作次序而产生的制约关系

1.两种资源共享方式
  1. 互斥共享
    一个时间段只允许一个进程访问该资源
  2. 同时共享
    一个时间段允许多个进程“同时”(宏观上)对他们进行访问
2.进程互斥
  1. 遵循原则
    空闲让进
    忙则等待
    有限等待
    让权等待
  2. 四个部分
    进入区:检查是否可进入临界区,若可以,需要“上锁”
    临界区:访问临界资源那段代码
    退出区:负责“解锁”
    剩余区:其余代码
3.进程互斥-软件实现
  1. 单标志法
    两个进程在访问完临界区后会把临界区的权限转交给另一个进程。
    每个进程进入临界区的权限只能被另一个进程赋予
    违背 空闲让进
  2. 双标志先检查
    设置一个布尔类型数组flag[],数组中各个元素用来标记各进程向进入临界区的意愿
    每个进程进入临界区之前,先检查当前有没有别的进程想进入临界区。
    若没有把自己的标志设置为true,之后开始访问临界区。
    两个进程 可能会发生进程切换 违背 忙则等待
  3. 双标志后检查
    类似先检查的问题
    违背 空闲让进 有限等待的原则
  4. peterson算法 (重点)
    采取“孔融让梨”的方式,主动让对方使用临界区
    采取,临界区数组单标志turn
    动画 生动形象 的阐述了这个道理,反正都要去占坑位,先去一个,免得时间花在争吵上,哈哈哈😂
    在这里插入图片描述
4.进程互斥-硬件实现
  1. 中断屏蔽
    利用开/关中断指令,只适用于系统内核进程
  2. TestAndSetLock
    TSL指令用硬件实现,执行的进程不允许中断
  3. Swap指令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值