操作系统之I/O管理:2、SPOOLing技术(假脱机技术)

思维导图

操作系统之I/O管理:2、SPOOLing技术(假脱机技术)

脱机技术

操作系统之I/O管理:2、SPOOLing技术(假脱机技术)

1、在早期的批处理系统中,输入输出经历了这样的过程:纸带----磁带----CPU----磁带----纸带。
2、磁带的作用:a、实现脱机技术;b、缓解了CPU与慢速I/O设备的速度矛盾
3、什么是脱机技术:
在不受主机控制的外部设备上进行数据处理或脱离主机的控制进行的输入/输出操作。
4、磁带如何实现脱机技术:当你用纸带输入时,输入的内容会被保存到磁带中,在一段时间内不做处理,这一段数据读入的时间与主机没有任何关系(输出类似);当磁带满时才交由CPU处理。这样做的好处就是:即使CPU在忙碌,也可以提前将数据输入到磁带;即使慢速的输出设备正在忙碌,也可以提前将数据输出到磁带。这样的现象就称做脱机技术。
5、对于4所述,自我理解:就是缓存的作用
6、脱机技术是由硬件实现的

假脱机技术(SPOOLing技术)

操作系统之I/O管理:2、SPOOLing技术(假脱机技术)

1、其实就是用软件的方式模拟脱机技术
2、软件与硬件的对应关系如上图
3、要实现SPOOLing 技术,必须要有多道程序技术的支持。系统会建立 “输入进程”和 “输出进程”。

用假脱机技术实现共享打印机

操作系统之I/O管理:2、SPOOLing技术(假脱机技术)
操作系统之I/O管理:2、SPOOLing技术(假脱机技术)

1、梳理一下:
a、进程向打印机请求资源,打印机来者不惧通通接收,但不真正分配打印机
b、假脱机管理进程在磁盘中开辟一块空间将打印的数据保存
c、假脱机管理进程为用户进程申请一张空白的打印请求表,并将用户的打印请求填入表中。再将该表挂到假脱机文件队列上。
d、当打印机空闲时,从队列取出一张打印请求表,再从对应的磁盘中找到数据打印
2、在不同用户看来,所有的请求都可以接受;给用户的感觉可以并行处理;产生这种现象的前提是:假脱机技术为打印机维护了一张打印请求表将打印请求排队。
3、SPOOLing 技术可以把一台物理设备虚拟成逻辑上的多台设备,可将独占式设备改造成共享设备。

PS :在我个人理解来看,感觉和缓存机制原理类似