计算机的SPOOLing技术

早期的计算机只能由一个用户独占,不存在资源竞争的问题。随着多道程序的出现,一个CPU可为多个程序服务,所以采用分时方式让CPU为多个用户服务。然而对独占设备来说,采用分时方式统一管理设备是有问题的

名词解析:

独占设备:一段时间内只允许一个用户(进程)访问的设备,如打印机

共享设备:一段时间内允许多个进程同时访问设备,如磁盘

 

通过某种技术将独占设备改为共享设备。

而SPOOLing(simultaneous Peripheral Operation Online)就是这种技术。

 

磁盘作为中间介质,模拟构成多个适于独占的设备。从进程与用户的角度看,获得了设备,该设备是逻辑设备,又称虚拟设备。

 

SPOOLing系统主要有以下三部分:

 

(1)输入井和输出井。这是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘设备,用于暂存I/Q设备输入的数据;输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据。

 

(2)输入缓冲区和输出缓冲区。为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区;输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用与暂存从输出井送来的数据,以后在传送给输出设备。

 

(3)输入进程SPi 和输入进程SP0。这里利用两个进程来模拟脱机I/O时的外围控制机。其中,进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存;进程SP0模拟脱机输出时的外围控制机,把用户要求输出的数据从先内存送到输出井,待输出设备空闲时,在将输出井中的数据经过输出缓冲区送到输出设备上。

 

SPOOLing技术的特点:

(1)提高了I/O速度。

(2)将独占设备改造为共享设备。

(3)实现了虚拟设备功能。

猜你喜欢

转载自blog.csdn.net/sinat_31608641/article/details/78387867