操作系统王道考研 p67 设备的分配与回收
Posted karshey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统王道考研 p67 设备的分配与回收相关的知识,希望对你有一定的参考价值。
知识总览
在设备独立性软件里。
设备分配时应考虑的因素
设备的分配算法:
如:
- 先来先服务
- 优先级高者优先
- 短任务优先
- …
从安全性上考虑的两种设备分配方式:
保障了安全就降低了效率。
静态分配和动态分配
静态分配:进程运行前为其分配全部所需资源,运行结束后归还。
——破坏了“请求和保持”的条件,不会发生死锁。
动态分配:进程运行过程中动态申请设备资源
设备分配管理中的数据结构
一个通道可控制多个设备控制器,每个设备控制器可控制多个设备。
通道是控制器的上级,所以控制器有一个指向通道的指针。
控制器是设备的上机,所以设备有一个指向控制器表(因为有多个控制器)的指针。
通道控制表就可以看到所有控制器(它的下属)的相关信息。
关于设备控制表DCT:
关于控制器控制表COCT:
关于通道控制表CHCT:
关于系统设备表SDT:记录了系统中全部设备的情况,每个设备对应一个表目。
系统分配的步骤
- 根据进程请求的 物理设备名 查找SDT
- 根据SDT找到DCT,若 设备 忙碌则把进程PCB挂到 设备等待队列 中,否则将设备分配给进程
- 根据DCT找到COCT,若 控制器 忙碌则将进程PCB挂到 控制器等待队列 中,不忙碌则将控制器分配给进程
- 根据COCT找到CHCT,若 通道 忙碌则将进程PCB挂到 通道等待队列 中,不忙碌则将通道分配给进程
第一步。
第二步。
根据设备状态可以知道设备是否忙碌。
第三步。
看控制器是否忙碌。
第四步。
看通道是否忙碌。
大概步骤其实是:按照 设备——控制器——通道 的顺序,三个都空闲能分配,才能启动IO设备进程数据传输。
设备分配步骤的改进
上述方法的缺点和改进方法:
根据请求的逻辑设备名(设备类型)查找SDT(系统设备表,然后就知道需要的类型有哪些设备空闲),若有满足要求的设备,则将进程分配给它,并在逻辑设备表(LUT)中新增一个表项。
总结
以上是关于操作系统王道考研 p67 设备的分配与回收的主要内容,如果未能解决你的问题,请参考以下文章