808操作系统 同步 互斥

同步 互斥

进程同步 进程互斥

img

img

img

img

img

进程互斥的软件实现方法

单标志法

img

img

双标志先检查法

img

双标志后检查法

img

Peterson算法

img

可以将等待区的步骤进行穿插,试试会不会有问题。

img

总计

img

进程互斥的硬件实现方法

中断屏蔽算法

在这里插入图片描述

TestAndSet指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-drSebrr7-1666279528056)(C:\Users\86150\AppData\Roaming\Typora\typora-user-images\image-20220903104043257.png)]

Swap指令

在这里插入图片描述

总结

在这里插入图片描述

信号量机制

img

img

img

img

img

信号量实现互斥 同步 同步前驱

互斥

img

同步

img

img

前驱

img

总结

img

经典同步问题

生产者消费者模型

img

img

img

img

读者写者问题

img

img

img

img

img

哲学家进餐

img

imgimg

img

睡眠理发师

在这里插入图片描述

在这里插入图片描述

管程

img

img

img

img

习题

多个进程可以共享系统中的资源,一次仅允许一个进程使用的资源称为临界资源。访问临界资源的那段代码称为临界区。
临界区,并不是指临界资源,如共享的数据、代码或硬件设备等,而是指访问临界资源的那段代码程序

在操作系统中,要对并发进程进行同步的原因是 并发进程具有异步性

P、V操作是一种低级的进程通信原语,它是不能被中断的


若代码可被多个进程在任意时刻共享,则要求任一个进程在调用此段代码时都以同样的方式运行;而且进程在运行过程中被中断后再继续执行,其执行结果不受影响。这必然要求代码不能被任何进程修改,否则无法满足共享的要求。这样的代码就是可重入代码,也称纯代码,即允许多个进程同时访问的代码


管程的signal操作与信号量机制中的V操作不同,信号量机制中的V操作一定会改变信号量的值S = S+1。而管程中的signal操作是针对某个条件变量的,若不存在因该条件而阻塞的进程,则signal不会产生任何影响

执行结果不同的两个并发进程,则两个并发进程不能正确运行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值