首页 > 编程知识 正文

高中语文面试真题题库,面试题应急应变答题思路

时间:2023-05-06 04:32:57 阅读:176859 作者:4245

死锁死锁定义:死锁是指多个进程在竞争资源的作用下相互等待的僵局,如果没有外力作用,则无法前进这些进程,会引起死锁

产生原因:1、竞争资源2、进程请求和资源释放顺序不正确,发生死锁

死锁产生的必要条件

1、排他条件:一个资源只能同时从一个进程访问,其他进程请求该资源时,只能等待

2、不可剥夺条件:进程获得的资源在未使用过程中不得被其他进程强制剥夺,只有获得该资源的进程才能释放

3、要求和维持条件:流程已经至少维持了一项资源,但提出了新的资源要求。 如果新资源已经被占用,这只能等待,但不释放自己占用的资源

4、循环等待条件:在某些过程中,形成了临近结尾的循环等待资源

死锁的预防----破坏发生死锁的必要条件以预防死锁(主要避免发生3和4两个条件) )。

1、破坏排他条件:将只能排他使用的资源改为允许共享使用的资源,如spooLing技术,逻辑上将排他设备改造为共享设备

2、破坏不可剥夺的条件:如果某个进程请求新资源不能满足,需要立即释放所有保留的资源,以后重新申请

3、破坏要求和保留条件:加锁,不加锁即释放现有锁。 静态分配方法在进程运行之前申请所需的资源,并在资源未得到满足之前不让其运行。 一旦执行,所有这些资源都将被拥有,并且不会请求其他资源

4、破坏循环等待条件:保证上锁解锁顺序一致。 顺序资源分配法中,首先对系统内的资源进行编号,规定进程必须按照编号的增加顺序请求资源。 例如,只有当一个进程已经占用了编号较小的资源时,才能申请编号较大的资源

避免死锁经典算法:银行家算法、死锁检测算法

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。