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

思考题:A,B,C,D共用一台打印机x,要进行资料打印时,很容易出现“打印机正在使用!”,如何处理该问题?
我们在使用打印机的时候,可能会出现一种情况,就是我们的一台机器可能会在多次访问的时候都会出现,打印机正在使用的情况。但是打印机其实并不是很忙,只是我们每次访问的时候打印机都在忙.在这种情况下,我们对打印机是不是产生了很多没有必要的浪费。这个时候SPOOLing技术的优势就很明显了。我们可以给我们要打印的数据一个缓冲区,排队打印,这样打印机就能尽量的不浪费时间了。
SPOOLing技术
虚拟性是OS的四大特性之一。如果说可以通过多道程序技术将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机,那么,通过SPOOling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。
SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。低速设备经通道和外设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。为了存放从低速设备上输入的信息,或者存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对输出),或者“输入井”(对输入)。简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,再传到高速设备的输入井,再从高速设备的输出井,传到缓冲区,再传到低速设备。
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
SPOOLing系统既不同于脱机方式,也不同于直接藕合方式,SPOOLing技术实际上是一种外围设备同时联机操作技术,又称为排队转储技术。它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。若系统的某台台行式打印机采用了虚拟设备技术,那么若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印机直接分配给进程,而是在共享设备(磁盘)上的输出,SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式表示的。各进程的数据输出文件形成了一个输出队列,由输出POOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。这样,便把独占设备改造为共享设备。
将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。

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

操作系统-设备管理-spooling技术相关推荐

  1. 设备管理——Spooling技术原理

    设备管理--Spooling技术原理 2010-01-02 spooling是 Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它 ...

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

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

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

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

  4. 操作系统(SPOOLING技术)

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

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

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

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

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

  7. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节5:假脱机(SPOOLing)技术

    文章目录 一:脱机技术 二:假脱机技术(SPOOLing技术) (1)输入井和输出井 (2)输入缓冲区和输出缓冲区 (3)输入进程和输出进程 三:SPOOLing技术实例--共享打印机 一:脱机技术 ...

  8. 转 SPOOLING技术——操作系统

    传送门 SPOOLING技术--操作系统 SPOOLING技术(Simultaneous Peripheral Operating On Line) 同时联机外围操作技术,它是关于慢速字符设备如何与计 ...

  9. spooling技术课程设计 linux环境,SPOOLING技术模拟实现 操作系统原理课程设计.doc

    SPOOLING技术模拟实现 操作系统原理课程设计 ******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2010年秋季学期 操作系 ...

最新文章

  1. POST和GET有什么区别? [重复]
  2. Java基础点:多线程
  3. (OPC Client .NET 开发类库)网上很多网友都有提过,.NET开发OPC Client不外乎下面三种方法...
  4. pci配置基地址_PCIe扫盲——基地址寄存器(BAR)详解
  5. win7无法连接打印机拒绝访问_Win7系统”windows无法连接到打印机拒绝访问“怎么办?通过创建local port端口连接来搞定...
  6. 每天自动备份网站数据,发现问题一键恢复 ——阿里云虚拟主机推出网站数据自动备份功能...
  7. 三年后见!雷军透露年轻人的第一台汽车售价......
  8. HTML页面显示透视效果,《前端每日实战》第176号作品:用透视图表现 HTML、CSS 和 JS 的关系...
  9. rocketmq消息积压
  10. MySQL选择合适的数据类型
  11. 3.3 CMMI3级——技术解决方案(Technical Solution)
  12. ZigBee(CC2530)(03)数据手册分享(英文+中文)
  13. 论文翻译(上):Deep Learning Based Semantic Labelling of 3D Point Cloud in Visual SLAM
  14. 回归分析结果表格怎么填_excel回归分析结果解读
  15. win7下安装MySQL的步骤
  16. vue 使用swper组件
  17. 对话三星张代君:Bixby到底与Siri有什么不同?
  18. 关于找不到www.jetbrains.com的服务器IP地址
  19. 动态规划-最少硬币组合问题(Java)
  20. 百度大脑EasyDL多人标注重磅上线啦

热门文章

  1. 斯特林数、欧拉数的求和技术及应用
  2. vnc远程控制linux/windows
  3. 【Unity3D】抛物线运动方程原理和实现
  4. 2016届蓝桥杯 Java C组 省赛试题及答案
  5. uv平板打印机墨水参数
  6. hive -- stddev , stddev_pop , stddev_samp , var_pop , var_samp(计算方差标准差等)
  7. iOS 系统自带定位
  8. 【GIS前言技术】国外30个最佳GIS软件汇总及学习资料下载
  9. 我和小美的撸码日记(3)之一句话搞定MVC表单页数据绑定与提交
  10. matlab imfilter 用法