四、设备与文件管理应用程序设计..pptVIP

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
四、设备与文件管理应用程序设计.

主讲老师:刘志强 四、设备与文件管理应用程序设计 设备管理、文件管理于人机接口管理的相关概念 设备管理程序设计 文件设备管理程序设计 人机接口管理程序设计 1. 设备管理与程序设计 主要任务 根据确定的设备分配原则对设备进行分配,使设备与主机能够并行工作,为用户提供良好的设备使用界面,以提高设备与设备之间,设备与CPU之间,进程与进程之间的并行性,从而提高整个操作系统的效率。 设备和内存之间数据传输方式 操作系统的设备管理程序通过四种控制方式完成设备与内存之间的数据传送。 1.程序直接控制方式 2.中断控制方式 3.DMA方式 4.通道方式 (1)循环探测I/O方式 通过设置一个测试I/O设备“忙/闲”状态标志的触发器。若它置“闲”,则执行I/O操作,若它置“忙”,则CPU不断对它进行监测,直至设备“闲”下来为止。在早期计算机系统中主要采用这种方式。 由于CPU速度比I/O设备速度高得多,而循环测试I/O方式使得CPU与外部设备只能串行工作,因此CPU绝大部分时间都处于等待I/O设备完成的循环测试中,CPU资源浪费极大。 优点: 管理简单 缺点: 浪费了CPU资源 (2)中断处理方式 为了克服循环测试方式的缺点(CPU必须不断主动测试I/O设备是否空闲),引入中断处理技术。该方式的核心就是使I/O设备具有主动“汇报”的能力;每当完成I/O操作后,便给CPU发一个通告信号。只有当CPU接到I/O设备中断请求后,才处理I/O操作。 优点: 速度快,提高了资源的利用率。 缺点:I/O操作还依赖于CPU,如果I/O处理频繁,CPU也将很忙。特别是对字符设备,传送一个字符,就要响应一次中断处理;若字符I/O设备很多、传输量很大时,CPU可能完全陷入I/O处理中而不能自拔。 ⑶DMA方式(Direct Memory Access) 中断方式只能提高CPU的利用率,但在传送数据量大、速度高的情况下,其处理效率就不理想了。 目前在块设备的I/O系统中,采用DMA方式。它是一种简单的通道方式,即在硬件的支持下,通过占用总线控制权,实现信息交换。这种方法并不中断当前CPU的工作,而只是在CPU暂停的几个周期内由DMA控制器实现信息交换。即DMA为具有部分CPU功能的装置。 优点:I/O操作处理速度快。 缺点: DMA方式只能完成简单的数据传输,不能满足更复杂的I/O操作要求,在大、中型计算机系统中,普遍采用I/O处理机来管理外部设备和主存之间的信息交换。 (4)通道(Channel)方式 要想把CPU从繁忙的杂务中解放出来,必须使I/O设备的管理不再依赖于CPU。“通道”是具有相对独立的I/O处理能力的装置。如大型机的前端机,PC机的Intel 8090(I/O通道)等。在通道方式下,I/O处理变成了处理机之间的通讯问题。 在采用通道方式的I/O系统中,CPU有两个作用:一是将I/O操作任务下达给通道,由通道代替CPU专门处理I/O工作;二是随时了解通道、控制器和设备工作的情况。 设备管理示意图 缓冲技术与设备分配 缓冲技术 单缓冲、双缓冲、多缓冲和单缓冲池 设备分配 专门的数据结构 最佳的设备分配原则和策略 设备驱动程序 例3-8 光驱管理程序 算法分析 ① 通过使用媒体控制接口(MCI) 的API函数,实现对光驱的操作。 ② 编写命令行式的程序,格式为: 光驱操作命令 光驱号 操作参数 ③ 接收命令行的argv[1]参数,代表光驱盘符,和argv[2]参数,代表操作命令(O表示打开,C表示关闭); ④ 根据argv[2]参数的值,分别传递argv[1]参数调用函数OnCdopen打开光驱和OnCdclose关闭光驱。 解题思路 使用“mmsystem.h”中的媒体控制接口(MCI) API函数; MCI_OPEN_PARMS //打开光驱参数结构体 MCI_STATUS_PARMS //光驱状态参数结构体 ZeroMemory函数 //光驱参数赋零,将光驱类型 //参数设为CD_AUDIO mciSendCommand函数 //发送设备打开命令 根据命令参数打开光驱和关闭光驱 最后释放设备存储。 对话框框架程序用到的元素 MCI_OPEN_PARMS结构体 MCI_STATUS_PARMS结构体 mciSendCommand函数 ZeroMemory函数 结构体说明—光驱管理程序 typedef struct tagMC

您可能关注的文档

文档评论(0)

2017meng + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档