网站大量收购独家精品文档,联系QQ:2885784924

chapter-05外设.ppt

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

b) 按交互方式分类 输入(可读):键盘、扫描仪 输出(可写):显示设备、打印机 输入/输出(可读写):磁盘、网卡 4. 用DMA方式访问I/O( Direct Memory Access) 在设备无关部分完成: 实现逻辑设备操作,不涉及实际的设备控制如: 针对用户接口,提供抽象的命令,如:Open, Close, Read, Write。 针对通信设备,是通信体系结构,本身也可是多层的,如TCP/IP; 针对文件存储设备,是文件系统的逻辑结构控制; 5.4 磁盘管理 1. 磁盘硬件及访问性能 2.RAID 3.CD-ROM 4.可刻录/可重写CD 5.DVD 6. 磁盘格式化问题 7.磁盘访问调度策略 1. 磁盘硬件及访问性能 柱面定位时间:磁头移动到指定柱面的机械运动时间; 旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关,如:软盘转速可为600r/m(每分钟转速),硬盘可为10000r/m。 数据传送时间:从指定扇区读写数据的时间。 设备驱动程序的逻辑位置被指明 驱动程序与设备控制器之间通过总线完成通信 3.设备驱动程序 对设备执行操作进行控制的代码是设备驱动程序! 设备驱动程序主要完成的工作:  接收来自上层软对设备访问的抽象请求  转化抽象请求成为对设备的专用请求  监控设备控制器的工作  对专用设备的初始化  设备的启动与执行状态检测  与上层软件的信息交互和执行结果反馈 设备驱动程序实现中的难点:  驱动程序的可重入问题  支持设备的热插拔功能  驱动程序与内核过程的交互问题(不能使用系统调用) 为应付设备的多变性须建立与设备无关I/O软件.这类软件的特点是: 提供与设备无关的块大小 对设备做分配与释放管理 提供错误报告机制 具有缓冲功能 对于设备驱动程序有统一的接口 4.建立与设备无关的I/O软件 (a) 没有标准驱动程序接口会给OS带来麻烦 (b) 标准驱动程序接口为OS设计带来便利 设备驱动程序统一接口问题 1)引入缓冲技术的目的 为提高外设利用率,尽可能使外设处于忙状态;但有限制:进程的I/O请求不能超过外设的处理能力。 匹配CPU或用户应用进程与外设间的处理速度 减少对CPU的中断次数,提高CPU和I/O设备之间以及各个I/O设备之间的处理并行性。 缓冲区所在的位置:内存,控制器或外设。不同位置的缓冲区组合在一起,构成多级缓冲机制。 缓冲机制建立问题 (a) 无缓冲输入 (b) 缓冲区放在用户空间 (c) 缓冲区在核心空间,然后被复制到用户空间 (d) 在内核空间有双缓冲区 2)引入缓冲的方式 3)设置的缓冲种类 单缓冲(single buffer):CPU和外设轮流使用,一方处理完之后等待对方处理。 可适当匹配CPU 与外设的处理速度,但缓冲区是临界资源,设备之间的处理无法并行。 双缓冲(double buffer):CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。 环形缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。 缓冲池(buffer pool) :将缓冲区连起来统一管理,每个缓冲区既可用作输入又可用作输出. 缓冲示意图: 4)如何适当地使用缓冲 缓冲技术在I/O控制中使用很普遍,但数据传递中太多的缓冲会影响到系统性能.    关于在网络中多次复制一个数据包的问题 I/O中的错误报告问题  建立I/O错误处理机制,尽量将错误在底层处理  分别处理不同的错误(如编程错误/I/O设备错误) 分配与释放专用设备 根据设备使用特性建立分配与释放原则(独享设备/共享设备),直接释放或队列管理. 建立与设备无关的数据传递格式 不同设备数据传递格式不同,但须用软件隔离此特性,使上层软件不考虑设备访问中的这一特性。 5.用户空间的I/O软件 使用I/O访问须支持在用户空间运行I/O软件,因为I/O访问库程序是与用户程序关联在一起的,如何实现:  OS提供 I/O访问库,以系统调用方式向用户提供接口:printf(“the sgjsgw %3d is %6d\n”,i,i*i);需调用:write(fd,buffer,nbytes)完成.  Spooling技术(假脱机,后叙)  对于独占设备常采用spooling技术,I/O缓存实现.  用守侯进程(daemon)+假脱机目录技术,用户进程将需要输出的内容放入假脱机目录, daemon是使用外设的唯一进程. Spooling工作原理 预输入模块:将作业输入到输入井中; 缓输出模块:将作业结果缓冲式输出到独享设备上; 作业调度模块:控制作业从输入井中取数,向输出井中送数; 输入、输出井:在磁盘上开辟的两个 “井”区域。 归纳:I/O系统包含的层次与功能  完成逻辑设备与物理设

文档评论(0)

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

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

1亿VIP精品文档

相关文档