设备管理——Spooling技术原理

2010-01-02

spooling是 Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。

spooling系统既不同于脱机方式,也不同于直接藕合方式,SPOOLing 技术实际上是一种外围设备同时联机操作技术,又称为排队转儲技术。它在输入和输出之间增加了“输入井”和“输出井”的排队转儲环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。若系统的某台台行式打印机采用了虚拟设备技术,那么若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印机直接分配给进程,而是在共享设备(磁盘或磁鼓)上的输出SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式此。各进程的数据输出文件形成了一个输出队列,由输出POOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing 系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。这样,便把独占设备改造为共享设备。

宏观上,虽然是多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。当然,该设备只是逻辑上的设备。SPOOLing系统实现了将独占设备变换为若干台对应的逻辑设备的功能。

SPOOLing技术实质上是用户进程利用一共享设备的一个存储区,并不是真正占有这一设备,用户进程把要完成的任务以文件的形式存入存储区,在存储区中排队并等待SPOOLing系统调度,只有被SPOOLing系统调度并输出,此项任务才真正完成,通过这一技术可以大大提高了共享设备的使用率,节约了硬件资源。

SPOOLing技术是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。
SPOOLing系统由专门负责I/O的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。

将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。

SPOOLing技术实现设备管理时的工作特征:

1、提高了I/O速度

2、将独占设备改造为共享设备

在SPOOLing 系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区并建立一张I/O请求表。这样,便把独占设备改造为共享设备。

宏观上,虽然是多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。当然,该设备只是逻辑上的设备。spooling系统实现了将独占设备变换为若干台对应的逻辑设备的功能

设备管理——Spooling技术原理相关推荐

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

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

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

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

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

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

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

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

  5. spooling 技术工作原理

    SPOOLing技术的工作原理 SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机 ...

  6. 操作系统之I/O管理:2、SPOOLing技术(假脱机技术)

    2.SPOOLing技术 思维导图 脱机技术 假脱机技术(SPOOLing技术) 用假脱机技术实现共享打印机 思维导图 脱机技术 1.在早期的批处理系统中,输入输出经历了这样的过程:纸带----磁带- ...

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

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

  8. SPOOLing技术的理解

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

  9. 聊聊SPOOLing技术

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

最新文章

  1. SharedPreferences的工具类,使用起来方便、快捷
  2. php项目使用xdebug远程调试
  3. MySQL SQL的概述
  4. Android kotlin DataBinding 之 unresolved reference: BR
  5. PDA开发系列:GPS模块的调用
  6. 我们处理了10亿个Java记录的错误-这是导致97%的错误的原因
  7. java封装264成flv,将H.264封装为FLV格式-Go语言中文社区
  8. linux mysql 挂马_linux服务器被挂马
  9. JVM初学之JVM的垃圾回收机制与垃圾回收器
  10. 好程序员分享如何看待CSS中BEM的命名方式?
  11. 【经典算法】第一回:快速排序
  12. .netcore 如何获取系统中所有session_C#/.NET/.NET Core定时任务调度组件有哪些?
  13. couchbase php,CouchBase + PHP 安装与配置
  14. UVALive - 4487 HDU3234 UVA12232 【带权并查集】 非常好的一道题!!!
  15. wincc安装服务器系统,wincc7.4安装硬件要求
  16. 远程桌面服务器打开任务管理器并运行Windows资源管理器
  17. 号外!号外!豪车出租啦!
  18. 那些年,我们一起读过的《JAVA与模式》
  19. java Font 自定义字体
  20. 百家姓和名称正则匹配

热门文章

  1. 懂计算机能驾驶的月嫂薪水高
  2. 7-6 程序员买西瓜 (5分)
  3. [C语言数据结构]栈
  4. ECharts之饼状图
  5. planetb word中格式调整
  6. 实训三:文件系统命令及vi编辑
  7. C++ MFC打开图片并进行简单算法处理
  8. redis主从和集群
  9. 博弈——ICE公平组合游戏(简单整理结论)
  10. 手把手教你安装vivado2015.4开发环境