SPOOling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备(生活中最常见的就是多台电脑共享同一个打印机)

目的:为了缓和CPU的高速性与I/O设备低速性之间的矛盾而引入了脱机输入/输出技术。该技术是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。 SPOOLing的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中釆 用的一项将独占设备改造成共享设备的技术。

例子:共享打印机是使用SPOOLing技术的一个实例,这项技术已被广泛地用于多用户系统和 局域网络中。当用户进程请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正 立即把打印机分配给该用户进程,而只为它做两件事:

  • 由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中。
  • 输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入 其中,再将该表挂到请求打印队列上。
  • SPOOLing组成:
    (1)  输入井和输出井。这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。输入/输出井中的数据一般以文件的形式组织管理,我们把这些文件称为井文件。一个文件仅存放某一个京城的输入(或者输出)数据,所有进程的数据输入(或输出)文件链接称为一个输入(或输出)队列。

    (2)输入缓冲区和输出缓冲区。这是在内存中开辟的两个缓冲区,用于缓和CPU和磁盘之间速度不匹配的矛盾。输入缓冲区用于暂存由输入设备传送的数据,之后再传送到输入井。输出缓冲区用于暂存从输出井传送的数据,之后再传送到输出设备。

    (3)输入进程和输出进程。输入进程也称为预输入进程,用于模拟脱机输入时的外围控制机,将用户要求的数据从输入设备传送到输入缓冲区,再存放到输入井。当CPU需要输入设备时,直接从输入井读入内存。输出进程也称为缓输出进程,用于模拟脱机输出时的外围控制机,把用户要求输入的数据从内存传送并存放到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区输出至输出设备上。

    (4)井管理程序。用于控制作业与磁盘井之间信息的交换。当作业执行过程中向某台设备发出启动输入或输出操作请求时,由操作系统调用井管理程序,由其控制从输入井读取信息或将信息输出至输出井。

    组成图:

SPOOLing技术的特点:
(1)提高了I/O速度。从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾。
(2)将独占设备改造为共享设备。因为在SPOOLing系统的系统中,实际上并没为任何进程分配设备,而知识在输入井或输出井中为进程分配一个存储区和建立一张I/O请求表。这样,便把独占设备改造为共享设备。
(3)实现了虚拟设备功能。多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,从而实现了设备的虚拟分配。不过,该设备是逻辑上的设备。


SPOOLing除了是一种速度匹配技术外,也是一种虚拟设备技术。用一种物理设备模拟另一类物理设备,使各作业在执行期间只使用虚拟的设备,而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高。

【操作系统】SPOOLing技术(外部设备联机并行操作/假脱机技术)相关推荐

  1. 假脱机技术Spooling和守护进程

    文章目录 假脱机系统Spooling和守护进程 1.假脱机技术的引入 2.SPOOling系统的组成 3.SPOOling系统的工作过程 守护进程 假脱机系统Spooling和守护进程 1.假脱机技术 ...

  2. OS_@假脱机技术@设备分配@设备映射

    文章目录 OS_@假脱机技术@设备分配@设备映射 设备分配的策略 1)设备分配原则 2)设备分配方式 静态分配 动态分配 3)设备分配算法 设备分配的安全性 1)安全分配方式 2)不安全分配方式 逻辑 ...

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

    2.SPOOLing技术 思维导图 脱机技术 假脱机技术(SPOOLing技术) 用假脱机技术实现共享打印机 思维导图 脱机技术 1.在早期的批处理系统中,输入输出经历了这样的过程:纸带----磁带- ...

  4. 操作系统实验(七):c实现SPOOLING假脱机技术

    1.[实验目的] 理解和掌握SPOOLING假脱机技术 2.[实验内容] 通过SPOOLING技术可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备,从而使其成为虚 ...

  5. 操作系统:SPOOLing技术(假脱机技术)

    一.什么是脱机技术? 批处理阶段引入了脱机输入/输出技术(用磁带完成) 流程如下: 人--> 纸带机--> 外围控制机-->磁带机-->主机-->磁带机-->外围控 ...

  6. 输入输出管理:假脱机技术(SPOOLING)

    假脱机技术 假脱机技术(SPOOLING) 1.1 脱机技术 1.2 假脱机技术 1.3 假脱机技术的应用 1.4 假脱机技术和缓冲的区别 假脱机技术(SPOOLING) 下图来自程序员cxuan I ...

  7. 18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理

    文章目录 1 IO设备的基本概念和分类 1.1 什么是I/O设备 1.2 I/O设备分类 2 IO控制器 2.1 I/O设备组成 2.2 I/O控制器功能 2.3 I/O控制器的组成 2.4 寄存器编 ...

  8. I/O软件层次结构、I/O核心子系统以及假脱机技术(SPOOLing技术)

    一.I/O软件层次结构 (一)用户层软件 (二)设备独立性软件 主要实现的功能: ①.向上一层提供统一的接口. ②.设备的保护. 原理类似与文件保护.设备被看做是一种特殊的文件,不同用户对各个文件的访 ...

  9. 5.2.2 OS之I/O设备假脱机技术(SPOOLing)

    文章目录 0.思维导图 1.什么是脱机技术? 2.假脱机技术 输入井和输出井 输入进程与输出进程 输入输出缓冲区 共享打印机原理分析---假脱机技术的一种应用 0.思维导图 1.什么是脱机技术? 这里 ...

最新文章

  1. 9.path Sum III(路径和 III)
  2. 数组,结构体初始化为0
  3. errors_impl.InvalidArgumentError: Input to reshape is a tensor
  4. 某同学使用计算机求30,概率论与数理统计习题集及答案
  5. 微软的100道算法面试题(一)
  6. Vue——项目部署到非根目录下的解决方案
  7. 深度 | 带领国产数据库走向世界,POLARDB底层逻辑是什么?
  8. C++设计模式-使用Qt框架模拟策略模式(Strategy)+简单工厂实现商场促销
  9. conda移植环境到另一台电脑
  10. HDU 1117 免费馅饼 二维动态规划
  11. Jmeter之Synchronizing Timer(同步集合点)
  12. v8go 库手动编译 v8 golang 库手动编译
  13. ZooKeeper之ZkClient使用示例
  14. 他用代码卖手机,卖出年流水上亿
  15. 头歌实践平台:机器学习——支持向量回归
  16. 2022中兴捧月 限时编程 第一场 24点游戏
  17. 一封华为离职IT总监的告别信
  18. php ppt read_PHP生成PPT
  19. 硅烷聚乙二醇硅烷,Silane-PEG-Silane同官能团科研试剂,化学结构式
  20. 物理画线“救救小鸡”,支持自建关卡!技术教程分享

热门文章

  1. oracle中distinct的正确应用
  2. Android FrameWork——PackageManager框架
  3. nginx配置二级目录,反向代理不同ip+端口
  4. 中国即时通信用户6.42亿 企业市场竞争将更激烈
  5. Java Switch语句及性能剖析(转载补充)
  6. MonetDB heap bug?
  7. 纳米丸穿透癌细胞(癌症)
  8. 微软谷歌出资500万美元推出 Alpha-Omega 项目,提升软件供应链安全
  9. 信么?PrintDemon 漏洞影响自1996年起发布的所有 Windows 版本
  10. .Net Discovery 系列之三--深入理解.Net垃圾收集机制(上)