早期的计算机只能由一个用户独占,不存在资源竞争的问题。随着多道程序的出现,一个CPU可为多个程序服务,所以采用分时方式让CPU为多个用户服务。然而对独占设备来说,采用分时方式统一管理设备是有问题的

名词解析:

独占设备:一段时间内只允许一个用户(进程)访问的设备,如打印机

共享设备:一段时间内允许多个进程同时访问设备,如磁盘

通过某种技术将独占设备改为共享设备。

而SPOOLing(simultaneous Peripheral Operation Online)就是这种技术。

磁盘作为中间介质,模拟构成多个适于独占的设备。从进程与用户的角度看,获得了设备,该设备是逻辑设备,又称虚拟设备。

SPOOLing系统主要有以下三部分:

(1)输入井和输出井。这是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘设备,用于暂存I/Q设备输入的数据;输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据。

(2)输入缓冲区和输出缓冲区。为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区;输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用与暂存从输出井送来的数据,以后在传送给输出设备。

(3)输入进程SPi 和输入进程SP0。这里利用两个进程来模拟脱机I/O时的外围控制机。其中,进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存;进程SP0模拟脱机输出时的外围控制机,把用户要求输出的数据从先内存送到输出井,待输出设备空闲时,在将输出井中的数据经过输出缓冲区送到输出设备上。

SPOOLing技术的特点:

(1)提高了I/O速度。

(2)将独占设备改造为共享设备。

(3)实现了虚拟设备功能。

计算机的SPOOLing技术相关推荐

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

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

  2. 操作系统(SPOOLING技术)

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

  3. SPOOLing技术的理解

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

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

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

  5. 操作系统 | 实验七 SPOOLING技术

    文章目录 一.实验目的 二.实验内容 三.数据结构 3.1 数据结构 3.2 函数以及功能 四.程序流程图 五.实验代码 六.实验结果 七.实验体会总结 一.实验目的 理解和掌握SPOOLING假脱机 ...

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

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

  7. 计算机与网络技术基础试题及答案,计算机与网络技术基础试题及答案(2003年10月)...

    计算机与网络技术基础试题及答案(2003年10月) 以下是部分内容预览,注意图片没有显示出来,WORD里是有的.请到下载区下载完整的试题及答案. 全国2003年10月高等教育自学考试 计算机与网络技术 ...

  8. 通信工程和计算机科学会议,计算机科学论坛--2019年IEEE第二届国际计算机与通信工程技术会议(CCET 2019)...

    CCET 2019 2019年IEEE第二届国际计算机与通信工程技术会议 中国北京 2019年8月16-18日 http://www.ccet.org/ 投稿截止日期:2019年05月30日 录用通知 ...

  9. linux网络管理证书,计算机网络管理工程师技术水平证书有什么用

    计算机网络管理工程师技术水平证书有什么用? 2011-3-31 17:30 全国信息技术水平考试由全国电子信息应用教育中心负责组织实施,已纳入全国信息技术人才培养工程和全国计算机技术与软件专业技术资格 ...

最新文章

  1. 我在React Native中构建时获得的经验教训
  2. phoenix的元数据一般存在哪里_Phoenix常用操作记录-阿里云开发者社区
  3. [开源] .NETCore websocket 即时通讯组件---ImCore
  4. wtl重载 CListViewCtrl,及其用法。
  5. 7.3 TensorFlow笔记(基础篇):加载数据之从队列中读取
  6. java状态模式所有情况_轻松掌握Java状态模式
  7. php透明颜色的代码,PHP imagecolorallocatealpha - 为一幅图像分配颜色和透明度
  8. 信息学奥赛C++语言: 博物馆
  9. 用户需求说明书_「软件项目管理入门」(21) 需求调研和需求分析怎么做?
  10. 面试:Synchronized锁升级(理解)
  11. 测试ai模糊软件,“马赛克视频”AI还原软件被疯传!测试效果出乎意料!
  12. Servlet 容器
  13. Python微博评论进行情感分析
  14. ks3云存储本地上传限速
  15. 解决Ubuntu环境搜狗拼音候选区乱码问题
  16. windows笔记本查看电池损耗
  17. Java实现图片上传到服务器,并把上传的图片读取出来
  18. 构建股票交易平台专业术语
  19. Python 文件操作出现错误(result, consumed) = self._buffer_decode(data, self.errors, final)
  20. spark报错 Unable to find encoder for type 你的样例类名

热门文章

  1. 微信第三方平台研究总结
  2. hasClass()、is()
  3. android集成百度地图 驾车路线规划 并在地图上绘制出路线
  4. ETL (数据仓库技术)
  5. (附源码)SSM化妆品销售购物系统JAVA计算机毕业设计项目
  6. Docker 安装 Redis 方法一、通过 Dockerfile 构建 创建Dockerfile 首先,创建目录redis,用于存放后面的相关东西。 runoob@runoob:~$ mkdir -
  7. 计算机网络学习心得—概述
  8. TS808效果器制作教程
  9. 系统测试准入、准出准则汇总
  10. Burpsuite工具的证书安装