您当前的位置: 首页 > 

光怪陆离的节日

暂无认证

  • 2浏览

    0关注

    1003博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

62设备分配与回收

光怪陆离的节日 发布时间:2021-05-20 08:15:24 ,浏览量:2

1、 设备分配概述 设备分配是指根据用户的IO请求分配所需的设备。分配的总原则是充分发挥设备的使用效率,尽可能地让设备忙碌,又要避免由于不合理的分配方法造成进程死锁。从设备的特性上看,采用下述三种方法:独占设备、共享设备和虚拟设备: (1) 独占式使用设备:指在申请设备时,如果设备空闲,就将其独占,不在允许其他进程申请使用,一直等到该设备被释放才允许其他进程申请使用。如打印机。 (2) 分时式共享使用设备。独占式使用设备时,设备利用率很低,当设备没有独占使用的要求时,可以通过分师共享使用提高利用率。例如,对磁盘设备的IO操作,各进程的每次IO操作请求可以通过分时来交替进行。 (3) 使用SPOOLing方式使用外部设备。SPOOLing技术实在批处理操作系统时代引入的,即假脱机IO技术。这种技术用于对设备的操作,实质上就是对IO操作进行批处理。SPOOLing技术实质上是一种以空间换时间的技术,而我们熟悉的请求分页系统中的页面调度算法就刚好相反,是以时间换空间。 2、 设备分配的数据结构 设备分配依据的主要数据皆有有设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)和系统设备表(SDT),各数据结构功能如下: 设备控制表DCT,一个设备控制表就表征一个设备,而这个控制表中的表项就是设备的各个属性。 在这里插入图片描述 在这里插入图片描述

3、 设备分配策略 (1) 设备分配原则:设备分配应根据设备特性、用户要求和系统配置情况。分配的总原则纪要充分发乎设备的使用效率,又要避免造成进程死锁,还要将用户程序和具体设备隔离开。 (2) 设备分配方式:设备分配方式有静态分配和动态分配两种: 静态分配主要用于对独占设备的分配,它在用户作业开始执行前,由系统一次性发呢配改作业所要求的全部设备、控制器。静态分配不会出现死锁,但设备的使用效率低,因此静态分配方式并不符合分配的总原则。 动态分配实在进程执行过程中根据执行需要进行。当进程需要设备时,通过系统调用命令想胸痛提出设备请求,由系统按照事先规定的策略给进程分配所需要的设备、IO控制器。动态分配方式有利于提高设备利用率,但分配算法使用不当,则有可能造成进程死锁。 (3)设备分配算法:常用的动态设备分配算法有先请求先分配、优先级高者优先等 对于独占设备,既可以采用动态分配方式也可以次啊用静态分配方式,往往采用静态分配方式,即在作业执行前,将作业所需要用到的这一类设备分配给它。共享设备可以被多个进程所共享,一般采用动态分配方式,但在每个IO传输的单位时间只被一个进程所占有,通常采用先请求先分配和优先级高者优先的分配算法。 4、 设备分配的安全性 设备分配的安全性是指设备分配中应防止发生进程死锁。 (1) 安全分配方式:每当进程发出IO请求后便进入阻塞状态,知道IO操作完成时才被唤醒。优点时设备分配安全;缺点是CPU和IO设备时穿行工作的。 (2) 不安全分配方式:进程发出IO请求后继续运行,需要时又发出第二个、第三个IO请求信号。仅当进程所有请求的设备都被另一进程占用时才进入阻塞状态。优点时可以同时操作多个设备,从而使进程推进迅速;缺点是这种设备分配可能产生死锁。

关注
打赏
1665731445
查看更多评论
立即登录/注册

微信扫码登录

0.0628s