假脱机(spooling)技术实现原理

将独占设备改造为共享设备
由于Spooling技术把所有用户进程的输出都送入输出井,然后再由输出进程完成打印工作,而输出井在磁盘上,为共享设备。这样,Spooling技术就把打印机等独占设备改造成立共享设备。

实现了虚拟设备功能

由于Spooling技术实现了多个用户进程共同使用打印机这种独占设备的情况,从而实现了把一个设备当成多个设备来使用,即虚拟设备的功能。

假脱机技术有输入输出井,输入缓冲区和输出缓冲区,输入进程和输出进程,请求打印队列组成

输入输出井类似于两台卡车,用来收集输入设备输入的数据,输入井模拟脱机输入时的磁盘。输出井是收集用户程序的输出数据。

当然磁盘有了开辟的“卡车”,内存也应该有开辟输入与输出缓存区。输入缓存区由输入设备送来的数据,以后再送入卡车—输入井,输出缓存区用来暂存从输入井送来的数据,以后再送给输出设备。相当与集装箱在“卡车”与输入输出设备间移动。

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

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

原文地址:https://www.cnblogs.com/AmosAlbert/p/12832207.html