操作系统设计与实现教材(PPT 72页).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* DMA控制I/O的工作流程 I/O硬件管理 用户进程发出系统调用后进入阻塞态,CPU直接设置DMA端口 CPU与DMA并行工作,DMA负责将用户数据传送给打印机 当DMA完成所有工作后,向CPU发出中断,CPU响应后唤醒用户进程 优点:只有一次中断、DMA与CPU并行提高了系统运行效率 缺点:DMA速度较慢,如果CPU并不繁忙,那么DMA机制并无太大意义 * DMA工作方式的深入分析 DMA内部结构的差异 单路I/O连接:DMA中只有一组寄存器,只能连接一个I/O设备 多路I/O连接:DMA中有多组寄存器,可同时连接多个I/O设备 多路I/O连接模式下,DMA内部也需要进行适当的调度(轮转、优先级) DMA工作方式的差异 数据总线的工作模式:块模式和字符模式,传输数据的速率不同 字符模式(周期窃取):DMA窃取一个总线周期以传输一个字,造成CPU轻微延迟 块模式(突发模式):DMA获得总线控制权后连续发出多个请求,提高总线利用效率 飞越模式:DMA内部存在数据缓冲,设备将数据发送给DMA,DMA再进行转发 DMA模式的权衡与分析 DMA保存的地址信息:绝大多数情况下DMA保存的是物理地址,CPU负责将用户地址转换为物理地址,然后将其设置到DMA中 DMA的数据缓冲:DMA内部也会使用数据缓冲,这样会大大提高I/O通信效率 DMA的优劣分析:DMA比CPU慢好多,简单的应用环境中,用CPU要比DMA好;只有存在频繁的多道程序并发的情况下,DMA才会体现与CPU并行的作用 I/O硬件管理 * I/O通道机制的引入与实现 I/O通道(Channel)的概念 如何以高速、高效的方式控制I/O设备,是I/O管理的重要问题 DMA速度很慢,而且结构简单,无法执行相对复杂的程序 引入I/O通道(专门的处理机),可以运行由通道指令组成的通道程序 I/O通道的工作方式和分类 分为字节多路通道、选择通道、成组多路通道三种 I/O通道采取“窃取总线周期”的方式实现对I/O设备的控制和数据传输 I/O通道就是一个小型的处理机,和CPU共享内存 I/O通道接到CPU的指令后即启动通道命令/程序,独立于CPU控制I/O设备工作 I/O通道的结构组成 CAW:通道地址寄存器,用于记录通道程序在内存中的地址 CCW:通道命令寄存器,用于保存当前正在运行的通道命令 CSW:通道状态寄存器,用于保存命令执行后的结果 CDW:通道数据寄存器,用于存放传输的数据(起到缓冲的作用) I/O硬件管理 * 不同类型的I/O通道 I/O硬件管理 * 单通道与多通道 I/O硬件管理 * I/O软件原理 I/O软件的设计需求有哪些? 解决同步(阻塞)-异步(传输)的问题。 底层:如何传送控制命令?如何传输数据? 上层:如何向用户屏蔽此过程?如何调度I/O进程 实现对设备访问的错误处理。 简单情况:可在硬件底层解决的错误 复杂情况:无法有效解决,只能通知高层的错误 为便于人的使用,实现设备无关性——统一命名法。 如何让用户无需考虑各种设备的差别,采用相同的习惯来使用? 如何管理不同设备的统一命名?实现名称与设备的映射? I/O设备的缓冲管理 缓冲区的维护与使用;实时I/O设备中缓冲区的预存和实时性保持 实现对专有设备的和共享设备的有效管理 共享设备:如何记录共享状态? 专有设备:如何实现对专有设备的互斥性访问? I/O软件管理 * I/O软件体系结构 I/O软件管理 中断处理程序 底层硬件设备 设备驱动程序 用户I/O软件 设备无关软件 I/O请求 I/O响应 提供系统库调用,供人员使用;提供类似Spooling这样的精灵守护进程管理共享设备 命名、保护、阻塞、缓冲 建立设备寄存器、解决错误 处理中断信号 * 中断处理程序 控制I/O设备的基本方法 用户发出系统调用或直接调用I/O设备,然后用户进程阻塞 设备驱动程序启动I/O操作,然后自己阻塞 I/O设备完成操作后产生中断,对应的中断服务程序更新各种状态信息 用户进程恢复为就绪,继续运行 中断处理程序的工作过程 保存CPU现场信息:各类寄存器(最重要的是PSW) 为中断服务程序设定CPU上下文:TLB、内核堆栈等 应答中断控制器:屏蔽同类中断、打开其他中断 恢复中断服务进程的运行,完成对设备控制器接口的操作 操作结束后进行调度,改变用户进程状态,选择下一个运行程序 用户进程恢复正常运行,此时设备驱动程序无事可干,又陷入阻塞 I/O软件管理 * 设备驱动程序 设备驱动程序的特点 用来控制设备控制器的代码和指令,被称为设备驱动程序 目前的体系结构中,设备驱动程序属于操作系统的内核部分 操作系统实现过程中,需要提供标准化的接口函数,用于封装设备驱动程序 设备驱动的存在形式:与操作系统统一编译,或者运行时动态链接 设备驱动程序

文档评论(0)

138****8882 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7162041115000004

1亿VIP精品文档

相关文档