结构推理 阐述按序分配资源法是如何进行死锁预防的。
【正确答案】Havender提出的第二个策略是有序资源使用法,这是针对循环等待条件的,即系统设计者把系统中所有资源类都分给一个唯一的序号,如输入机=1,打印机=2,穿孔输出机=3,磁带机=4,等等。并且要求每个过程均应严格按递增的次序请求资源。亦即,只要进程提出请求资源,那么以后它只能请求排列在其后面的那些资源,而不能再要求序号低的那些资源。不难看出,由于对资源的请求作出了这种限制,在系统中就不可能形成几个进程对资源的环形请求链,破坏了循环等待条件。 这种方法由于不是采用预先静态分配方法,而是基本上基于动态分配方法,所以资源利用率较前一方法提高了,特别是小心地安排资源序号,把一些各作业经常用到的、比较 普通的资源安排成低序号,把一些比较贵重或稀少的资源安排成高序号,便可能使最有价值的资源的利用率大为提高。因为高序号的资源往往等到进程真正需要时,才提出请求分配给进程。而低序号的资源,在进程即使暂不需要的情况下,但是进程需要使用高序号资源,所以在进程请求分配高序号资源时,不得不提前同时请求以后需要的低序号资源,从而造成资源空闲等待的浪费现象。
【答案解析】