Spooling技术

转自https://blog.csdn.net/weixin_42229896/article/details/80736517
spa

假脱机的概念.net

SPOOLing技术:利用高速共享设备(一般是磁鼓或者是磁带)将低速的独享设备模拟为高速的共享设备,这样,从逻辑上讲,计算机系统为每个用户都分配了一台独立的高速独享设备。 
3d

假脱机技术的组成

假脱机技术有输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程、请求打印队列组成。
其系统图以下所示:
 

 

输入输出井

它们是在磁盘上开辟的两大存储区。输入井是模拟脱机输入时的磁盘,用于收容输入设备输入的数据;输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。

输入缓冲区和输出缓冲区

它们是在主存中开辟的两个缓冲区。输入缓冲区用于暂存由输入设备送来的数据,之后再传送到输入井;输出缓冲区用于暂存从输出井送来的数据,之后再传送给输出设备。

输入进程和输出进程

输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入设备,经过输入缓冲区送到输入井。当CPU须要数据时,直接从输入井读入主存;输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从主存送到输出井,待输出设备空闲时,再将输出井中的数据,通过输出缓冲区送到输出设备上。

请求打印队列

由若干张请求打印表所造成的队列,系统为每一个请求打印的进程创建一张请求打印表。

假脱机的技术原理

       它在输入和输出之间增长了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到做业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个做业输入完毕。当读过程读到一个硬件结束标志以后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。而后,系统为该做业创建做业控制块,从而使输入井中的做业进入做业等待队列,等待做业调度程序选中后进入内存运行。系统在管理输入井过程当中能够“不断”读入输入的做业,直到输入结束或输入井满而暂停。blog

       以打印机为例:若系统的某台打印机采用了虚拟设备技术,那么如有进程要求对它打印输出时,SPOOLing系统并非将这台打印机直接分配给进程,而是在共享设备(磁盘)上的输出,SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式此。各进程的数据输出文件造成了一个输出队列,由输出POOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing系统中,实际上并无为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和创建一章I/O请求表。这样,便把独占设备改造为共享设备。队列

假脱机的特色

(1)提升了输入输出速度

SPOOLing技术提升了I/O速度.从对低速I/O设备进行的I/O操做变为对输入井或输出井的操做,如同脱机操做同样,提升了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾。

(2)将独占设备改造为共享设备

因为SPOOLing技术把全部用户进程的输出都送入输出井,而后再由输出进程完成打印工做,而输出井在磁盘上,为共享设备。这样,SPOOLing技术就把打印机等独占设备改形成立共享设备。

(3)实现了虚拟设备功能

因为SPOOLing技术实现了多个用户进程共同使用打印机这种独占设备的状况,从而实现了把一个设备当成多个设备来使用,即虚拟设备的功能。
相关文章
相关标签/搜索