虚拟机是OS的四大特性之一,如果说可以通过多道程序技术将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一个主机,那么,通过SPOOLing技术便可将一台物理I/O设备虚拟为多台逻辑I/O设别,同样允许多个用户共享一台物理I/O。
   1、什么事SPOOLing
  为了缓和CPU的高速性和I/O设备的低速性之间的矛盾而引入了脱机输入、脱机输出技术,该技术是专门利用专门的外围控制机,SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。低速设备经通道和外设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。为了存放从低速设备上输入的信息,或者存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对输出),或者“输入井”(对输入)。简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,再传到高速设备的输入井,再从高速设备的输出井,传到缓冲区,再传到低速设备。
 
   2、SPOOLing系统的组成
   a、输入井和输出井
   b、输入缓冲区和输出缓冲区
   c、输入进程和输出进程
 
   3、SPOOLing系统的特点
   (1)提高了I/O速度.从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾.
  (2)设备并没有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表. (3)实现了虚拟设备功能.多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备