- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 第八章 输入输出管理 8.1 I/O管理概念 8.2 缓冲技术 8.3 设备分配技术 8.4 I/O控制 8.1 输入/输出管理概念 一、引言 设备分类 1. 存储设备:是存储信息的设备,如:磁盘、磁鼓。(以块为单位传输信息)。 2. 输入输出设备:能将信息从计算机外部输入到机内,或反之,如:键盘、显示器、打印机。 3.传输设备 负责计算机之间的信息传输,如调制调节器、网卡。 设备按传输信息的特点来分:字符设备、块设备 8.1 输入/输出管理概念 设备管理的设计目标 1. 提高设备利用率(关键是实现设备的并行操作) 合理分配设备 提高设备与CPU、各外部设备之间的并行性(通道和中断) 2. 方便用户使用 独立于设备:用户使用的设备与物理设备无关 建立虚拟环境 3. 设备处理的一致性 设备品种繁多、用法各异,逐一管理十分复杂; 输入输出系统应将设备的特性与处理它们的程序分开。 8.1 输入/输出管理概念 二、输入/输出管理功能 1. 状态跟踪 动态地记录各种设备的状态(保留在设备控制块中) 2. 确定设备分配策略 决定设备分配策略,确定谁、何时存取设备、使用多长时间。 3. 设备分配与回收 作业级——静态分配:作业进入系统时就进行分配,退出系统时就收回全部资源。 进程级——动态分配:进程需要使用某设备而提出申请时进行分配,使用完毕后立即将其收回。 4. 设备控制 负责将用户I/O请求转换为设备能识别的I/O指令,实施设备驱动和中断处理的工作。 8.1 输入/输出管理概念 三. 设备独立性 1. 设备独立性概念 (1) 什么是设备独立性: 所谓设备独立性是指,用户在编制程序时所使用的设备与实际使用的设备无关,也就是在用户程序中仅使用逻辑设备名。 (2) 逻辑设备名: 逻辑设备名,是用户自己指定的设备名(或设备号),它是暂时的、可更改的。 (3) 物理设备名: 物理设备名是系统提供的设备的标准名称,它是永久的、不可更改的。 8.1 输入/输出管理概念 2. 设备独立性的实现 (1) 在高级语言中用软通道实现 使用高级语言提供的指派语句,通过指派一个逻辑设备名(通道号)来定义一个设备或文件。 如:fd = open(“/dev/lp” ,mode); number1=write(fd,buf,count1); (2) 在批处理系统中,用连接说明语句来定义 如:OUTPUT1 = LPT (3) 在交互系统中,用指派命令来定义 如:PDP系列机上的RT11系统 ASSIGN 设备物理名 设备逻辑名 8.1 输入/输出管理概念 逻辑设备描述器ldd(logic-device-descriptor) 是一种数据结构,进程控制块中有一个指针指向它。 3. 实现设备独立性的优点 方便用户 改善设备利用率 提高系统的可扩展性和可适应性 8.1 输入/输出管理概念 四. 设备控制块 1. 什么是设备控制块(DCB ) 系统为每一台设备都配置了一个用来记录设备的硬件特性、连接和使用情况的一组数据,称为设备控制块。 2.设备转换表 进程的每个I/O请求都要转换成调用一个能执行I/O操作的设备例程。通过操作码检索“设备转换表”以找到相应的设备例程地址。 8.1 输入/输出管理概念 2. 设备控制块的内容 表8.1 设备控制块 dcb 1. 设备名:是设备的系统名,即设备的物理名。 2. 设备属性:描述设备现行状态的一组属性 3. 命令转换表:转换表包含设备特定的I/O例程地址,不具备相应功能的设备在其例程地址上可以填“-1”。 8.2 缓冲技术 一. 缓冲概念 1. 什么是缓冲 缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段。 2. 缓冲器 是以硬件的方式来实现缓冲,容量较小,是用来暂时存放数据的一种存储装置。 3. 软件缓冲区 用来保存在两设备之间或在设备和应用程序之间所传数据的内存区域。 8.2 缓冲技术 4. 为什么引入缓冲 (1) 处理数据流的生产者与消费者间的速度差异 如:从调制解调器收到一个文件,并保存到硬盘上。 (2) 协调传输数据大小不一致的设备 在计算机网络中用来处理消息的分段和重组。 (3) 应用程序的拷贝语义 如:操作系统为保证系统调用write的正确语义,即应用程序要写入磁盘的数据就是write系统调用发生时的版本。 方法:在系统调用返回前将应用程序缓冲区复制到内核缓冲区。 8.2 缓冲技术 二. 常用的缓冲技术 双缓冲、环形缓冲、缓冲池 1. 双缓冲 在双缓冲方案下,为输入或输出分配两个缓冲区buf1 、 buf2 。 (1) 输入数据时,如何利用双缓冲 (2) 输出数据时,如何利用双缓冲 (3)
文档评论(0)