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

缓冲技术

  1. 单缓冲区:初始:工作区满,缓冲区空
    每块用时max(处理时间, 输入时间) + 传送时间
  2. 双缓冲区:先装1,1满才装2。初始:工作区空,1空,2满
    每块用时max(处理时间, 传送时间) + 输入时间
  • 若 处理时间 + 传送时间 < 输入时间,可使块设备连续输入
  • 若 处理时间 + 传送时间 > 输入时间,可使CPU不必等设备输入
  1. 缓冲池:多个系统公用的缓冲区。
  2. 真题:
  • 键盘中断(按一次触发一次中断)服务例程执行结束时,所输入的数据存放位置是:
    • CPU通用寄存器:是程序处理内部暂存
    • 键盘控制器数据缓冲区:它的功能是,按多个键记录手同时按了谁,比如ctrl+shift,然后整体发出
    • 内核缓冲区:先做下一步处理再给用户看
    • 用户缓冲区

  • 三队列
    • 空缓冲队列
    • 输入队列:装满输入数据的缓冲队列
    • 输出队列:装满输出数据的缓冲队列
  • 四工作缓冲区
    • 收容输入工作缓冲区
    • 提取输入工作缓冲区
    • 收容输出工作缓冲区
    • 提取输出工作缓冲区
  • 三队列+四区工作流程:
    • 当输入进程要输入数据,从空缓冲队列首部取一,作为收容输入放入数据,装满后挂到输入队列队尾。
    • 当计算进程要使用数据,从输入队列首部取一,作为提取输入拿走数据,用完后挂到空缓冲队列队尾。
    • 当计算进程要输出数据,从空缓冲队列首部取一,作为收容输出放入数据,装满后挂到输出队列队尾。
    • 当输出进程要输出数据,从输出队列首部取一,作为提取输出拿走数据,用完后挂到空缓冲队列队尾。

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
  1. 做题
    对于SPOOLing技术的描述,错误的是:
    A、 只能在多任务操作系统上使用
    B、 可以将物理上的独占设备抽象成逻辑上的共享设备
    C、 输出数据由输出进程送入输出井中保存
    D、 输入数据由输入进程送入输入井中保存
    根据SPOOLing技术的工作原理和特点,我们分析各选项:

正确答案:AC

详细解析:

选项分析结论
ASPOOLing技术可以在单任务系统(如早期批处理系统)上实现,并非必须多任务环境错误
B正确描述,通过输入/输出井实现物理独占设备→逻辑共享设备的转换正确
C输出方向应为:用户进程→输出井→输出设备(选项描述反了)错误
D输入方向正确:输入设备→输入井→用户进程正确

关键点说明
SPOOLing核心组件:

  • 输入井/输出井(磁盘空间)
  • 输入/输出进程(后台守护进程)
  • 设备分配表(记录虚拟-物理映射)

技术本质图解

输入进程
用户进程
用户进程
输出进程
输入设备
输入井
CPU
输出井
输出设备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/908681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…

web端rtmp推拉流测试、抽帧识别计数,一键式生成巡检报告

本文旨在实现无人机城市交通智慧巡检中的一个模块——无人机视频实时推拉流以及识别流并在前端展示&#xff0c;同时&#xff0c;统计目标数量以及违停数量&#xff0c;生成结果评估&#xff0c;一并发送到前端展示。对于本文任何技术上的空缺&#xff0c;可在博主主页前面博客…

基于自适应虚拟谐波阬的光储VSG并网电流谐波抑制模型

“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 此模型完全复现于《基于自适应虚拟阻抗的光储并网系统谐波抑制策略》-程静 此并网系统模型的核心控制为虚拟同步发电机&#xff08;VSG&#xff09;控制&#xff0c;采用基于混合广义积分器的谐波信号提取…

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…

【会员专享数据】2017-2024年我国分省的10米精度土地覆盖数据

土地覆盖数据是我们在各项研究中都非常常用的数据&#xff0c;之前我们分享过2017-2024年全球范围的10米精度土地覆盖数据&#xff08;均可查看之前的文章获悉详情&#xff09;&#xff01;该数据提供瓦片形式&#xff0c;也就是全球的数据没有拼成一张图&#xff0c;很多小伙伴…

通过css实现正方体效果

