设备的分配

发布于:2023-07-04 ⋅ 阅读:(291) ⋅ 点赞:(0)

一、设备分配的功能

当进程向系统提出I/O请求后,由设备分配程序按照一定的策略把所要求的设备分配给该进程,为确保CPU与设备之间能进行通信,还应分配相应的控制器和通道。

二、设备分配时应考虑的因素

系统必须具有一种合理的设备分配策略,该策略与下述的四个因素有关;

1)设备的固有属性

2)系统采用的分配算法

3)设备分配的安全性

4设备的无关性,用户程序与实际使用的物理设备无关。

1、设备的固有属性——设备分配的方式

1)独占设备——静态分配

独占设备有打印机,键盘,显示器。

对独占型设备一般采用静态分配即在作业级进行的分配,当一个作业运行之前由系统一次分配满足需要的全部设备,这些设备一直为该作业占用,直到作业撤消。这种分配不会出现死锁,但设备的利用效率较低。

2)共享设备——动态分配

共亨设备包括磁盘,磁鼓和磁带。

对共享设备采用动态分配的方式,即在进程运行的过程中进行的,当进程需要使用设备时,通过系统调用命令向系统提出设备请求,系统按一定的分配策略给进程分配所需设备,一旦使用完毕立即释放。显然这种分配方式有利于提高设备的使用效率,但会出观死锁。

3)虚拟设备——虚拟分配

虚拟设备有虚拟的输入机,虚拟的打印机。

为提高设备的利用率,通过Spooling技术把一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用。用来模拟独占设备的那部分共享设备称为虚拟设备

2I/O设备分配算法

1.先来先服务。根据进程对某设备提出请求的先后次序,可将进程排成一个队列,设备分配程序总是先把设备分配给队首进程。

2.优先级高者优先。本算法总是将设备分配给优先级最高的进程。为此,通常在形成设备队列时,是将优先级高的进程排在前面;对于相同优先级的IO请求,则按先来先服务原则排队。

3、设备分配的安全性

从进程运行的安全性上考虑,设备分配有以下两种方式

1) 安全分配方式(单请求方式)在这种分配方式中,每当进程发出IO请求后便进入阻塞状态,直至IO操作完成时才被唤醒。在此策略中,由于已经避免了造成死锁的四个必要条件之一的“请求和保护”条件,因而分配是安全的。其缺点是进程进展缓慢、CPU1O之间是串行工作的。

2) 不安全分配方式(多请求方式)在这种分配方式中,进程发出IO请求后仍继续运行,需要时又发出第二个IO请求、第三个IO请求。仅当进程所请求的设备己被另一进程占用时.进程才进入阻塞状态。

优点:一个进程可同时操作多个设备,使这些设备能并行工作;

缺点:分配不安全,从而可能形成死锁。因此在设备分配程序中还应增加一个功能,用于对本次的设备分配是否会形成死锁而进行安全性计算,仅当计算结果说明分配是安全时,方才进行分配。

三、逻辑设备名到物理设备名映射的实现

逻辑设备表LUT(Logical Unit Table)
  在逻辑设备表的每个表目中包含了三项:逻辑设备名、物理设备名和设备驱动程序的入口地址。

四、设备分配的数据结构

设备控制表(DCT——每个设备一张,记录了设备特性以及设备和I/O控制器的连接情况。

控制器表(COCT——每个控制器一张,记录了控制器的使用状态以及和通道的连接情况。

通道控制表(CHCT——每个通道一张,记录了通道的情况。

系统设备表(SDT——整个系统一张,每个设备占一个表项,记录了系统中所有设备的情况。

设备分配检索流程

五、独占设备的分配程序   

1)  基本的设备分配程序
   我们通过一个例子来介绍设备分配过程。当某进程提出
I/O请求后,系统的设备分配程序可按下述步骤进行设备分配:
  
(1) 分配设备。
  
(2) 分配控制器。
  
(3) 分配通道。

2) 设备分配程序的改进
  为获得设备的独立性,进程应使用逻辑设备名请求
I/O

六、假脱机(Spooling)系统

1、假脱机技术

1)脱机输入输出系统

2)假脱机(Spooling)技术

     联机同时外围设备操作技术称为Spooling技术或称为假脱机技术

2SPOOLing的组成

      大容量磁盘  输入井——用于存放作业的原始信息

                  输出井——用于存放作业的执行结果

            输入缓冲区和输出缓冲区

      输入进程SPi和SPo

 

3、假脱机打印机系统

    当用户(或进程)申请独占设备时,系统给它分配共享设备的一部分存储空间。当进程要与设备交换信息时,系统就把要交换的信息存放在这部分存储空间。在适当的时候再将存贮空间的信息传输到相应的设备上去处理。

    如系统打印信息时,就把要打印的信息送到某个存储空间中去,然后由系统在适当时机把存储空间上的信息送到打印机上打印。这个时机可能是打印机空闲或打印机完成了一用户的打印之后。

4、实现虚拟设备的好处

1)提高了独占设备的利用率;

2)每个用户都有速度极高的“输入机”和“打印机”,缩短  了作业执行时间;

3)能够多道并行工作 。

 


网站公告

今日签到

点亮在社区的每一天
去签到