331外部设备与主机的连接-精选文档.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文档。上传文档
查看更多
利用缓冲首部的队列连接指针,可以将缓冲池中的缓冲区组织成3种队列: · 空闲缓冲队列:未使用的缓冲区队列。 · 输入缓冲队列:装满输入数据的缓冲区组成的队列。 · 输出缓冲队列:装满输出数据的缓冲区组成的队列。 缓冲池工作时,将按如下算法进行: (1)当设备有输入数据时,先从空闲队列中(队首)申请一个缓冲区——称为收容输入缓冲区,将输入数据写入收容输入缓冲区中;写满后,按一定规则(如FIFO)插入到输入缓冲队列中。 (2)当CPU(系统)要提取数据时,将从输入缓冲队列中(队首)申请一个缓冲区——称为提取输入缓冲区,从中读取数据;提取结束后,将该缓冲区插入到空闲队列。 (3)当CPU要输出数据时,先从空闲队列中(队首)申请一个缓冲区——称为收容输出缓冲区,将输出数据写入收容输出缓冲区中;写满后,按一定规则(如FIFO)插入到输出缓冲队列中。 (4)当设备要提取数据时,将从输出缓冲队列中(队首)申请一个缓冲区,从中读取数据——称为提取输出缓冲区;提取结束后,将该缓冲区插入到空闲队列。 上述收容输入缓冲区、提取输入缓冲区、收容输出缓冲区和提取输出缓冲区统称为工作缓冲区。与它们对应的输入、提取、输出操作,由相应的过程实现。 3.4.2 设备驱动程序 每一台外部设备的使用都要涉及DMA 或中断过程,并要借助一些特定的寄存器进行机器指令级的操作。但是,用户都是通过一些应用程序,使用简单的命令来使用外部设备的,不可能进行这样一些低级的操作。 另一方面,随着计算机应用的深入和广泛展开,计算机所使用的外部设备品种越来越多。即使同样一种用途的设备,由于生产厂家不用,型号不同,其操作方法也会不同。 操作系统只是设置了一些通用性的I/O操作和管理模块,与设备的具体操作关系密切的程序,往往是设备制造厂家在研制设备的同时开发的。这种程序就称为设备驱动程序。 1. 设备驱动程序的功能 设备驱动程序进行的处理工作,对不同的设备有所不同,但基本任务是启动指定设备,并且在启动设备之前完成一系列准备工作。一般地说,设备驱动程序的工作过程如下所述。 (1)将应用程序中的抽象要求转换为具体要求 设备是由设备控制器控制的。但是用户与上层软件的应用程序并不了解设备控制器的细节,而只能给它提出抽象要求——命令。而设备控制器又不能理解这些抽象要求。于是,驱动程序就肩负了中间转换作用,要将抽象要求转换为具体要求,确定将命令、数据和参数分别送到设备控制器的哪个寄存器。 (2)对I/O请求进行合法性检查 检查用户要求是否能为设备接受,是否属于设备的功能范围。 (3)读出并检查设备状态 启动设备控制器的条件是设备就绪,如对打印机要检查:电源是否合上、是否有纸等;对软盘驱动器要检查:有无磁盘、有无写保护等。 (4)传送必要的参数 如要提供本次传送的字节数等。 (5)设置工作方式 例如对于异步串行通信接口要设置:传输速率、奇偶检验方式、停止位宽度及数据长度等。 (6)启动I/O设备 完成上述工作后,即可向设备控制器发出启动命令。 2. 设备驱动程序的结构 一般说来,设备驱动程序应包含如下5部分: (1)设备标题(device header); (2)数据存储和局部过程(data storage local procedure); (3)策略过程(strategy procedure); (4)中断过程(interrupt procedure); (5)命令处理子程序(command processing)。 3. 设备驱动程序在I/O系统中的位置 下图给出了I/O系统的一般结构。自底向上,它由硬件、中断处理程序、设备驱动程序、与设备无关的系统软件以及用户空间软件等5个层次组成。图中的箭头给出了I/O部分的控制流。 与设备无关的系统软件的主要作用是在用户应用程序和与设备相关的程序之间提供一个统一的接口。它的具体作用如下所述。 用户空间软件 与设备无关的系统软件 设备驱动顺序 中断处理程序 硬件 I / O请求 I / O回答 (1)名字映射 通常,在操作系统的I/O用户中对输入输出设备和文件采取了统一的命名。与设备无关的系统软件的一个作用就是将一个名字映射到相应的设备驱动程序上。 (2)设备保护

文档评论(0)

开心就好 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档