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

设备的分配与回收

知识总览

设备独立性软件里。
在这里插入图片描述

设备分配时应考虑的因素

在这里插入图片描述
设备的分配算法:
如:

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

从安全性上考虑的两种设备分配方式:
保障了安全就降低了效率。
在这里插入图片描述

静态分配和动态分配

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

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

一个通道可控制多个设备控制器,每个设备控制器可控制多个设备。
在这里插入图片描述
通道是控制器的上级,所以控制器有一个指向通道的指针。
控制器是设备的上机,所以设备有一个指向控制器表(因为有多个控制器)的指针。
通道控制表就可以看到所有控制器(它的下属)的相关信息。

关于设备控制表DCT:
在这里插入图片描述
关于控制器控制表COCT:
在这里插入图片描述
关于通道控制表CHCT:
在这里插入图片描述
关于系统设备表SDT:记录了系统中全部设备的情况,每个设备对应一个表目。
在这里插入图片描述

系统分配的步骤

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

第一步。
在这里插入图片描述
第二步。
根据设备状态可以知道设备是否忙碌。
在这里插入图片描述
第三步。
看控制器是否忙碌。
在这里插入图片描述
第四步。
看通道是否忙碌。
在这里插入图片描述

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

设备分配步骤的改进

上述方法的缺点和改进方法:
在这里插入图片描述
根据请求的逻辑设备名(设备类型)查找SDT(系统设备表,然后就知道需要的类型有哪些设备空闲),若有满足要求的设备,则将进程分配给它,并在逻辑设备表(LUT)中新增一个表项。
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

karshey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值