效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>/* css实…

Java并发编程-理论基础

Java并发编程-理论基础 1、什么是进程&#xff1f; 进程&#xff08;Process&#xff09;是计算机中的程序关于某数据集合上的一次运行活动&#xff0c;是系统进行资源分配的基本单位&#xff0c;是操作系统结构的基础。在早期面向进程设计的计算机结构中&#xff0c;进程是程…

Tornado WebSocket实时聊天实例

在 Python 3 Tornado 中使用 WebSocket 非常直接。你需要创建一个继承自 tornado.websocket.WebSocketHandler 的类&#xff0c;并实现它的几个关键方法。 下面是一个简单的示例&#xff0c;演示了如何创建一个 WebSocket 服务器&#xff0c;该服务器会接收客户端发送的消息&a…

模块化架构下的前端调试体系建设:WebDebugX 与多工具协同的工程实践

随着前端工程化的发展&#xff0c;越来越多的项目采用模块化架构&#xff1a;单页面应用&#xff08;SPA&#xff09;、微前端、组件化框架等。这类架构带来了良好的可维护性和复用性&#xff0c;但也带来了新的调试挑战。 本文结合我们在多个模块化项目中的真实经验&#xff…

高考:如何合理选择学科、专业以及职业

如何合理选择学科、专业以及职业 一、自我认知&#xff1a;明确自身兴趣与优势&#xff08;一&#xff09;兴趣探索&#xff08;二&#xff09;能力评估&#xff08;三&#xff09;价值观与目标 二、外部调研&#xff1a;深入了解学科、专业与职业&#xff08;一&#xff09;学…

【新品解读】一板多能,AXRF49 定义新一代 RFSoC FPGA 开发平台

“硬件系统庞杂、调试周期长” “高频模拟前端不稳定&#xff0c;影响采样精度” “接收和发射链路难以同步&#xff0c;难以扩展更多通道” “数据流量大&#xff0c;处理与存储跟不上” 这些是大部分客户在构建多通道、高频宽的射频采样链路时&#xff0c;面临的主要问题。…

实现仿中国婚博会微信小程序

主要功能&#xff1a; 1、完成底部标签导航设计、首页海报轮播效果设计和宫格导航设计&#xff0c;如图1所示 2、在首页里&#xff0c;单击全部分类宫格导航的时候&#xff0c;会进入到全部分类导航界面&#xff0c;把婚博会相关内容的导航集成到一个界面里&#xff0c;如图2…

MySQL强化关键_020_SQL 优化

目 录 一、order by 优化 1.未添加索引 2.添加索引 3.复合索引默认升序排列 4.复合索引降序排列 5.复合索引升序降序排列并用 6.总结 二、group by 优化 1.未添加索引 2.添加索引 3.添加复合索引 三、limit 优化 四、主键优化 1.主键设计原则 五、insert 优化…

湖北理元理律师事务所视角:企业债务优化的三维平衡之道

核心提示&#xff1a;债务优化的本质不是消灭债务&#xff0c;而是在法律框架内重建财务可持续性。 一、企业债务危机的典型误区 某制造企业主曾向我坦言&#xff1a;“用新贷还旧贷3年&#xff0c;债务从200万滚到500万。”这类案例暴露出企业债务处置的共性痛点&#xff1a…

【Ragflow】27.RagflowPlus(v0.4.1):小版本迭代,问题修复与功能优化

概述 RagflowPlus v0.4.0 在发布后&#xff0c;收到了积极的反馈&#xff0c;同时也包含一些问题。 本次进行一轮小版本更新&#xff0c;发布 v0.4.1 版本&#xff0c;对已知问题进行修复&#xff0c;并对部分功能进行进一步优化。 开源地址&#xff1a;https://github.com/…

【hadoop】Flink安装部署

一、单机模式 步骤&#xff1a; 1、使用XFTP将Flink安装包flink-1.13.5-bin-scala_2.11.tgz发送到master机器的主目录。 2、解压安装包&#xff1a; tar -zxvf ~/flink-1.13.5-bin-scala_2.11.tgz 3、修改文件夹的名字&#xff0c;将其改为flume&#xff0c;或者创建软连接…

Linux 下 ChromeDriver 安装

个人博客地址&#xff1a;Linux 下 ChromeDriver 安装 | 一张假钞的真实世界 Selenium 是一个用于 Web 应用程序测试的工具。可以通过它驱动浏览器执行特定的操作&#xff0c;如点击、下滑、资源加载与渲染等。该工具在爬虫开发中也非常有帮助。Selenium 需要通过浏览器驱动操…

Canal环境搭建并实现和ES数据同步

作者&#xff1a;田超凡 日期&#xff1a;2025年6月7日 Canal安装&#xff0c;启动端口11111、8082&#xff1a; 安装canal-deployer服务端&#xff1a; https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…

STM32使用土壤湿度传感器

1.1 介绍&#xff1a; 土壤湿度传感器是一种传感装置&#xff0c;主要用于检测土壤湿度的大小&#xff0c;并广泛应用于汽车自动刮水系统、智能灯光系统和智能天窗系统等。传感器采用优质FR-04双料&#xff0c;大面积5.0 * 4.0厘米&#xff0c;镀镍处理面。 它具有抗氧化&…

锁的艺术:深入浅出讲解乐观锁与悲观锁

在多线程和分布式系统中&#xff0c;数据一致性是一个核心问题。锁机制作为解决并发冲突的重要手段&#xff0c;被广泛应用于各种场景。乐观锁和悲观锁是两种常见的锁策略&#xff0c;它们在设计理念、实现方式和适用场景上各有特点。本文将深入探讨乐观锁和悲观锁的原理、实现…