Appearance
题目
下列关于 SPOOLing 技术的叙述中,错误的是( )。
错因
A
A 是对的——SPOOLing 必须有外存(输入井 / 输出井都建在磁盘上)。把对的当错的,多半是没看清题面"错误的"反向措辞。
B
B 也是对的——SPOOLing 依赖多道程序:用户进程把数据写到输出井后继续干别的,专门的 SPOOLing 进程(系统进程)负责把井里的数据慢慢往设备上送,多道环境才能让"用户进程跑业务 + SPOOLing 进程跑后台传输"并发起来。漏掉这一点把对的勾错了。
C
C 也是对的——SPOOLing 的核心价值就是把独占设备(如打印机)通过"输出井 + 系统进程"虚拟成多个进程都能共享。把"独占设备只能一个进程用"误以为是 SPOOLing 也突破不了,反而错了。
总解析
SPOOLing(Simultaneous Peripheral Operation On-Line)= 假脱机:把慢速独占设备虚拟成多个进程能共享的设备。工作机制:
用户进程 ──写入──> 输出井(磁盘上的缓冲区)
↓
SPOOLing 进程(系统进程)
↓
独占设备(打印机等)关键设计点:
| 组件 | 作用 |
|---|---|
| 输入井 / 输出井 | 磁盘上的缓冲区(需要外存) |
| 输入进程 / 输出进程 | 系统级进程,OS 控制数据在井和设备之间的传输 |
| 多道并发 | 用户进程写入井后即返回,输出进程在后台慢慢送 |
题问"错误的",逐条核对:
| 选项 | 描述 | 判定 |
|---|---|---|
| A | 需要外存 | ✓ 输入/输出井建在磁盘上 |
| B | 需要多道程序 | ✓ 用户进程和 SPOOLing 进程并发才能解耦 |
| C | 多作业共享独占设备 | ✓ 这正是 SPOOLing 的目的 |
| D | 用户作业控制设备 ↔ 井的数据传送 | ✗ 错 —— 数据传输由系统的 SPOOLing 进程控制,不是用户作业;用户只往井里写就完事,往设备送是 OS 的工作 |
判定钥匙:SPOOLing 整体上是 "用户和设备之间"加一层 OS 中介——用户跟井打交道,OS 跟设备打交道。如果说"用户控制传输",等于绕过中介、直接戳设备,那就不是 SPOOLing 了。
最终答案是 D。