128: SPOOLing技术:独占设备变共享设备
想象一下,公司只有一台打印机,但有50个员工都要打印文件。如果每个人都要等到自己的文件打完才能离开,效率得多低?
更麻烦的是,打印机是独占设备——同一时刻只能服务一个任务。那怎么让所有人都觉得"打印机随时可以用"呢?
这就是SPOOLing技术要解决的问题。
什么是SPOOLing
SPOOLing 全称Simultaneous Peripheral Operations On-Line(同时外部设备联机操作),中文叫假脱机技术。
它的核心思想是:用磁盘作为中转站,把独占设备"伪装"成共享设备。
具体来说,SPOOLing在磁盘上开辟两个区域:
- 输入井:暂存要输入给程序的数据
- 输出井:暂存设备处理完要输出的数据
以打印为例
没有SPOOLing:
员工A提交打印 → 打印机开始打印 → 等打完 员工B提交打印 → 等A打完 → 打印机开始打印B的 → 等打完 员工C...排队等每个人都必须等着,打印机被一个人独占。
有了SPOOLing:
员工A提交打印