- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
驱动作用
驱动的工作原理
一.DOS 时期 在窗口概念还没出现的时代,驱动出现就已经诞生。早期的BIOS通过常用的软件中断开放驱动程序的服务,如磁盘管理和键盘等。最初的DOS操作系统允许用户通过配置congfig.sys文件将新的驱动程序加载进操作系统内核。那个时代的用户一定深有体会,为了能让《仙剑奇侠传》有音乐效果,我们都曾不厌其烦地摆弄过DOS恼人的声卡驱动程序。由于这样的驱动安装方法过于繁琐,因此程序员便将相关的驱动程序直接嵌入到应用程序中,开发出软硬结合的程序。二.Windows 3.x 时期 早期的Windows仍然是运行在实模式状态下,充其量不过是增强版本的MS-DOS Shell而已,因此DOS和BIOS的驱动仍然最为重要。Inter 80286处理器的出现,使Windows能在保护模式中运行管理16MB内存空间,依靠在保护模式和实模式之间的切换来完成系统需求,我们把这种运行模式称之为Windows标准模式。 Inter 80386处理器的问世使Windows进化到增强模式,这是虚拟设备的概念逐渐形成。对应用程序而言虚拟机就像独立的个人电脑,拥有自己的键盘、鼠标、显示器等硬件。实际上经过所谓的虚拟化,数个虚拟机还是共享相同的硬件。三.Windows 95 时期 Windows95终结了DOS实模式的历史,是真正独立的32位操作系统。Win95使用数种不同的驱动驱动程序模型。在操作系统中,程序必须通过系统内核上的驱动来控制硬件,而这些驱动必须完全符合操作系统对驱动加载、连接、读写的规定,并且使用相关系统API(Application Programming Interface)函数来控制。Windows 95的驱动程序类型以VXD为中心VXD又称虚拟设备驱动。它不仅适用于硬件设备,还能虚拟出不存在的软件设备,如虚拟光驱。 所有运行Windows的程序都分为两个保护级:Ring0和Ring3。系统进程运行于Ring0级,这个保护级的程序拥有完全的系统控制权限,可对所有的系统资源进行访问与管理;普通应用程序运行与Ring3级,不允许对系统资源进行直接访问且很多操作系统也受到限制,如果程序强行访问的话,Windows就会给出出错提示并强制结束——我们会经常看到某些程序运行中出现常规保护错误等错误提示,也就是这个原因。 所有的Ring3级程序在Windows下都受到80×86保护模式的严格监视,使应用程序无法进行高级的操作,不过,VXD能使应用程序具有扩展操作系统的能力,开发人员通过让运行于Ring3级的普通程序加载具有Ring0级的VXD,从而实现底层控制。不幸的是,著名的CIH病毒就是利用了VXD技术才可以破坏主板BIOS。四.Windows NT 时期 Windows NT操作系统存在3种类型的驱动程序:1.虚拟设备驱动(Virtual device Driver),能让Win 16应用程序可以访问特定的I/O端口。2.GDI驱动,提供显示和打印所需的GDI函数。3.内核模式驱动(Kernel Mode Driver),也是Windows NT中唯一可对硬件中断和DMA进行操作的驱动。Windows NT的保护模式比Windows 95更加完善,它限制了普通应用程序的I/O操作且几乎不可能进入到Ring0层。虽然众多保护让程序开发者们头疼不已,但这些措施却使系统的稳定性提升到前所未有的高度。五.Windows 98/2000 时期 微软在1996年推出了全新的设备驱动类型——WDM(Windows Driver Model),取代了VXD成为Windows操作系统的核心。WDM由Windows NT的内核模式驱动发展而来增加了电源管理和即插即用的支持。 虽然Windows 98仍然支持VXD(已开始使用WDM),但微软极力推广WDM驱动方式并在Windows 2000系统中放弃了对VXD的支持。在微软随后的操作系统中,WDM模型被不断完善,已经成为驱动程序的主流。六.Windows XP/Server2003 Windows XP和Windows Server2003仍然沿用了WDM模型,不过不同操作系统的WDM内容并不相同。一般来说,新版本的WDM向下兼容。另外,微软宣称Windows Longhorn操作系统要推迟到2006年发布,但从预览版的情况和最新发布的Windows Longhorn设备驱动开发包(LDK)中,可预测Longhorn仍将使用WDM模型。看来,微软是要将WDM进行到底了。 通过上面的介绍,我们了解到驱动程序的重要性,但其工作原理却鲜为人知。驱动程序如何识别硬件?它是怎么被安装到系统中?即插即用和驱动程序有什么关系?我们以目前最主流的驱动模型——WDM模型为例来为大家揭开驱动世界的神秘面纱。
文档评论(0)