SPOOLING技术原理

SPOOLING技术的作用:


SPOOLING技术:慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。(假脱机技术是通过软件的方式模拟脱机技术)。
先介绍脱机技术




 

脱机技术


所谓脱机输出/输出,就是脱离主机的情况下进行输入输出的。
在操作系统的发展过程中,起初在手工阶段,程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行。但手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率。

SPOOLING技术原理_第1张图片 手工阶段

 进而出现了批处理操作系统(这里仅仅介绍脱机方式的批处理操作系统)
 

SPOOLING技术原理_第2张图片 批处理操作系统

 为让作业的输入/输出由CPU完成(手工阶段程序的输入输出由输入机(输出机)完成),主机与输入机之间增加一个存储设备--磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。
①减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。

但是,高速主机和外设的速度差异的矛盾任然很大,为此,又引入了脱机批处理系统,即输入/输出脱离主机控制。在磁盘和输入输出机之间添加一个外围机。

其功能是:

(1)从输入机上读取用户作业并放到输入磁带上。

(2)从输出磁带上读取执行结果并传给输出机。

这样,主机不是直接与慢速的输入/输出设备打交道,而是与速度相对较快的磁带发生关系,有效缓解了主机与设备的矛盾。主机与卫星机可并行工作,二者分工明确,可以充分发挥主机的高速计算能力。

 

 

SPOOLING技术

 SPOOLING技术:慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。(假脱机技术是通过软件的方式模拟脱机技术)
①提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾.
②实现了虚拟设备功能.多个进程同时使用一独享设备(实质是分时复用),而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备.

SPOOLING组成:

(1)  输入井和输出井。这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。输入/输出井中的数据一般以文件的形式组织管理,我们把这些文件称为井文件。一个文件仅存放某一个京城的输入(或者输出)数据,所有进程的数据输入(或输出)文件链接称为一个输入(或输出)队列。

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

(3)输入进程和输出进程。输入进程也称为预输入进程,用于模拟脱机输入时的外围控制机,将用户要求的数据从输入设备传送到输入缓冲区,再存放到输入井。当CPU需要输入设备时,直接从输入井读入内存。输出进程也称为缓输出进程,用于模拟脱机输出时的外围控制机,把用户要求输入的数据从内存传送并存放到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区输出至输出设备上。

(4)井管理程序。用于控制作业与磁盘井之间信息的交换。当作业执行过程中向某台设备发出启动输入或输出操作请求时,由操作系统调用井管理程序,由其控制从输入井读取信息或将信息输出至输出井。

输入输出缓冲区都在内存中, 输入井和输出井是磁盘中的存储区

SPOOLING技术原理_第3张图片 SPOOLING组成

SPOOLING的应用和工作过程 

共享打印机是使用SPOOLing技术的一个实例。打印机本是一种独占式设备,若一个进程正在使用打印机,则其他进程请求使用打印机时,必然会阻塞等待。

SPOOLING技术原理_第4张图片


使用SPOOLING技术后,当多个用户进程请求打印输出时,SPOOLing系统同意为他们打印输出,但并不真正 立即把打印机分配给该用户进程,而只为它做两件事:

1.由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中。
2.输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入 其中,再将该表挂到请求打印队列上。

 当打印机空闲时,输出进程会从打印队列取出一张打印请求表,并把要答应的数据输出到输出缓冲区中,在输出给输出设备(打印机)进行打印。

你可能感兴趣的:(SPOOLING技术原理)