中国4200万家企业需要精益生产;全球70亿人都需要精益思维;
学精益,就上环球精益网
  • 精益管理名词解释大全
    栏目分类
    热门精益设备文章推荐

    主页 > 精益设备 > INTRODUCE

    (设备管理)设备分配

    2020-09-20 17:50 作者:多元思维的开发者 来源: 浏览: 我要评论 (条) 字号:

    摘要:设备分配: 所有的外设、控制器和通道资源都是有限。因此进程必须先向设备管理程序申请资源,如果是可能和安全,那么就会根据相应的分配算法为进程分配资源。 如果申请进程得不到资源,就被放入相应的资源等待队列中等待,直到所需资源被释放。 如果得到,那

    设备分配:

    所有的外设、控制器和通道资源都是有限。因此进程必须先向设备管理程序申请资源,如果是可能和安全,那么就会根据相应的分配算法为进程分配资源。
    如果申请进程得不到资源,就被放入相应的资源等待队列中等待,直到所需资源被释放。
    如果得到,那么就使用;用完后,系统会根据相应的设备回收算法,回收资源。

    1、使用的数据结构:

    设备管理系统建立针对性的数据结构,来存储设备和控制器的状态等信息。以便系统及时掌握设备的情况,来分配设备控制器和通道。
    这些数据结构主要有如下:

    数据结构

    图例

    设备控制表

    (Device Control Table,DCT)

    控制器控制表

    (Controller Control Table,COCT)

    通道控制表

    (Channel Control Table,CHCT)

    系统设备表

    (System Device Table,SDT)

    其他数据结构

    2、分配考虑的因素:

    2.1、分配前的检查:

    有了上述的数据结构后,虽然设备分配程序能够一方面记录设备、控制器和通道的状态信息,另一方面还要构成设备到内存的通路;根据请求的I/O设备,从系统设备表找出该设备的设备控制表(DCT),然后检查DCT。
    因此,设备分配程序还得至少考虑这三个问题:

    1、是否有能用来为I/O请求提供服务的通路

    2、是否有多条通路可用

    3、如果当前没有可用通路,那通路何时空闲

    例如:请求A设备,那么I/O分配程序就会检查设备A的DCT,查找与A设备相连的COCT。其中控制器B、C与A相连。如果控制器B不忙,就从B的COCT查询与自己相连的通道。
    最后检查出:通道D和E与控制器B的COCT相连。如果通道D忙,通道E空闲;那么就会构成一条I/O通路:通道E → 控制器B → 设备A。
    按照上述构成I/O通路的过程,那么就会最多有四种可用通路:

    通道D → 控制器B → 设备A

    通道D → 控制器C → 设备A

    通道E → 控制器B → 设备A

    通道E → 控制器C → 设备A

    如果有可用通路,就会在DCT、COCT、CHCT中将进程名(或进程PCB首址)登记在表示正在使用该设备(控制器或通道)的状态表项内。若没有,则进行排队等待
    最后,设备分配程序可以按照一定的策略进行设备分配。

    2.2、设备的固有属性:

    分配设备时,需要考虑与设备分配有关的设备属性。设备固有属性可以分为:

    固有属性

    说明

    独占性

    设备在一段时间内,只允许一个进程占有

    共享性

    设备允许多个进程同时共享,要注意进程访问设备的先后次序来进行合理调度

    可虚拟设备

    通过某种技术,能够将独占设备,改造成多台逻辑虚拟设备。虚拟设备是可共享设备,能够同时分配给多个进程使用。

    2.3、设备分配算法:

    分配算法

    说明

    先来先服务

    多个进程对同一个设备提出I/O请求,就会根据进程对设备提出请求的先后排序,形成一个设备请求队列。设备分配程序会将设备分配给队首的请求者。

    优先级高者优先

    优先级高的进程提出的I/O请求也会被赋予高优先级,并形成一个优先队列。优先级高的总是在队头,而优先级相同的,就会按照先来先服务原则排序。

    2.4、设备分配的安全性:

    安全性

    说明

    安全分配方式

    当进程发出I/O请求,便会进入阻塞状态;直到其I/O操作完成后才被唤醒。

    这样改阻塞进程,就不会请求其他资源,从而防止死锁发生。

    不安全分配方式

    进程发出I/O请求后,继续运行;那么就会可能请求第二个、第三个等I/O请求,若请求的资源被另一个进程占用,该进程才会被阻塞。

    虽然一个进程可以同时操作多个设备,进程推进迅速;但是可能会造成死锁。

    3、独占设备的分配程序:

    对于独占设备,应采用独享分配策略。也就是一个设备分配给一个进程后,就只能被该进程使用;直到该进程释放该设备,系统才能将该设备重新分配给其他进程。
    系统分配设备的过程,只有设备、控制器和通道三者分配成功,该设备才算是分配成功。然后就会启动该设备进行数据传送。

    过程

    说明

    1、分配设备

    1、根据I/O请求的物理设备名,查找系统设备表,找出该设备的DCT。

    2、通过DCT的设备状态字段,了解设备的空闲情况。若忙,便将请求I/O的进程的PCB挂在设备队列;否则,按照安全算法来计算此次设备分配的安全性。

    3、如果分配设备不会导致系统进入不安全状态,就将设备分配给请求进程;否则,就将进程的PCB插入到设备等待队列。

    2、分配控制器

    1、系统分配设备给请求进程后,就会根据设备的DCT查询与该设备连接的控制器的COCT

    2、从COCT的状态字段了解控制器是否空闲。若忙,就将请求I/O的进程的PCB挂在该控制器的等待队列中;否则就会将控制分配给该进程

    3、分配通道

    1、在2的基础上,从COCT寻找与该控制器相连的通道的CHCT

    2、根据CHCT的状态信息,了解通道的空闲情况。若忙,则将请求I/O进程挂在该通道的等待队列;否则,将通道分配给进程。

    4、SPOOLing技术:

    SPOOLing:在多道程序设计中,将一台独占设备改造成共享设备的一种技术。这样,就可以将一台物理I/O设备虚拟为多台逻辑I/O设备,让更多的用户共享一台物理I/O设备。
    技术演进:

    背景

    说明

    解决方式

    早期计算机系统

    CPU高速性和I/O设备低速性之间的矛盾

    引入脱机输入/输出技术。

    利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反

    多道程序

    引入多道技术,利用其中的一道程序来模拟脱机输入时的外围控制机功能。

    把低速I/O设备上的数据传送到高速磁盘;再利用另一道程序模拟脱机输出时外围控制机功能,把数据从磁盘传送到低速输出设备上。在主机的直接控制下,实现脱机输入和输出功能。

    此时的外围操作与CPU对数据的处理同时进行,这种联机情况下实现的同时外围操作称为SPOOLing(Simultaneous Peripheral Operation On Line),也叫假脱机技术。

    例如:创建一个特殊的守护进程和SPOOLing目录,来实现独占设备打印机的共享。在打印一个文件前,进程会将待打印文件放入SPOOLing目录,当进程把该文件放到SPOOLing系统后,就可以认为打印过程已经完成(实际上打印机还没打印),所以SPOOLing也叫打印的假脱机过程。
    打印过程是由守护进程进行处理,只能由守护进程使用打印机设备文件。并通过禁止用户直接使用打印机设备文件,来解决打印机独占问题。说白了就是,中间人接收所有进程提交的打印任务,来统一处理。

    4.1、SPOOLing系统的特点:

    1、提高I/O速度

    2、将独占设备改造为共享设备

    3、实现虚拟设功能

    (责任编辑:环球精益网)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    特别说明

    此处放横条广告

    ◎最新评论
        谈谈您对该文章的看
        表  情:
        评论内容:
        * 请注意用语文明且合法,谢谢合作 审核后才会显示! Ctrl+回车 可以直接发表

        精益疑问
        免费咨询

        一键加群交流

        石老师

        18970479044