为了缓和CPU的高速性与IO设备低速性之间的矛盾引入了输入/输出技术。该技术是专门利用外围控制机,将低速IO设备上的数据传送到高速磁盘上;或者相反。SPOOLing的意思使外部设备同时连接操作,又称为假脱机输入输出操作,是操作系统中采用的一项将独占设备改造成共享设备的技术。 SPOOLing系统组成如下所示。 1、 输入井和输出井 在磁盘上开辟出的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容IO设备的输入数据。输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。
2、 输入缓冲区和输出缓冲区 在内存中开辟的两个缓冲区。输入缓冲区用于暂存由输入设备送来的数据,哟吼再传送到输入井。输出缓冲区用来暂存从输出井送来的数据以后再传送到输出设备。 3、 输入进程和输出进程 输入进程模拟脱机输入时的外围控制器,将用户要求的数据从输入机通过输入数据缓冲区再送到输入井。当CPU需要输入数据时,只截将数据从输入井读入内存。输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备。