Eric Zhang
unread,May 28, 2008, 10:19:18 PM5/28/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to InfoTechCompass
他是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。低速设备经通道和设在主机内存的
缓冲存储器与高速设备相联,该高速设备通常是辅存。为了存放从低速设备上输入的信息,或者存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟
一固定区域,叫“输出#”(对输出),或者“输入#”(对输入)。简单来说就是在内存中形成缓冲区,在高级设备形成输出#和输入#,传递的时候,从低速
设备传如缓冲区,在传到高速设备的输入#,在从高速设备的输出#,传到缓冲区,在传到低速设备。
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关
于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
SPOOLing系统既不同于脱机方式,也不同于直接藕合方式,SPOOLing技术实际上是一种外围设备同时联机操作技术,又称为排队转储技
术。它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理
模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个
作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作
业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,
直到输入结束或输入井满而暂停。若系统的某台台行式打印机采用了虚拟设备技术,那么若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印
机直接分配给进程,而是在共享设备(磁盘)上的输出,SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式此。各进程的数据输出文
件形成了一个输出队列,由输出POOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing系统中,实际上并没有为
任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。这样,便把独占设备改造为共享设备。
将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把
打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列
上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。
SPOOLing技术的特点:
(1)提高了I/O速度.从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速
I/O设备速度不匹配的矛盾.
(2)设备并没有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表.
(3)实现了虚拟设备功能.多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备.