[24][40][多选]已知某系统中所有资源是相同类型的,而且进程严格按照一次一个的方式申请或释放资源。在此系统中,进程所需要的资源量不超过系统资源总量。下表列出的各种情况中,哪些会发生死锁?
情况 1:2 个进程,每个进程所需资源量 2,系统资源总量 3
情况 2:2 个进程,每个进程所需资源量 3,系统资源总量 3
情况 3:3 个进程,每个进程所需资源量 2,系统资源总量 3
情况 4:3 个进程,每个进程所需资源量 3,系统资源总量 4
都不会
答案
都不会
解析
- 情况 1:因系统中进程个数为 2,而系统资源总量为 3。由题目所给条件可知,该进程的最大资源需求量不超过 3,显然情况 1 不会发生死锁。 - 情况 2:因系统中进程个数为 2,而系统资源总量为 3。由题目所给条件可知,该进程的最大资源需求量不超过 3。若将资源分配给其中的一个进程,则此进程已获得所有所需的资源并将运行完毕,从而可将分配给它的资源归还系统,使另一个进程也能顺序执行完成,故不会发生死锁。 - 情况 3:因系统中进程个数为 3,而系统资源总量为 3。由题目所给条件可知,该进程的最大资源需求量不超过 2。假设 3 个进程的最大资源需求量为 2。若将系统资源分配给其中的一个进程,则此进程已获得所有所需的资源并将运行完毕,从而可将分配给它的资源归还系统,使另一个进程也能顺序执行完成。以这种方式分配资源不会发生死锁。若系统资源分配给每个进程 1 个,在此情况下,每个进程均获得 1 个资源且系统中已无空闲资源,当其中的一个进程再次申请资源时,因系统中无空闲资源而使其等待,另一个进程的情况也是如此,因此以这种方式分配资源会发生死锁。 - 情况 4:因系统中进程个数为 3,而系统资源总量为 4。由题目所给条件可知,该进程的最大资源需求量不超过 2。假设 3 个进程的最大资源需求量为 2。若将系统资源分配给其中的一个进程,则此进程已获得所有所需的资源并将运行完毕,从而可将分配给它的资源归还系统,使另一个进程也能顺序执行完成,以这种方式分配资源不会发生死锁。若系统资源分配给其中两个进程 1 个,另一个进程 2 个,在此情况下,每个进程均获得部分资源且系统中已无空闲资源,当其中的一个进程再次申请资源时,因系统中无空闲资源而使其等待,另一个进程的情况也是如此,因此以这种方式分配资源会发生死锁。故选择 CDE 选项。涉及考点为第 8 章 死锁。
转载请注明出处。