当前位置: 首页 > article >正文

【计算机组成原理】SPOOLing技术

SPOOLing技术

关键点内容
核心思想通过输入/输出井虚拟化独占设备,实现共享,即让多个作业共享一台独占设备
依赖条件1. 外存(井文件)
2. 多道程序设计
虚拟实现多道程序技术+磁盘缓冲
数据流方向输入设备 → 输入井 → CPU → 输出井 → 输出设备
用户权限仅操作内存缓冲区的数据读写,设备与井的传输由系统OS后台进程管理。
典型应用打印机共享,批量作业处理,磁带机操作
不适合应用不适用于交互式I/O(如键盘输入),仅适合批处理作业
对比缓冲技术SPOOLing持久化到磁盘,缓冲仅暂存于内存
  1. 输入/输出井:本质是磁盘缓冲必须依赖外存(如硬盘)
  2. 输入/输出进程:本质是后台进程,负责设备与井之间的数据传输(SPOOLing技术/系统控制,用户不感知)。由操作系统内核管理,用户无权直接干预
  3. 井管理程序就是用户进程,只负责自己的缓冲区。
  4. 目标:空间换时间,用户与物理设备解耦,传输对用户透明。
  5. 请求队列:多个用户作业共享设备时的排队机制(如打印队列)。排队可能调度:FIFO、优先级。
  6. 外围控制机将 低速IO设备上数据 传到 高速磁盘上:外围控制机是专门管理低速I/O设备(如打印机、卡片阅读器)与高速磁盘(SPOOLing缓冲区)之间数据传输的硬件控制器或专用处理机。它的工作有:
  • 数据中转:将低速设备的数据预先传输到磁盘(输入井)或从磁盘(输出井)传回设备。
  • 调度管理:协调多台I/O设备的并发操作,避免主机等待。
  • 缓冲机制:通过磁盘缓冲实现速度匹配(低速设备vs高速CPU/磁盘)。
  1. 与缓冲技术的区别:
  • 缓冲(Buffer):仅解决速度差异(如CPU vs 内存),数据不持久
  • SPOOLing:解决设备独占性,数据持久化到磁盘(井文件)。
  1. 性能影响:
  • 优点:提高I/O速度、减少空闲时间、支持多作业并发。
  • 缺点:占用额外磁盘空间、增加系统复杂度。
  1. 与DMA的对比:
对比项SPOOLingDMA (Direct Memory Access)
控制主体操作系统(软件)DMA 控制器(硬件)
数据目标磁盘(输入/输出井)内存
速度匹配解决低速设备与 CPU 的矛盾解决高速设备与内存的矛盾
传输单位文件/作业级数据块级(如磁盘扇区)
CPU 干预需要调度和管理进程传输期间完全不需要 CPU 参与
典型应用打印机共享、批处理作业磁盘、网卡、显卡等高速设备
依赖条件需要多道程序设计和外存需要 DMA 控制器和总线支持
  1. 与传统IO的对比:
特性SPOOLing 系统传统 I/O 方式
设备共享性虚拟共享(多作业并发使用)独占(单作业独占设备)
CPU 利用率高(CPU 不等待 I/O)低(CPU 需等待 I/O 完成)
用户控制层级用户仅控制内存缓冲区,设备传输由系统管理用户直接控制设备
依赖技术多道程序设计 + 外存支持无特殊要求
数据持久性数据暂存于磁盘(井文件)数据不持久
适用场景打印机、磁带机等独占设备简单交互式 I/O
http://www.lryc.cn/news/2400932.html

相关文章:

  • 冷雨泉教授团队:新型视觉驱动智能假肢手,拟人化抓握技术突破,助力截肢者重获生活自信
  • CanvasGroup篇
  • [Java 基础]银行账户程序
  • 2025.6.4总结
  • 将音频数据累积到缓冲区,达到阈值时触发处理
  • pikachu靶场通关笔记14 XSS关卡10-XSS之js输出(五种方法渗透)
  • 5.Promise,async,await概念(1)
  • 李沐-动手学深度学习:RNN
  • Windows系统下npm报错node-gyp configure got “gyp ERR“解决方法
  • Elasticsearch中的文档(Document)介绍
  • 15个基于场景的 DevOps 面试问题及答案
  • 今日主题二分查找(寻找峰值 力扣162)
  • 【教学类-36-10】20250531蝴蝶图案描边,最适合大小(一页1图1图、2图图案不同、2图图案相同对称)
  • 高效DBA的日常运维主题沙龙
  • AAAI 2025论文分享│STD-PLM:基于预训练语言模型的时空数据预测与补全方法
  • Ethernet/IP转DeviceNet网关:驱动大型矿山自动化升级的核心纽带
  • Android 11以上App主动连接WIFI的完整方案
  • [蓝桥杯]模型染色
  • 力扣上C语言编程题
  • 卡西欧模拟器:Windows端功能强大的计算器
  • 鸿蒙OSUniApp结合机器学习打造智能图像分类应用:HarmonyOS实践指南#三方框架 #Uniapp
  • 机器学习基础(三) 逻辑回归
  • 系统调试——ADB 工具
  • Qwen-3 微调实战:用 Python 和 Unsloth 打造专属 AI 模型
  • 微软Build 2025:Copilot Studio升级,解锁多智能体协作未来
  • 设计模式——系统数据建模设计
  • 解决docker运行zentao 报错:ln: failed to create symbolic link ‘/opt/zbox/tmp/mysq
  • Spring Boot MVC自动配置与Web应用开发详解
  • OA工程自动化办公系统 – 免费Java源码
  • Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能