SPOOLING (即
外部设备联机
并行操作),即Simultaneous Peripheral Operations On-Line的缩写,它是关于慢速
字符设备如何与计算机主机交换信息一种技术,通常称为“
假脱机技术”。
若有进程要求对它
打印输出时,
SPOOLing系统并不是将这台打印机直接分配给进程,而是在共享设备(磁盘或
磁鼓)上的输出SPOOLing存储区中为其分配一块
存储空间,进程的输出数据以文件形式存放于此。各进程的
数据输出文件形成了一个
输出队列,由输出SPOOLing
系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing 系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一张I/O请求表。这样,便把独占
设备改造为共享设备。
(1)提高了I/O速度.从对低速
I/O设备进行的
I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了
CPU与低速
I/O设备速度不匹配的矛盾.
(2)设备并没有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表.
(3)实现了虚拟设备功能.多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备.
1、SPOOLing的含义是什么?试述SPOOLing系统的特点、功能以及
控制过程。答:SPOOLing是Simultaneous Peripheral Operation On-Line (即
外部设备联机
并行操作)的缩写,它是关于慢速
字符设备SPOOLing技术是在通道技术和
多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。 SPOOLing系统由专门负责I/O的
常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。
2、
SPOOLing技术如何使一台打印机虚拟成多台打印机? 答:将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把打印机分配给该
用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存
缓冲区,再进行打印,直到打印队列为空。