输入输出系统.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 输入/输出系统 6.1 I/O系统的硬件结构 6.2 采用通道模型的I/O系统 6.3 I/O系统的软件组织 6.4 缓冲技术 6.5 磁盘的驱动调度 6.6 设备分配程序 6.7 WindowsNT的I/O系统 /输出系统 6.1 I/O系统的硬件结构 1.按使用特性 对设备的分类 2. 按所属关系分类 系统设备 用户设备  3. 按资源分配角度分类 独占设备 共享设备 虚拟设备 4. 按传输数据数量分类 字符设备 块设备 5. 按传输速率分类 慢速设备 中速设备 快速设备 几种常见I/O设备的物理特性 1. 磁盘 图 6.2 磁盘物理结构概念图 表6-1 典型的软盘和硬盘的技术参数 2. 时钟 图 6.3 可编程时钟 3. 终端 存储映像终端 RS-232终端 X终端 I/O控制方式 循环I/O测试方式。 程序中断I/O方式。 DMA方式。 通道方式。 图 6.7 DMA方式下的数据传输 设备控制器 现有大多数的设备控制器由以下三部分组成:  设备控制器与CPU的接口 设备控制器与设备的接口 I/O逻辑 图 6.8 设备控制器的组成 6.2 采用通道模型的I/O系统 通道是一个独立于CPU的、专门用于管理I/O的处理机。 使用通道的目的是减轻CPU的工作负担,增加系统并行能力。 通道类型 字节多路通道 选择通道 数组多路通道 多通路I/O系统 图 6.9 多通路的配置方案 通道命令和通道程序 通常,计算机系统的I/O处理机具有如下三类基本通道操作: 数据传送类, 如读、 写、 反读、 断定(检验设备状态); 设备控制类, 如控制换页、 磁带反绕等;  转移类, 即通道程序内部的控制转移。 2. CPU和通道间的通讯 图 6.11 CPU启动通道的工作流程 6.3 I/O系统的软件组织 图 6.12 I/O系统的层次结构 I/O软件设计的目标 设备无关性 错误处理 同步/异步传输 处理独占设备和共享设备的I/O操作 中断处理程序 中断处理程序位于I/O系统的最低层。当进程需要进行I/O操作时,操作系统应将该进程挂起,即进入阻塞,直至I/O操作结束并发生中断。 当中断发生时,中断处理程序执行相应的操作,以解除相应进程的阻塞状态。 设备驱动程序 设备驱动程序包括了所有与设备有关的代码。每一个设备驱动程序只处理一种设备或者一类密切相关的设备。  设备驱动程序的功能是从与设备无关的软件中接收抽象的请求,并执行该请求。 与设备无关的I/O软件 面向应用层,提供一个统一的接口。 现以块设备为例, 与设备无关的I/O软件的主要功能包括: 设备命名。 设备保护。 与设备无关的块大小。 数据缓冲。 数据块的分配。 对独占设备的分配与释放。 错误处理。 用户空间的I/O软件 尽管大部分I/O软件属于操作系统,但是也有一小部分是与用户程序链接在一起的库例程,甚至是在核心外运行的完整程序。 图 6.13 无缓冲与单缓冲 (a) 无缓冲;(b) 单缓冲 6.4 缓 冲 技 术 图 6.14 双缓冲 缓冲区的分类 单缓冲 双缓冲 缓冲池 缓冲池 缓冲池由多个缓冲区组成。 为了管理方便,将相同类型的缓冲区链成一个队列,形成以下三个队列: (1) 空缓冲区队列emq: 由空缓冲区所链成的队列;  (2) 输入队列inq: 由装满输入数据的缓冲区所链成的队列; (3) 输出队列outq: 由装满输出数据的缓冲区所链成的队列。 四种工作缓冲区: 用于收容输入数据的工作缓冲区;  用于提取输入数据的工作缓冲区;  用于收容输出数据的工作缓冲区;  用于提取输出数据的工作缓冲区。 缓冲池管理的基本操作 两个基本操作(过程):  getbuf(type):用于从type所指定的队列的队首, 摘下一个缓冲区;  putbuf(type,number):用于将用参数number所指示的缓冲区, 挂在type队列上。 第六章 输入/输出系统

文档评论(0)

mwq365 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档