操作系统 假脱机(Spooling)系统

article/2025/9/11 23:56:10

介绍

通过多道程序技术可将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机。那么,假脱机技术,则可将一台物理I/O设备虚拟为多台逻辑I/O设备,这样也就允许多个用户共享一台物理I/O设备。

1. 假脱机技术

早期,为了缓和CPU的高速性与I/O设备低速性之间的矛盾,引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,先将低速I/O设备上的数据传送到高速磁盘上,或者相反。

这样,处理机需要输入数据时,便可直接从磁盘中读取数据。反之,处理机输出数据时,也可很快将数据先输出到磁盘上,处理机便可去做自己的事情。

事实上,系统引入多道程序技术之后,我们可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O;设备上的数据传送到高速磁盘上。再利用另一道程序模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。

这样,便可在主机的直接控制下,实现以前的脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,将这种在联机情况下实现的同时外围操作的技术称为Spooling(Simultaneous Peripheral Operation On-Line)技术,或称为假脱机技术

2. Spooling的组成

Spooling技术是对脱机输入/输出系统的模拟,其系统建立在通道技术和多道程序技术的基础上,以高速随机外存(通常为磁盘)为后援存储器。

Spooling系统构成:

  • 输入井和输出井:

    在磁盘上开辟出来的两个存储区域。

    输入井模拟脱机输入时的磁盘,收容I/O设备输入的数据;

    输出井模拟脱机输出时的磁盘,收容用户程序的输出数据。

  • 输入缓冲区和输出缓冲区:

    内存中开辟的两个缓冲区,缓和CPU和磁盘之间速度不匹配的矛盾。

    输入缓冲区暂存输入设备传送的数据;

    输出缓冲区暂存从输出井传送的数据。

  • 输入进程或输出进程:

    输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入设备传送到输入缓冲区,再存放到输入井。当CPU需要输入设备时,直接从输入井读入内存;

    输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据从内存传送并存放到输出井,待输出设备空闲时,再将输出井中的数据经输出缓冲区输出至输出设备上。

  • 井管理程序:

    控制作业与磁盘井之间信息的交换。

在这里插入图片描述

工作原理:

在这里插入图片描述

3. 特点:

  • 提高了I/O的速度,这里,对数据所执行的I/O操作,已从对低速I/O设备执行的I/O操作演变为对磁盘缓冲区中数据的存取,如同脱机输入输出一样。
  • 将独占设备改造为共享设备,在假脱机打印系统中,实际上并没有为任何进程分配设备,而只是在磁盘缓冲区中为进程分配一个空闲盘块和建立一张I/O请求表,这样,便把独占设备改造为共享设备。
  • 实现了虚拟设备功能,宏观上,虽然是多个进程在同时使用一台独占设备,而对于每一个进程而言,它们都会认为自己是独占了一个设备。

4. 假脱机打印机系统:

组成:

  • 磁盘缓冲区:

    磁盘上开辟的一个存储空间,暂存用户程序的输出数据

  • 打印缓冲区:

    缓和CPU和磁盘之间速度不匹配的矛盾,设置在内存中,暂存磁盘缓冲区送来的数据,传送给打印设备打印

  • 假脱机管理进程和假脱机打印进程:

    管理进程为每个要求打印的用户数据建立一个假脱机文件,并放入到假脱机文件队列中,由打印进程依次对队列中的文件进行打印。

原理:

对每个用户而言,系统并非即时执行其程序输出数据的真实打印操作而只是即时将数据输出到缓冲区,这时的数据并未真正被打印,只是让用户感觉系统已为他打印;

真正的打印操作,是在打印机空闲且打印任务在等待队列中已排到队首时进行的;而且,打印操作本身也是利用CPU的一个时间片,没有使用专门的外围机。

以上过程是对用户屏蔽的,用户是不可见的。

守护进程(daemon):

前面是利用假脱机系统来实现打印机共享的一种方案,人们对该方案进行了某些修改,如取消该方案中的假脱机管理进程,为打印机建立一个守护进程,由它执行一部分原来由假脱机管理进程实现的功能。

除了打印机守护进程之外,还可能有许多其它的守护进程,如服务器守护进程和网络守护进程等。事实上,凡是需要将独占设备改造为可供多个进程共享的设备时,都要为该设备配置一个守护进程和一个假脱机文件队列(目录)。

参考:《计算机操作系统》(第四版,汤小凤)

看教材枯燥,码字记录提神,根据计算机操作系统(第四版,汤小凤)个人整理,仅作学习记录 :)

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

相关文章

题目SPOOLing系统的设计与实现

最近刚刚做的一个课程设计,关于SPOOLing的。 一、算法或原理的实现思想 技术原理 SPOOLing技术可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。SPOOLing技术把所有用户进程的输出都送入输出井,然后再由输出…

精确度,准确度,精密度关系

1.精确度,准确度,精密度的关系 三者得关系大体可以理解为,准确度精密度 精确度,准确度反应距离真值得偏差,精密度反应测量得稳定性,精确度反应二者之综合。 三者得主次关系:精密度>准确度 …

Mysql的浮点精确度

1.mysql的用于记录小数的类型有三个float ,decimal 和double他们之间的关系 先创建一个表test都用了float ,decimal 和double 插入一条数据查看发现没有发现精度丢失问题 再插入一条数据,发现精度损失: 查看三个类型的范围: 插入小数的位数多…

验证集精确度和损失同时上升

