设备分配与回收
1.数据结构:系统设备表、设备控制表、控制器控制表、通道控制表
2.分配原则
(1)要充分发挥设备的使用率,尽可能让设备忙碌,但又避免由于不合理的分配方法造成的死锁
(2)要做到把用户程序和具体物理设备隔离开来,即用户面对的是逻辑设备,而分配程序将在系统把逻辑设备转换成物理设备之后,再根据要求的物理设备号进行分配。
(3)设备分配方式:静态分配和动态分配
静态分配效率低,动态分配可能死锁
3.分配回收
主要考虑的因素:I/O设备的固有属性、分配算法、设备分配的安全性以及设备独立性。
设备固有属性:独占设备、共享设备、虚拟设备
分配算法:先来先服务、高优先级优先
一、独占设备的分配
1.设备的绝对号与相对号
绝对号:系统为每一台设备确定的一个编号,用来区分和识别各种不同类别的外部设备,以便进行管理。
相对号:由用户在程序中定义的设备编号称为设备的“相对号”。
二者的对应关系:规定用户使用“设备类 相对号”来提出使用设备的要求,而系统在为用户分配具体设备的同时,建立设备的“绝对号”与用户使用的“设备类相对号”的对应关系。
2.设备的指定方式
两种方式:绝对号,设备类 相对号。
使用绝对号的缺点,当指定的设备出现故障,即使还有其他同类设备,作业的请求仍然得不到满足,必须等待。使用设备类 相对号的好处:实现了设备的独立性,即用户程序使用的逻辑设备与程序实际执行时使用的物理设备无关。
3.独占设备的分配和释放
(1)设备分配表的组成
两部分:设备类表和设备表
(2)分配过程
2.1用户作业提出某类外部设备申请
2.2系统首先检查“设备类表”,若现存台数能满足请求,则取得该类设备的“设备表”始址;否则等待
2.3系统再依次检查该类设备在设备表中的登记项
2.4若找到“设备状态”为好,且未分配的设备则准备进行分配,否则等待
2.5修改设备类表和设备表,进行设备分配
(3)释放过程
系统收回设备时,对该台设备的“设备表”中的有关登记项进行修改的,即把“分配状态”改为“未分配,”同时撤销该设备的作业名和设备相对号,最后,在该类设备的“设备类表”中,把该类设备的“设备类表”中,把该类设备的现存台数加1.
二、共享设备的分配
共享设备可被多个进程共享,但在每个I/O传输的单位时间内只由一个进程所占用,以块为传输单位,可以交叉进行,没有明显的申请和释放活动。
使用方法:
(1)申请设备,如设备被占用,则进入设备等待队列,否则分配设备。
(2)启动设备。I/O传输
(3)释放设备。当设备结束,发出中断信号,系统唤醒一个等待设备的进程
标签:15,操作系统,用户,相对,该类,类表,分配,设备 From: https://blog.csdn.net/2301_79875652/article/details/142692961