操作系统-PV操作(上)-软件设计(二十五)

计算机组成原理(海明码效验)(3)-软件设计(二十四)icon-default.png?t=N176https://blog.csdn.net/ke1ying/article/details/129414348

操作管理包含五个大方面,进程管理、存储管理、文件管理、作业管理、设备管理。

进程的状态

就绪 通过调度到 运行   运行 时间片到 就绪

运行 等待某个事件到 等待

等待 等待事情发生到 就绪

其中就绪和运行 是可以双向流通的。

运行态 所需要的所有资源都已经配足。

就绪态 表示所有的资源也已经配足,但是缺少cpu资源。

等待 表示cpu资源没有,其他资源也没有。(比如缺少外设)

进程的同步与互斥

当多个线程竞争同一个锁资源,这就是互斥。

当A和B同时运行一个目的地,但B比A块,B就需要停下来等A一起,这就是同步。

重点、PV操作

临界资源、临界区、信号量。

临界资源:诸进程间需要互斥方式对其进行共享资源,如打印机,磁带机等。

临界区:每个资源中访问临界资源的那段代码为临界区。

信号量:是一种特殊变量。

主要解决并发进程安全问题。

P(Sn)和V(Sn)意思就是 这家书店最多n个购书者一起进入和离开。

b1那里收银操作应该由a1的付款唤醒,所以b1的P和a1的V相呼应。

所以v的付款唤醒p的收银员收费。

同理v的收费完毕唤醒付款p的付款完毕才可以走。

P操作是有阻塞功能,V操作不具备阻塞功能

所以选择A和C

进程死锁

如果一个进程在等待不可能发生的事就会造成死锁,如果一个或者多个进程产生死锁,则会造成系统死锁。

问:系统三个进程ABC,这三个进程都需要有五个系统资源,这时候至少需要多少个系统资源才不会发生死锁

至少13个资源不会发生死锁。3 * (5-1) +1 = 13个。

死锁四大条件?

互斥、保持和等待、环路等待、不剥夺。

互斥:如果大家都可以一起使用,则不会产生死锁,所以互斥是必要条件。

保持和等待:各个进程会保持自己的资源,并且等待别人释放资源给自己。

不剥夺:系统不会把分配给某个进程的资源剥夺给其他进程。

环路等待:则进入死循环,循环依赖。

银行家算法:分配资源的原则

  1. 当一个进程对资源的最大需求量不超过系统中资源数时,可以接纳该进程。
  2. 进程可分期请求资源,但请求的总数不超过最大需求量。
  3. 当系统现有的资源不满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。

解析:

先计算已分配资源和还剩余资源:

R1    1+2+2+1+1 = 7  所以还剩  9-7 =2

R2    2+1+1+2+1 = 7  所以还剩 8-7 = 1

R3    1+1+0+0+3 = 5  所以还剩 5-5 = 0

这时候P1肯定走不通,因为P1需要6个R1资源,但还差5个,目前不够,所以排除A。

同理P4肯定走不通,他需要R3资源为1一个,但目前分配0个。剩余也是0个。

只能在B和C里选择。

第一步:

当p2分配完后

R1 还剩2   

R2、R3还剩下0

这时候p2资源释放,

R1 还剩下4

R2剩下2

R3剩下1

第二步:

这时候P1还是走不通,因为P1需要5个R1,但目前只剩下4个。

所以排除法选择B

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后端从入门到精通

你的鼓励是我最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值