起源

「SPOOLing 技术」是用一类物理设备模拟另一类物理设备的技术,是使独占设备变成共享设备的一种技术。

早期批处理系统中使用的虚拟技术是以脱机方式工作的。为了缓和 CPUIO 设备之间的速度不匹配的问题。利用专门的外围控制机将低速 IO 设备上的数据传送到高速磁盘上,或者相反。当多道程序设计的分时系统出现后,SPOOLing 技术就孕育而生,它将一台独占设备改造成可以共享的虚拟设备。

当多道程序程序技术出现后,就可以利用一道程序,来模拟脱机输入时的外围控制机的功能,即把低速 I/O 设备上的数据传送到高速的磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,即把数据从磁盘传送到低速 I/O 设备上。

 这样,便在主机的直接控制下,实现脱机输入、输出功能。所以,我们把这种在联机情况下实现的同时与外围设备联机操作的技术称为 SPOOLing(Simultaneous Peripheral Operation On Line),或称为假脱机技术。

 
img-2024-05-11 19-43-23.png

主要条件

  • 硬件方面:有大容量磁盘,中断机构和通道装置支撑,使 CPU 与外设设备可以并行工作的能力;
  • 软件方面:多道程序设计技术,合理分配处理器,实现联机的外围设备同时操作 。

设计和实现

(感觉完全没讲)

“井”是用作缓冲的存储区域,采用井的技术能调节供求之间的矛盾,消除人工干预带来的损失。

  • 预输入程序
  • 缓输出程序
  • 井管理程序

img-2024-05-20 22-01-01.png

输入井中作业状态

  • 输入状态:
  • 收容收态:
  • 执行状态:
  • 完成状态:

数据结构

  • 作业表:登记进入系统的所有作业的作业名、状态、预输入表位置等信息。
  • 预输入表:每个用户作业有一张用来登记该作业的各个文件的情况,包括设备类、信息长度及存放位置等。
  • 缓输出表:每个用户作业拥有一张包括作业名、作业状态、文件名、设备类、数据起始位置、数据当前位置等。

井文件空间的管理

连接方式:输入的信息被组织成连接文件,这种方式的优点是数据信息可以不连续存放,文件空间利用率高。

计算方式:假定磁盘井文件空间,每个磁道存放100个80字节记录,每张卡片为80个字节,若每个柱面有20个磁道,则一个柱面可存放2000张卡片信息。第n张卡片信息被存放在:

磁道号=卡片号n /100

记录号=(卡片号n)% 100

用卡片号n除以100的整数和余数部分分别为其存放的磁道号和记录号。