实现

有序资源使用法」是死锁预防的一种方法,其本质是破坏死锁必要条件中的循环等待条件。

  • 把资源分类,按序排列,每种资源分配唯一序号;
  • 进程对资源的请求必须严格按资源序号的递增次序
  • 经常用的普通的资源低序号,贵重少用的高序号。

例如:

  • 进程 PA,使用资源的顺序是 R1,R2;
  • 进程 PB,使用资源的顺序是 R2,R1;

若采用动态分配有可能形成环路条件,造成死锁。

此时采用有序资源分配法:R1 的编号为 1,R2 的编号为 2;

  • PA:申请次序应是:R1,R2
  • PB:申请次序应是:R1,R2

这样就破坏了环路条件,避免了死锁的发生

特点

优点:

  • 基于动态分配,资源利用率提高
    缺点:
  • 由于资源序号必须相对稳定,限制了新设备类型的增加;
  • 存在资源申请次序与实际使用次序不一致,导致利用率不高。