介绍

通过多道程序技术可将一台物理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):

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

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

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

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

操作系统 假脱机(Spooling)系统相关推荐

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

    文章目录 什么是脱机技术 假脱机技术-―输入/输出缓冲区 共享打印机的实现原理 缓冲区的管理 缓冲区的工作过程 单缓冲 双缓冲 循环缓冲区 缓冲池 什么是脱机技术 在传统的批处理操作系统中, 我们将输 ...

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

    SPOOling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备(生活中最常见的就是多台电脑共享同一个打印机) 目的:为了缓和CPU的高速性与I/O设备低速 ...

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

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

  4. 教你这么理解 『假脱机打印机系统』

    设备的分类 独占式设备 共享使用设备 虚拟设备(以spooling使用的外部设备) 操作系统发展中的脱机输入输出方式,它的目的是解决速度不匹配问题:假脱机是将独占设备共享 组成 输入.输出井:在磁盘上 ...

  5. 操作系统19———IO系统之与设备无关的I/O软件用户层的I/O软件

    操作系统19---IO系统之与设备无关的I/O软件&用户层的I/O软件 一.目录 二.与设备无关软件的基本概念 设备独立性(设备无关性)的含义:应用程序中所用的设备,不局限于使用某个具体的物理 ...

  6. 操作系统(SPOOLING技术)

    SPOOKING技术 一.实验目的 二.实验内容 三.实验准备 1.设计一个实现SPOOLING技术的进程 2.设计进程调度算法 3.进程状态 4.数据结构 5.编程说明 6.程序框图 四.实验要求 ...

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

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

  8. SPOOLING系统

    SPOOLing系统:又称为假脱机系统:在联机的情况下实现的同时外围操作的技术称为SPOOLing技术,或成为假脱机技术. 组成: 1.输入井和输出井:输入井和输出井的存储区域是在磁盘上开辟出来的.输 ...

  9. 操作系统实验--spooling技术

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

最新文章

  1. [Doctrine Migrations] 数据库迁移组件的深入解析三:自定义数据字段类型
  2. cyclicbarrier java_Java并发编程之CyclicBarrier和线程池的使用
  3. ggplot2可视化分面图(faceting)使用label_wrap_gen函数设置每个分面图的子图标题自动换行为多行文本(基于设定的当行宽度进行标题文本自动换行)
  4. 支付宝 APP支付(证书)方式遇到的问题和解决办法
  5. 字符的点阵显示(模拟户外广告显示屏)
  6. Java的3大框架都学习什么呢?
  7. duilib清空richedit内容
  8. js中图片获取src的正则
  9. java okhttp设置超时_Java OkHttpClient.setWriteTimeout方法代码示例
  10. unity3D android游戏屏幕分辨率问题【转http://blog.csdn.net/jeksonal/article/details/8501549】...
  11. TCPIP详解之udp
  12. 机器人弹性伸缩算法-专利技术交底书
  13. tplink控制上网设备_tp link无线路由器设置里的主人设备 访客网络
  14. 《视觉SLAM十四讲》-第五章第1节-1-“相机与图像”-“相机模型”-“针孔相机模型”-学习笔记总结
  15. hive和presto处理月末月初
  16. Qt quick基础2(包含平移旋转放缩以及qml控件大写开头啊)
  17. 2022-03-25 Python作业3
  18. uniapp云开发微信小程序 云函数配置
  19. ip ban linux,linux – fail2ban:unban ip如何(使用fail2ban-client)
  20. 《IBM SPSS Modeler数据与文本挖掘实战》之文本挖掘算法

热门文章

  1. 无心剑中译奥修《错在您》
  2. 自建Ceph存储与 AWS、阿里云、腾讯云的成本对比
  3. 《韩非子》——《孤愤》
  4. 怎么把视频做成高清的GIF动态图?简单又快的方法
  5. 医学影像工作站程序ProDicom的说明
  6. 2021年中国印染布产量及进出口情况分析:合成长丝织物产品出口数量最多[图]
  7. MOSES统计机器翻译系统实验过程
  8. 安卓手机续航测试软件,10款手机电池续航测试对决:都是骁龙865手机,续航差距有多大?...
  9. 在线支付系列【2】支付宝和微信支付发展史
  10. windows下,C++中调用命令行并且获取命令行的输出