操作系统的SPOOLING技术

article/2025/8/21 3:01:57

SPOOLING技术(Simultaneous Peripheral Operating On Line)
同时联机外围操作技术,它是关于慢速字符设备如何与计算机主机进行数据交换的一种技术,通常又称假脱机技术。
在多道程序环境下,利用多道程序中的一道或者两道程序来模拟脱机输入/输出中的外围控制机的功能,以达到“脱机”输入/输出的目的。
利用这种技术可把独占设备转变成共享的虚拟设备,从而提高独占设备的利用率和进程的推进速度。在这里插入图片描述
SPOOLING系统 是对脱机输入/输出工作的模拟,它必须有大容量的且可随机存取的存储器的支持。
其主要思想是在联机的条件下,进行两个方向的操作,在数据输入时,将数据从输入设备传送到磁盘或磁带(块设备),然后把这些块设备与主机相连;反过来,在数据输出时,将输出数据传送到磁盘或磁带上,再从磁盘或磁带传送到输出设备。
这样,可以将一台独占的物理设备虚拟为并行使用的多态逻辑设备,从而使该物理设备被多个进程共享。
在这里插入图片描述
输入进程SPI是模拟脱机输入时的外围控制机,它将用户要求处理的数据从输入设备通过输入缓冲区再送到输入井(磁盘上开辟的一块区域),当CPU处理这些数据数据时,就直接从输入井读入内存。
输出进程SPO是模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据通过输出缓冲区(内存中一块区域)传送到输出设备上。

实例:利用打印机实现打印机共享
已经被广泛用于多用户系统和计算机网络中,它实际上就是利用SPOOLING技术将独占的打印机改造为一台供做个用户共享的设备,只要有足够的外存空间和多道程序操作系统的支持即可。
1、当用户进程请求打印输出时,SPOOLING系统立即同意为该进程执行打印输出,但并不是真正地把打印机分配给该用户进程,而只是为该进程做两项工作: 一项是由输出进程SPO在输出井中为之申请一个空闲的存储空间,并将要打印的数据传送其中存放;另一项工作就是由输出进程SPO再为用户进程申请一张空白的用户请求打印表,并将用户的打印请求填入其中,然后将该表挂到打印机的请求队列上。这时,如果还有另一个进程请求打印机时,则系统仍同意为该进程执行打印输出,当然,系统所做的工作仍是以上两项内容。
2、在打印机执行实际打印时,如果打印机空闲,输出进程SPO将从请求打印队列的队首取出一张打印表,根据打印表中的要求将要打印的数据从输出井传送到内存输出缓冲区,再传送到打印机打印。打印完后,输出进程SPO将再检查请求打印队列中是否还有待打印的请求表,若有则再取出一张请求打印表,将新的但因要求继续打印。如此反复,直到请求打印队列空为止,输出进程才将自己阻塞起来,并在下次再有打印请求时被唤醒。


http://chatgpt.dhexx.cn/article/6SE99S3u.shtml

相关文章

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年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

SpringBoot框架实现简单业务逻辑

SpringBoot框架实现简单业务逻辑 总述Entity层Dao层Mapper.xml Service层ServiceImpl Controller层完整的业务逻辑实现写法示例Dao层声明方法Mapper.xml具体实现sql语句Service层声明方法ServiceImpl具体实现业务逻辑Controller层调用Service层方法实现 总结 总述 最基本的业务…

java如何优雅的写业务逻辑_java业务逻辑,写在哪里比较好?

java业务逻辑,写在哪里比较好?对于这个问题,我想说的是:规范是死的,人是活的,一般情况下,我们可以根据不同的 java 框架规范的目录来写,特殊情况下也可以自定义。 问题分析 接触过 j…

常见的业务逻辑漏洞-整合篇

笔者前言: 作为一个地地道道的安服仔,每日的工作就是渗透测试,在测试的过程中累积了很多的经验,看到了各种各样奇葩的漏洞,于是乎便有了这样的一篇文章。以下文章均由本人测试发现并打码,侵删 什么是业务逻…

浅谈——业务逻辑漏洞

目录 什么是业务逻辑漏洞产生原因脑图有哪些应用场景?哪些危害?越权支付漏洞靶机案例修改支付金额密码找回绕过越权 防御方式参考 | 提示📝: “业务逻辑"一词仅指定义应用程序操作方式的一组规则。由于这些规则并不总是与企…

订单业务逻辑设计

订单业务逻辑 订单的常见功能: 创建订单功能、查看订单列表、根据订单id查询订单的详细信息、订单修改、订单取消、订单状态、订单评价等功能的实现数据库表的设计 tb_order(订单信息表) tb_order_item(订单详情表) tb_order_shipping&am…

业务安全 –业务逻辑漏洞

目录 业务安全 –业务逻辑漏洞 业务安全概述; 业务安全测试流程: 业务数据安全 商品支付金额篡改 前端JS限制绕过验证 请求重放测试 业务上线测试 *商品订购数量篡改 密码找回安全 注入 业务逻辑 信息泄露 业务安全概述; 简单讲,随着社会发…

不可思议但又无处不在的漏洞,WEB安全基础入门—业务逻辑漏洞

欢迎关注订阅专栏! WEB安全系列包括如下三个专栏: 《WEB安全基础-服务器端漏洞》《WEB安全基础-客户端漏洞》《WEB安全高级-综合利用》 知识点全面细致,逻辑清晰、结合实战,并配有大量练习靶场,让你读一篇、练一篇&a…

业务逻辑安全思路总结

在一些关键的业务场景里,我们最应该关注的安全问题是什么呢? 想到这,发现挺有意思的,于是我重新去梳理了一下业务逻辑方面的内容,做了一张关于业务逻辑安全的思维导图,在整理的过程中,自己的思路…

开发业务逻辑

转自:http://www.uml.org.cn/zjjs/201008021.asp 前言 记得几个月前,在一次北京博客园俱乐部的活动上,最后一个环节是话题自由讨论。就是提几个话题,然后大家各自加入感兴趣的话题小组,进行自由讨论。当时金色海洋同学…

Service业务逻辑层

就是功能实现 例:Account类要求编写业务逻辑层AccountServiceImpl类实现一个转账功能 先定义DBUtils类封装数据库连接代码、定义Account类、定义PersonDao类提供增删改查方法 public class AccountServiceImpl{public static void transfer(int fromId,String pwd,…

业务逻辑详解

不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑 比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可…

业务逻辑漏洞

业务逻辑漏洞定义: 业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错误。 业务逻辑漏洞特性: 业务逻辑漏洞只出现于业务流程中(模块功能),也就是说网站的部分都有…