假脱机技术

假脱机的概念

假脱机技术即SPOOLing(Simultaneous Peripheral Operating On-Line)。SPOOLing是指在联机情况下实现的同时外围操作,也称假脱机输入输出操作,它是操作系统中的一项将独占设备改为共享设备的技术。SPOOLing是低速输入输出设备与主机交换的一种技术,通常也成为“假脱机真联机”,它的核心思想是以联机的方式得到脱机的效果。

SPOOLing技术是用于将一台独占设备改造成共享设备的一种行之有效的技术。当系统中出现了多道程序后,可以利用其中的一道程序,来模拟脱机技术输入时的外围控制机的功能,把低速输入输出设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样便可以在主机的直接控制下,实现脱机输入、输出功能。

假脱机技术的组成

假脱机技术有输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程、请求打印队列组成。
其系统图如下所示:

假脱机技术_第1张图片

假脱机技术_第2张图片

输入输出井

它们是在磁盘上开辟的两大存储区。输入井是模拟脱机输入时的磁盘,用于收容输入设备输入数据;输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。

输入缓冲区和输出缓冲区

它们是在主存中开辟的两个缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井;输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。

输入进程和输出进程

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

请求打印队列

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

假脱机的特点

(1)提高了输入输出速度

SPOOLing技术引入了输入井和输出井,可以使输入进程、用户进程和输出进程同时工作,从而提高了输入输出速度。

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

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

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

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


你可能感兴趣的:(操作系统)