操作系统知识点

死锁

1、死锁的形成

如果一组进程中,每个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程就是死锁

2、三种情况

①、竞争不可抢占资源引起死锁

假设有p1和p2两个进程,都需要A和B两个进程,现在p1持有A等待B,P2持有B等待A,两个都等待另一个资源而不肯释放资源,就这样无限等待中,就形成了死锁

【不可抢占资源---打印机、光驱等】

②、竞争可消耗资源引起死锁

有P1、P2、P3三种进程,P1向P2发送消息并接受P3发送的消息,P2向P3发送消息并接受P1发送的消息,P3向P1发送消息并接受P2发送的消息,如果设置是先接受消息再发送消息,则所有的消息都不能发送,这就造成了死锁

③、进程推进顺序不当引起死锁

3、产生死锁的必要条件

互斥条件:某个资源只能被一个进程使用,其他进程请求资源时只能等待

请求和保持条件:进程已经保持了至少一个资源,但又提出新的请求,而这个资源被其他进程占用,自己占有资源却保持不放

不可抢占条件:进程已获得的资源没有使用完,不能被抢占

循环等待条件:必然存在一个循环链

4、处理死锁的思路

①、预防死锁:破坏死锁的四个必要条件之一即可

②、避免死锁:在资源动态分配过程中,用某种方式防止系统进入不安全的状态

③、检测死锁:运行时出现死锁,能及时发现死锁,把程序解脱出来

④、解除死锁:发生死锁后,解脱进程,通常撤销进程,回收资源,再分配给正处于阻塞状态的进程

5、如果存在一个由系统中所有进程构成的安全序列P1,P2,P3······Pn,则系统处于安全状态,安全状态一定没有死锁发生

不安全的状态不一定导致死锁

操作系统

操作系统的作用:对于一个程序而言,它为了保障自己的程序运行流畅,势必就会要求自己分配到的资源越多越好,但是计算机的资源总是有限的,因此,我们需要操作程序来作为一个协调者——操作系统(Operation System,OS)。
一方面,操作系统提供一系列底层接口和上层标准,“抹平”不同电脑之间的硬件差异,这样只要操作系统相同,硬件能达到软件运行的最低标准,理论上这个软件就能互通。此外,操作系统可以为所有程序分配资源,一切程序要调用计算机资源都需要向操作系统申请权限,这样就能最大程度利用计算机资源同时让各种程序不互相冲突。
总体而言,虽然操作系统本身也会占用一部分计算机资源,但是总体上它让计算机运行更为稳定,同时也减少了软件开发者的工作量,因为程序猿只需要考虑操作系统的标准接口,而不需要考虑硬件系统的底层差异。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值