首页 > 其他分享 >设备的分配与回收

设备的分配与回收

时间:2024-12-16 13:34:13浏览次数:6  
标签:SDT 回收 死锁 进程 Table 分配 设备

设备的分配与回收

image


一、设备分配时的考虑因素

image

(一)设备的固有属性

  • 独占设备:一个时段只能分配给一个进程(如打印机)
  • 共享设备:可同时分配给多个进程使用(如磁盘),各进程往往是宏观上同时共享使用设备,而微观上交替使用。
  • 虚拟设备:采用 SPOOLing 技术将独占设备改造成虚拟的共享设备,可同时分配给多个进程使用(如采用 SPOOLing 技术实现的共享打印机)

(二)设备分配算法

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

(三)设备分配中的安全性

image

(回顾:第二章的死锁及其处理策略)

(补充:不安全分配方式并不意味着进入了不安全状态(不安全状态见死锁的处理策略))

二、静态分配与动态分配

  • 静态分配:进程运行前为其分配全部所需资源,运行结束后归还资源

    (有了全部资源才能开始运行。破坏了“请求和保持”条件(见死锁产生的四个条件),不会发生死锁)

  • 动态分配:进程运行过程中动态申请设备资源

    (可能发生死锁)

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

image

(一)DCT 设备控制表 Device Control Table

image

(二)COCT 控制器控制表 Controller Control Table

image

(三)CHCT 通道控制表 Channel Control Table

image

(四)SDT 系统设备表 System Device Table

image

四、设备分配的步骤

  1. 根据进程请求的物理设备名查找 SDT(注:物理设备名是进程请求分配设备时提供的参数)。

image

  1. 根据 SDT 找到 DCT,若设备忙碌则将进程 PCB 挂到设备等待队列中,不忙碌则将设备分配给进程。

image

  1. 根据 DCT 找到 COCT,若控制器忙碌则将进程 PCB 挂到控制器等待队列中,不忙碌则将控制器分配给进程。

image

  1. 根据 COCT 找到 CHCT,若通道忙碌则将进程 PCB 挂到通道等待队列中,不忙碌则将通道分配给进程。

image

——重点:

只有设备控制器通道三者都分配成功时,这次设备分配才算成功,之后便可启动 I/O 设备进行数据传送。

五、设备分配步骤的改进

原本的第一步:根据进程请求的物理设备名查找 SDT(注:物理设备名是进程请求分配设备时提供的参数)。

image

改进方法:

建立逻辑设备名物理设备名的映射机制,用户编程时只需提供逻辑设备名。

image

LUT 逻辑设备表 Logical Unit Table 见 5.4 节 I/O 软件层次结构

image

——重点:

最终的设备分配步骤为:

逻辑设备名——(LUT——物理设备名——SDT)——DCT——COCT——CHCT

标签:SDT,回收,死锁,进程,Table,分配,设备
From: https://www.cnblogs.com/Wind730/p/18609866/the-distribution-and-recycling-of-equipment-z5w

相关文章

  • IO设备的概念和分类
    IO设备的概念和分类‍​​‍​​一、I/O设备的定义I/O就是“输入/输出”(Input/Output)I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。​​‍二、按使用特性分类人机交互类外部设备:鼠标、键盘、打印机等——数据......
  • IO应用程序接口&设备驱动程序接口
    IO应用程序接口&设备驱动程序接口‍​​‍一、输入/输出应用程序接口背景:在设备独立软件层向上提供各种各样的输入/输出应用程序接口的原因是:用户层的应用程序无法用一个统一的系统调用接囗来完成所有类型设备的I/O​​‍三种输入/输出应用程序接口:字符设备接口块设......
  • 设备的分配与回收
    设备的分配与回收‍​​‍一、设备分配时的考虑因素​​(一)设备的固有属性独占设备:一个时段只能分配给一个进程(如打印机)共享设备:可同时分配给多个进程使用(如磁盘),各进程往往是宏观上同时共享使用设备,而微观上交替使用。虚拟设备:采用SPOOLing技术将独占设备改造成虚拟的......
  • HarmonyOS Next 设备适配与生态拓展
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)在设备适配与生态拓展方面的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、设备适配......
  • 文件的物理结构(文件分配方式)
    文件的物理结构(文件分配方式)‍​​‍类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操作系统中,磁盘块的大小与内存块、页面的大小相同。内存与磁盘之间的数据交换(即读/写操作、磁盘I/O)都是以“块"为单位进行的。即每次读入一块,或每次写出一块......
  • 基于微信小程序的医院设备报修管理系统设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3具体实现截图3.1小程序端部分效果3.2后台管理端部分效果4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2微信小程序5.3系统开发平台6.业务流程分析7.代码参考8.数据库参考9.为什么选择我们10.源码及文档获取1.前言博主介绍:✌C......
  • Linux框架(一)——设备树
    掌握设备树是Linux驱动开发人员必备的技能!因为在新版本的Linux中,ARM相关的驱动全部采用了设备树(也有支持老式驱动的,比较少),最新出CPU在系统启动的时候就支持设备树,比如我们的RK3568系列、NXP的I.MX8系列等。设备树设备树(DeviceTree),将这个词分开就是“设备......
  • 运营商分配过来的是私网地址,它是如何完成上网的?
    在实际中,比如图上面最简单的家庭网络,不知道大家发现没有,接光猫下面分配的是192.168.1.0或者192.168.2.0/24的地址,或者拨号分配的是100.100.X.X、10.10.X.X的地址,这些地址可都是私网IP的,在前面提到过,私网IP是无法进入公网的,那它是如何上网的呢?「模拟器、工具合集」复制整段......
  • 一文了解垃圾回收算法、垃圾收集器
    目录​编辑原理如何判定垃圾引用计数法缺陷可达性分析一个对象非死不可?对象的自我救赎finalize的作用finalized的问题finalize的执行过程(生命周期)垃圾收集法标记清除复制算法标记整理分代收集算法垃圾收集器SerialParNewParallelScavengeSerialOldPara......
  • C语言(动态内存分配)
    动态内存分配我们要想实现动态内存分配,就需要学习标准C提供的函数库(API):函数所属的库文件函数的原型-函数的声明函数名形参返回值类型函数功能注意:内存分配函数在申请内存时,建议用多少申请多少,可以有少量的预留量;但不能越界访问(虽然编译和运行不报错,但是数据不安全(野......