操作系统——死锁

﹏ヽ暗。殇╰゛Y 2023-10-17 13:59 129阅读 0赞

操作系统——死锁

死锁的由来?

多道程序并发执行时,多个进程因竞争资源而造成的僵局(互相等待),无外力作用的情况下,这些进程无法向前推进。

例子:进程P1正在占用打印机,此时请求输入设备,进程P2正在占用输入设备,请求打印机。他们都在未释放自身资源的情况下,请求另一种资源,这就造成了两个进程无休止的等待,进入死锁状态。

死锁产生的原因有哪些?

主要有以下两种原因:

1:系统资源的竞争

资源的数量小于进程所需要的数量,不可剥夺资源的竞争产生死锁

2:不合理的进程推进顺序

信号量使用不当,进程间彼此等待对方发来的消息,这不是竞争资源的情况,而是在等待对方的资源所造成的死锁。

死锁的必要条件有哪些?

产生死锁必须满足下面四个条件:

1:互斥条件,一段时间内某个资源仅能被一个资源所占用,若其他资源请求,只能等待。

2:不剥夺条件,进程的资源在未使用完之前,不能被其他进程强制夺走,自己的资源只能主动释放。

3:请求和保持条件,进程在请求其他资源时,对自己所占有的资源保持不放。

4:循环等待条件,进程资源的循环等待链,每一个进程已获得的资源被下一个资源所请求

死锁的处理策略有哪些?

死锁的预防

发表评论

表情:
评论列表 (有 0 条评论,129人围观)

还没有评论,来说两句吧...

相关阅读

    相关 操作系统——

    操作系统——死锁 死锁的由来? 多道程序并发执行时,多个进程因竞争资源而造成的僵局(互相等待),无外力作用的情况下,这些进程无法向前推进。 例子:进程P1正在占用

    相关 操作系统

    1. 死锁的概念 死锁是多个进程因竞争资源而造成的一种僵局现象,若无外力的作用,这些进程都不能运行。 当然单进程也是可能出现死锁,原因是如果内存小的情况下,单进程放到外

    相关 操作系统

    死锁 开发多线程应用的程序必须特别关注死锁问题,因为多个线程可能因为竞争共享资源而容易产生死锁。 当一组进程内的每个进程都在等待一个事件,而这个事件只能由这一组进程的另

    相关 操作系统

    死锁的定义   由于多个进程共享资源而引起的进程不能向前推进的僵死状态成为死锁。 > 进程访问资源是通过执行程序实现的。一般来说,进程按照申请资源、访问资源、释放资源的