设备的分配与回收
廖家龙 用心听,不照做

设备分配时应考虑的因素

  1. 设备的固有属性

    • 独占设备:一个时段只能分配给一个进程(打印机)
    • 共享设备:可同时分配给多个进程使用(磁盘),各个进程往往是宏观上同时共享使用设备,而微观上交替使用
    • 虚拟设备:采用SPOOLing技术将独占设备改造成虚拟的共享设备,可同时分配给多个进程使用(共享打印机)
  2. 设备分配算法:先来先服务、优先级高者优先、短任务优先。。

  3. 设备分配中的安全性

静态分配与动态分配

静态分配:进程运行前为其分配全部所需资源,运行结束后归还资源(破坏了“请求和保持”条件,不会发生死锁)

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

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

设备、控制器、通道之间的关系:一个通道可控制多个设备控制器,每个设备控制器可控制多个设备

设备控制表DCT:系统为每个设备配置一张DCT,用于记录设备情况

控制器控制表COCT:每个设备控制器都会对应一张COCT,操作系统根据COCT的信息对控制器进行操作和管理

通道控制表CHCT:每个通道都会对应一张CHCT,操作系统根据CHCT的信息对通道进行操作和管理

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

设备分配的步骤

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

设备分配步骤的改进方法

改进方法:建立逻辑设备名与物理设备名的映射机制,用户编程时只需提供逻辑设备名