第4章IO设备管理.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断处理程序 if(count == 0) { unblock_user( ); } else { *printer_data_register = p[++i]; count --; } acknowledge_intereupt( ); return_from_interrupt( ); 执行过程 进程管理 * 第三十页,共八十一页。 中断驱动方式的基本思路是:用户进程通过 系统调用函数来发起I/O操作,并在发起后 阻塞该进程,调度其他的进程使用CPU。在 I/O操作完成时,设备向CPU发出中断,然后 在中断处理程序中做进一步的处理。在中断 驱动方式下,数据的每次读写还是通过CPU 来完成,但是当I/O设备在进行数据处理时, CPU不必等待,可以继续执行其他的进程。 进程管理 * 第三十一页,共八十一页。 4.2.3 直接内存访问方式 I/O读操作的典型过程: CPU向设备控制器发出命令,启动读操作; 设备控制器控制I/O设备完成此次读操作,并将数据保存在设备控制器内部的寄存器或缓冲区中,然后中断CPU; CPU把数据读入内存。 进程管理 * 第三十二页,共八十一页。 进程管理 * 第三十三页,共八十一页。 直接内存访问(Direct Memory Access,DMA)方式:在硬件上需要一个DMA控制器。 DMA控制器可以直接去访问系统总线,它能代替CPU去指挥I/O设备与内存之间的数据传送。 DMA控制器包含了一些寄存器,可被CPU来读或写。包括:一个内存地址寄存器、一个字节计数器,以及一个或多个控制寄存器(指明了I/O设备的端口地址、数据传送方向、传送单位,以及每一次传送的字节数)。 进程管理 * 第三十四页,共八十一页。 (本图摘自Andrew S. Tanenbaum: “Modern Operating Systems” ) 5. DMA工作原理 是否所有 设备都要 用DMA? 进程管理 * 第三十五页,共八十一页。 如果使用DMA,过程如下: CPU对DMA控制器进行编程,告诉它应把什么数 据传送到内存的什么地方。并向磁盘控制器发出 命令,让它去磁盘驱动器中读入所需的数据块, 保存到内部缓冲区中,并验证数据的正确性; DMA控制器通过总线向磁盘控制器发出一个读操 作的信号,并把将写入的内存地址打在总线上; 磁盘控制器取出一个字节,按该地址写入内存; 磁盘控制器向DMA发一个确认信号,DMA把内存 地址加1,把字节计数器减1。若计数器的值大于0 转第2步; DMA控制器向CPU发出一个中断,告诉它数据传 输已完成。 进程管理 * 第三十六页,共八十一页。 4.3 I/O软件 4.3.1 I/O软件的接口 头脑风暴(Brain Storm) 为了管理I/O设备,需要哪一些相关的 软件?这些软件各自完成何种功能, 相互的关系、组织结构又如何? 进程管理 * 第三十七页,共八十一页。 应用程序开发人员 程序/OS的接口 操作系统 程序员希望OS提供什么样的接口,有何特点? 键盘、鼠标、显示器、打印机、磁盘、磁带、光驱… 进程管理 * 第三十八页,共八十一页。 设备独立性:使得用户在编写程序、访问各种I/O设备时,无需事先指定特定的设备类型,各种类型的设备之间的差异由OS来处理,对用户是透明的。 统一命名:即用简单的字符串或整数的方式来命名一个文件或设备。例如在Unix当中,所有的文件和设备都采用相同的命名规则:路径名。 阻塞与非阻塞I/O:当进程启动一个系统调用后,是立即返回还是被阻塞起来,直到I/O操作完成。 进程管理 * 第三十九页,共八十一页。 Windows中的CreateFile()函数 创建或打开以下的某种对象:控制台、通信资源(如串口)、目录、磁盘设备(分区)、文件(软盘、硬盘、光盘)等; lp, // dwDesiredAccess, // 访问模式,读/写/执行等 dwShareMode, // 共享模式, lpSecurityAttributes, // 安全属性 dwCreationDisposition, // how to create dwFlagsAndAttributes, // 设备独立性。统一命名:“A:\\1.txt”、“C:\\2.txt”、“F:\\3.txt”、“COM1”、“\\.\A:”、“\\.\C:”、“CON”。 进程管理 * 第四十页,共八十一页。 阻塞与非阻塞I/O 阻塞:进程被阻塞起来,直到I/O操作完成 易于使用和理解 有些情形下不能满足要求 非

文档评论(0)

虾虾教育 + 关注
官方认证
内容提供者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档