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

article/2025/8/21 3:07:15

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


http://chatgpt.dhexx.cn/article/JIjn6cHF.shtml

相关文章

操作系统~假脱机SPOOLing技术与缓冲区管理

文章目录 什么是脱机技术假脱机技术—―输入/输出缓冲区共享打印机的实现原理缓冲区的管理缓冲区的工作过程单缓冲双缓冲循环缓冲区缓冲池 什么是脱机技术 在传统的批处理操作系统中, 我们将输入数据统一写到磁带中, 又将输出数据统一写到磁带中, 这就是一种脱机技术 Tips:为…

实验四 模拟SPOOLING技术

实验目的 通过设计一个SPOOLING假脱机输出的模拟程序,更好地理解和掌握SPOOLING假脱机技术.。 实验内容 1.设计一个实现SPOOLING技术的进程 设计一个SPOOLING输出进程和两个请求输出的用户进程。 当用户需要输出时,调用请求输出进程,将需…

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

假脱机技术 假脱机技术(SPOOLING)1.1 脱机技术1.2 假脱机技术1.3 假脱机技术的应用1.4 假脱机技术和缓冲的区别 假脱机技术(SPOOLING) 下图来自程序员cxuan IO软件层次结构 1.1 脱机技术 脱机处理是一种计算机技术,是…

操作系统实验--spooling技术

实验四 假脱机技术 一、目的和要求 1、目的 假脱机(SPOOLING)技术是广泛应用于各种计算机系统的一种行之有效的输入输出手段。这种技术使用比较简单的方法,缓和了高速处理机与低速输入输出设备速度不匹配的矛盾,提高了设备的利用率…

操作系统 | 实验七 SPOOLING技术

文章目录 一、实验目的二、实验内容三、数据结构3.1 数据结构3.2 函数以及功能 四、程序流程图五、实验代码六、实验结果七、实验体会总结 一、实验目的 理解和掌握SPOOLING假脱机技术 二、实验内容 通过SPOOLING技术可将一台物理I/O设备虚拟为多台逻辑I/O设备,同…

假脱机技术spooling技术 原理易懂!

原理: 在手工输入,没有操作系统的阶段,只能通过纸带机把程序员的代码读入,然后CPU需要直接与纸袋机交互,由于输入和输出的速度很慢,即使CPU的处理速度很快,但是在数据输入和输出的时候&#xf…

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

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

操作系统第五章_03 假脱机技术 (SPOOLing技术)

🏫中北大学软件学院 🥇 文章目录 知识总览什么是脱机技术假脱机技术 —— 输入井和输出井共享打印机知识总览 知识总览 什么是脱机技术 为什么称为“脱机”——脱离主机的控制进行的输入/输出操作。 手工操作阶段:主机直接从 I/O设备获得数…

操作系统-设备管理-spooling技术

操作系统-设备管理-spooling技术 思考题:A,B,C,D共用一台打印机x,要进行资料打印时,很容易出现“打印机正在使用!”,如何处理该问题? 我们在使用打印机的时候,可能会出现一种情况,就是我们的一…

聊聊SPOOLing技术

SPOOLing系统组成 由上所述得知,SPOOLing技术是对脱机输入、输出系统的模拟。相应地,SPOOLing系统必须建立在具有多道程序功能的操作系统上,而且还应有高速随机外存的支持,这通常是采用磁盘存储技术。 SPOOLing系统主要有以下三部…

spooling技术介绍

SPOOLing(Simultaneous Peripheral Operation On-Line)技术,即外部设备联机并行操作,是为实现低速输入输出设备与高速的主机之间的高效率数据交换而设计的。通常称为“假脱机技术”,又称为排队转储技术。  具体来说&…

操作系统的SPOOLING技术

SPOOLING技术(Simultaneous Peripheral Operating On Line) 同时联机外围操作技术,它是关于慢速字符设备如何与计算机主机进行数据交换的一种技术,通常又称假脱机技术。 在多道程序环境下,利用多道程序中的一道或者两道程序来模拟…

SPOOLing技术的理解

最近在学习操作系统的SPOOLing技术,这篇博客作为一个学习的记录吧,供大家和我将来参考。 SPOOLing系统的组成 (1)输入井和输出井:输入井和输出井的存储区域是在磁盘上开辟出来的。输入输出井中的数据一般以文件的形式…

操作系统(SPOOLING技术)

SPOOKING技术 一、实验目的二、实验内容三、实验准备1、设计一个实现SPOOLING技术的进程2、设计进程调度算法3、进程状态4、数据结构5、编程说明6、程序框图 四、实验要求1、数据结构2、程序流程图代码运行结果 一、实验目的 理解和掌握SPOOLING假脱机技术 二、实验内容 通过S…

什么是业务对象?业务逻辑是什么?

业务对象通常被认为是代表实体,比如 或者存储的类。 这样的类具有一定的属性,比如价格,颜色,宽度,国际标准图书编号 等等. NET 地图( 对象地图中,它是由所谓的setter和 getter,换句话说&#xf…

【burpsuite安全练兵场-服务端5】业务逻辑漏洞-11个实验(全)

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

三层架构之业务逻辑层

你好,是我琉忆。 今天我们讲一讲三层架构中的业务逻辑层 1、业务逻辑层的介绍 业务逻辑层(Business Logic Layer,简称 BLL)是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有…

如何绘制逻辑图 — 7.逻辑的表达:业务逻辑

前4 篇介绍完了逻辑图三元素中“要素”的表达方式,下面要介绍逻辑图三元素之二“逻辑”的表达方式。逻辑表达的说明分为两篇,第一篇说明“业务逻辑”的表达方式,第二篇说明“数据逻辑”的表达方式。 在语言、文字和图形这三种表达方式中&…

如何先梳理业务逻辑再写代码

1.业务逻辑与代码 代码是需求逻辑的一种展现形式 需求文档是业务逻辑的一种展现形式,而代码不过是业务逻辑的另一种表现形式;如果逻辑本身有问题,那么它的各种展示形式自然也是错的,所以写代码前应该先思考清楚业务逻辑。 Revi…

【web实战-业务逻辑】评论点赞逻辑

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…