操作系统王道考研 p67 设备的分配与回收

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统王道考研 p67 设备的分配与回收相关的知识,希望对你有一定的参考价值。

设备的分配与回收

知识总览

设备独立性软件里。

设备分配时应考虑的因素


设备的分配算法:
如:

  • 先来先服务
  • 优先级高者优先
  • 短任务优先

从安全性上考虑的两种设备分配方式:
保障了安全就降低了效率。

静态分配和动态分配

静态分配:进程运行前为其分配全部所需资源,运行结束后归还。
——破坏了“请求和保持”的条件,不会发生死锁
动态分配:进程运行过程中动态申请设备资源

设备分配管理中的数据结构

一个通道可控制多个设备控制器,每个设备控制器可控制多个设备。

通道是控制器的上级,所以控制器有一个指向通道的指针。
控制器是设备的上机,所以设备有一个指向控制器表(因为有多个控制器)的指针。
通道控制表就可以看到所有控制器(它的下属)的相关信息。

关于设备控制表DCT:

关于控制器控制表COCT:

关于通道控制表CHCT:

关于系统设备表SDT:记录了系统中全部设备的情况,每个设备对应一个表目。

系统分配的步骤

  1. 根据进程请求的 物理设备名 查找SDT
  2. 根据SDT找到DCT,若 设备 忙碌则把进程PCB挂到 设备等待队列 中,否则将设备分配给进程
  3. 根据DCT找到COCT,若 控制器 忙碌则将进程PCB挂到 控制器等待队列 中,不忙碌则将控制器分配给进程
  4. 根据COCT找到CHCT,若 通道 忙碌则将进程PCB挂到 通道等待队列 中,不忙碌则将通道分配给进程

第一步。

第二步。
根据设备状态可以知道设备是否忙碌。

第三步。
看控制器是否忙碌。

第四步。
看通道是否忙碌。

大概步骤其实是:按照 设备——控制器——通道 的顺序,三个都空闲能分配,才能启动IO设备进程数据传输。

设备分配步骤的改进

上述方法的缺点和改进方法:

根据请求的逻辑设备名(设备类型)查找SDT(系统设备表,然后就知道需要的类型有哪些设备空闲),若有满足要求的设备,则将进程分配给它,并在逻辑设备表(LUT)中新增一个表项。

总结

以上是关于操作系统王道考研 p67 设备的分配与回收的主要内容,如果未能解决你的问题,请参考以下文章

操作系统王道考研 p50-51 文件的物理结构(文件分配方式)

(王道考研P18~P28)

(王道考研P18~P28)

(王道考研P29~P32)

操作系统王道考研 p46 页面分配策略

(王道考研P8~P12)