假设某操作系统采用非剥夺法来分配资源,且对资源的申请和释放可以在任何时候进行。当进程A请求资源得不到满足时, ①若没有因等待资源而阻塞的其他进程,则进程A(24)。 ②若有因等待资源而阻塞的其他进程,则(25)检查所有由于等待资源而被阻塞的进程

admin2009-05-15  31

问题 假设某操作系统采用非剥夺法来分配资源,且对资源的申请和释放可以在任何时候进行。当进程A请求资源得不到满足时,
   ①若没有因等待资源而阻塞的其他进程,则进程A(24)。
   ②若有因等待资源而阻塞的其他进程,则(25)检查所有由于等待资源而被阻塞的进程的资源占有情况。若占有了进程A所需的资源,则将资源取出并分配给进程A,那么该策略(26)。

选项 A、会导致死锁
B、不会导致死锁
C、采用的是资源静态分配法
D、采用的是资源顺序分配法

答案B

解析 产生死锁有4个必要条件:互斥条件、不可抢占条件、保持与等待条件(部分分配条件)、循环等待条件。资源静态分配法是指进程调度程序选择进程时,仅当系统能满足进程运行所需的全部资源时,才把该进程调入内存运行。该方法打破了死锁的四个必要条件中的部分分配条件,所以不会引起死锁。资源顺序分配法是指系统设计者给系统中所有资源类都分配惟一的序号,并且要求每个进程均应严格按照递增的次序请求资源。该方法打破了死锁的4个必要条件中的循环等待条件,所以不会引起死锁。因操作系统采用非剥夺法来分配资源,且对资源的申请和释放可以在任何时候进行。所以,当进程A请求资源得不到满足时,若没有因等待资源而阻塞的其他进程,则进程A直接阻塞。若有因等待资源而阻塞的其他进程,则系统进程检查所有由于等待资源而被阻塞的进程的资源占有情况。若占有了进程A所需的资源,则将资源取出并分配给进程A,那么该策略不会导致死锁,因为这打破了死锁的4个必要条件中的不可抢占条件。
转载请注明原文地址:https://kaotiyun.com/show/uQLZ777K
0

最新回复(0)