扫一扫二维码
进群一起备考
查看更多
当前 - 选择题 - 进程管理简单
单选题
2024年11月第27题
简单
单选题
2024年11月第27题
#第二版教材
#必须掌握
死锁产生的四个必要条件是(【互斥、请求和保持、不可剥夺、环路】)。
问题(1)
浓缩知识点
死锁是多进程并发竞争资源时出现的僵持状态,进程既无法推进也无法释放已占资源,它的发生必须同时满足四个必要条件。第一个是互斥条件,仅针对临界资源,这类资源同一时间只能被一个进程独占使用,比如打印机、磁盘写操作资源等。第二个是请求和保持条件,进程在持有已分配资源的同时,还向系统申请新资源,若申请失败则进入阻塞状态,且不会释放已持有的资源。第三个是不可剥夺条件,进程已获得的资源,在进程主动释放前,不能被其他进程或系统强制剥夺。第四个是环路等待条件,多个进程之间形成环形的资源请求与持有链,每个进程都等待链中下一进程持有的资源,循环往复无法打破。需要注意的是,这四个条件是死锁发生的必要非充分条件,满足条件只是存在死锁的可能而非必然。而预防死锁的核心思路,就是通过破坏这四个必要条件中的至少一个来实现,比如允许资源共享破坏互斥,要求进程一次性申请所有资源破坏请求和保持,允许系统强制剥夺资源破坏不可剥夺,或者给资源统一编号让进程按序申请破坏环路等待。
正确答案
A
本题考察的是操作系统进程管理中死锁的必要条件。
死锁是多个进程竞争资源时常见的并发问题,必须满足以下四个条件才可能发生。
A选项互斥、请求和保持、不可剥夺、环路:
- 互斥条件:资源只能由一个进程使用,不能共享。
- 请求和保持条件:一个进程在请求新资源的同时,保持自己已经占有的资源。
- 不可剥夺条件:进程已经获得的资源,在完成使用前,不能被强制剥夺。
- 环路条件:若干进程之间形成了一个资源请求的环形等待链。
该选项完全符合死锁的四个必要条件,因此正确。
B选项互斥、请求和释放、可剥夺、环路:请求和释放不符合死锁条件,可剥夺也不符合死锁发生的前提,错误。
C选项共享、请求和释放、不可剥夺、环路:共享资源不会导致死锁,因此错误。
D选项共享、请求和保持、不可剥夺、环路:共享同样与死锁条件矛盾,因此错误。
所以选择 A。
