操作系统第八章输入输出管理汇编.pptx

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第八章输入输出管理汇编

第八章 输入/输出管理 I/O管理是OS中最庞杂、琐碎的部分。系统配置的外设种类繁多,功能各异,特性和操作方法完全不同,如: 速度 传送单位 顺序访问或随机访问 出错条件等 I/O设备的分类 按操作特性分类 存储设备:存储信息的设备 I/O设备:向CPU输入信息和输出经加工处理的信息 I/O设备的分类 2. 按信息交换单位分类(如UNIX系统采用) 字符设备:信息传送的单位是字节 块设备:信息传送的单位是块,如512B整数倍/块 I/O设备的分类 3. 按共享属性分类 独占设备:在一段时间内只允许一个进程访问的设备。如打印机 共享设备:在一段时间内只允许多个进程访问的设备。如磁盘 虚拟设备:通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户使用,通常将经过虚拟技术处理后的设备称为虚拟设备。如虚拟打印机 二、I/O设备管理的功能 目标:方便用户的使用,提高设备利用率 1、状态跟踪 :由设备控制块(DCB)动态记录设备状态的变化及有关信息。 2、设备存取与分配 按照设备类型和相应的分配算法,决定将I/O设备分配给哪一个要求该设备的进程。 静态分配:作业进入系统时就进行分配,退出系统时就收回全部资源。 动态分配:进程需要使用某设备而提出申请时进行分配,使用完毕后立即将其收回。 3、设备控制 将用户的I/O请求转换为设备能识别的I/O指令,并实施设备驱动和中断处理工作。主要由设备驱动程序完成。 4、实现其它功能 缓冲区的管理 实现设备独立性 8.1.3设备独立性 是指用户在编制程序时所使用的设备与实际使用的设备无关,也就是用户程序中仅使用逻辑设备名。 例如:UNIX系统中,每一类物理设备都有一个设备文件与之对应,在/dev目录下。当使用某一设备时,只需使用与之对应的设备文件名即可。 …… fd1=open(“/dev/lp”,O_WRONLY); fd1:返回的文件描述符 /dev/lp:打印机对应的设备文件名 O_WRONLY:只写方式 …… number=write(fd1,buf,count); //向打印机打印count个字符 number:返回打印的实际字节数 buf:字符串指针 count:传送的字节数 设备独立性的优点: 屏蔽了设备的物理特性,方便用户使用 改善了资源的利用率 提高了系统的可扩展性和可适应性。 8.1.4设备控制块 是记录设备的硬件特性、链接和使用情况等信息的数据结构,当设备装入系统时,DCB被创建,基本内容有: 设备名 设备属性:描述设备现行状态的一组属性,如①传输速度;②工作方式:如全双工或半双工③校验方式:如奇偶校验、CRC校验等④延迟时间等。 8.1.4设备控制块 3. 指向命令转换表的指针 每个I/O请求都要转换成调用一个能执行I/O操作的设备例程。 P220 设备开关表 相当于一个二维矩阵,每一行含有同一主设备号的设备驱动程序入口地址;每一列是不同类设备的同一驱动程序的入口地址。 主设备号:每类设备给一个编号 次设备号:同一类设备的若干设备进行编号 主设备号 次设备号 8.1.4设备控制块 4. 在I/O总线上的设备地址 每个设备都有地址,可以采用统一编址,也可以采用单独编址 5. 设备状态:如设备控制器或通道,忙或空闲 6. 当前用户进程指针:当前正在使用该设备的进程 7. I/O请求队列指针:指向因请求设备而未得到满足的进程队列 8.2 缓冲技术 8.2.1缓冲概述 缓冲区:在内存中划出一块存储区,专门用来临时存放I/O数据。 在OS中引入缓冲的主要原因 缓和CPU和I/O设备间速度不匹配的矛盾; 减少对CPU的中断频率,放宽对中断响应时间的限制。 例如:假设每传送1bit便中断1次,如果增加一个8位的寄存器,当传输1B时才中断1次,否则需要中断8次。 ③ 提高CPU和I/O设备的并行性。 缓冲技术分为: 单缓冲 双缓冲 环形缓冲 缓冲池 8.2.2 双缓冲 在这种方案下,为输入或输出分配两个缓冲区。 例:在输入时,输入设备首先填满buf1,进程P从buf1提取数据,进程P计算的同时,输入设备填充buf2.当buf1空、buf2满时,进程P又可以从buf2提取数据,然后计算的同时,输入设备又可以填充buf1。这两个缓冲区如此交替使用,使CPU与设备的并行操作进一步提高。 它对于低频度活动的I/O系统是比较有效的。当buf1、buf2均不满时,而进程还要提取数据时,该进程才等待。 Buf1 Buf2 输入设备 P 8.2.3缓冲池(buffer pool) 从主存中分配一组缓冲区组成缓冲池。 为了提高缓冲区的利用率,

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档