目录 1. 实验结果2. 分析 1. 实验结果 下图中val_acc,val_loss分别表示验证集精确度和损失;train_acc,train_loss分别表示训练集精确度和损失。验证集精确度一直上升,但是损失在第六个epoch后也开始上升,如何解释&…

JavaScript超大或超小数值精确度丢失解决方案

情景一 接口字段,Number类型数据失真,解决方法可直接让服务端把字段类型改成String类型即可。 情景二 某些特殊场景,需要保留小数点后9位(及其以上),直接调用Number对象自带的toFixed()函数,会出现小数点后数据失真…

关于JavaScript精确度问题

一、js精确度的安全范围是 -2^53 至 2^53 一旦超过这个范围则无法精确表示 1.解决方法 使用第三方包 JSON-Bigint JSONbig.parse() //转换出来的是一个BigNubmer对象 若要使用则用toString()方法 JSONbig.stringify() 2.当axios获取响应数据时自动会将数据JSON.parse()解析为…

【机器学习】准确率、精确度、召回率和 F1 定义

一、说明 数据科学家选择目标变量后 - 例如他们希望预测电子表格中的“列”,并完成了转换数据和构建模型的先决条件,最后步骤之一是评估模型的性能。 二、混淆矩阵的模型 2.1 混淆矩阵 选择性能指标通常取决于要解决的业务问题。假设您的数据集中有 10…

Python计算分类问题的评价指标(准确率、精确度、召回率和F1值,Kappa指标)

机器学习的分类问题常用评论指标有:准确率、精确度、召回率和F1值,还有kappa指标 。 每次调包去找他们的计算代码很麻烦,所以这里一次性定义一个函数,直接计算所有的评价指标。 每次输入预测值和真实值就可以得到上面的指标值&a…

batch_size对精确度和损失的影响

1 问题 在深度学习的学习过程中,模型性能对batchsize虽然没有学习率那么敏感,但是在进一步提升模型性能时,batch_size就会成为一个非常关键的参数。 batch_size对精度和损失的影响研究。 batch_size [,32,64,128,256] 不同batch_…

准度、精度傻傻分不清?

[导读] 做电子产品,常常遇到测量。此时就难免会关注到精度、准度等概念,遇到不少朋友对这两个概念不清楚,今天就来分享一下这两个概念。最近很忙,更的不及时,实在抱歉。也感谢大家不离不弃!对于更文分享这件…

机器学习笔记--classification_report精确度/召回率/F1值

classification_report简介 sklearn中的classification_report函数用于显示主要分类指标的文本报告.在报告中显示每个类的精确度,召回率,F1值等信息。 主要参数: y_true:1维数组,或标签指示器数组/稀疏矩阵&#xf…

YOLOv5~目标检测模型精确度

还是yolo5的基础啊~~ 一些关于目标检测模型的评估指标:IOU、TP&FP&FN&TN、mAP等,并列举了目标检测中的mAP计算。 指标评估(重要的一些定义) IOU 也称重叠度表示计算预测回归框和真实回归框的交并比,计算公式如下: TP&FP&FN&…

睿智的目标检测20——利用mAP计算目标检测精确度

睿智的目标检测20——利用mAP计算目标检测精确度 学习前言GITHUB代码下载知识储备1、IOU的概念2、TP TN FP FN的概念3、precision(精确度)和recall(召回率)4、概念举例5、单个指标的局限性 什么是AP绘制mAP 学习前言 好多人都想算…

误差与精度

机械专业用于教授学生误差与精度概念的课程叫做《公差与测量》或者叫做《机械精度设计》,而公差或者精度的本质含义就是误差的大小,公差越小,误差越小,精度越高。所以机械专业这门课其本质教授的还是误差理论。 在学校并没有好好学…

层次分析法 AHP

层次分析法(Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出的一种简便、灵活而…

权重计算方法一:层次分析法(AHP)

目录 1.层次分析法原理介绍 2.层次分析法建模步骤 3.案例分析 3.1 题目简述 3.2 确定评价指标,建立层次关系 3.3 构造判断矩阵 3.3.1 标度定义 3.3.2 构造判断矩阵 3.4 一致性检验 3.5 层次总排序 4.代码实现 1.层次分析法原理介绍 关于层次分析法的具体原…

【数学建模】层次分析法(AHP)

层次分析法 文章目录 层次分析法用途一、模型介绍一道典型例题1.建立层次结构2.对于同一层次的个元素关于上一层次中的某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵)。2.1 O-C矩阵(确定指标的权重)2.2 准则…

什么是AHP 层次分析法?

AHP层次分析法(The analytic hierarchy process)是一种解决多目标复杂问题的定性和定量相结合进行计算决策权重的研究方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能否实现的标准之间的相对重要程度,并合理地给出每个决策…

[评价体系] 2、层次分析法AHP原理、例题

目录 1 基本介绍 2 建立步骤 2.1 建立递阶式层次结构模型 2.2 构造比较判断矩阵 2.3 层次单排序及一致性检验 2.4 层次总排序及其一致性检验 2.5 数据加权 3 案例:某学科创新能力评价指标体系 3.1 构建评价指标体系 3.2 构造判断矩阵及一致性检验 3.3 …

数学建模方法——层次分析法(AHP)

目录: 层次分析法简介层次分析法基本原理构造判断矩阵一致性检验一致性检验通过的判断矩阵求权重 4.1 算数平均法求权重 4.2 几何平均法求权重 4.3 特征值法求权重总结 0. 层次分析法简介 层次分析法(Analytic Hierarchy Process,简称AHP&…