0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈电脑驱动程序的工作原理 详解电脑驱动程序意义

ss 作者:工程师谭军 2018-09-19 08:41 次阅读

本文主要是关于电脑驱动程序的相关介绍,并着重对电脑驱动程序的工作原理及意义进行了详尽的阐述。

电脑驱动程序

1 驱动程序是什么

驱动程序的概念,驱动程序实际上是一段能让电脑与各种硬件设备通话的程序代码。如果一个硬件只依赖操作 系统而没有驱动程序,这个硬件就不能发挥其特有的功效。换言之,驱动程序是硬件和操作系统 之间的一座桥梁,由它把硬件本身的功能告诉给操作系统,同时也将标准的操作系统指令转化成 特殊的外设专用命令,从而保证硬件设备的正常工作。

驱动程序也有多种模式,比较熟悉的是微软的Win32驱动模式,无论使用的是Windows 9x系列, 还是Windows XP/2000操作系统,同样的硬件只需安装其相应的驱动程序就可以用了。我们常见到 For 9x或For NT/2000等驱动程序,由于这两种操作系统的内核是不一样的,需要针对Windows酌不 同版本进行修改。而无须根据不同的操作系统重新编写驱动,这就给厂家和用户带来了极大的方便。

有时候在找到某个硬件型号的驱动程序后,会出现VxD和WDM两种驱动。其中,VxD驱动 是一款虚拟驱动程序,类似于DOS下的驱动程序,如果你使用的是Windows 9x系统,使用VxD 驱动程序会发挥出硬件的最佳性能;而WDM驱动则是支持更多的新设备,可以增强系统性能和 稳定性,在Windows XP/2000操作系统中只支持WDM驱动。 以上内容那个是解答驱动程序是什么的问题,下面接着讲如何下载驱动程序,驱动程序怎么安装的具体方法。

2 为什么安装驱动程序

虽然Windows XP/7系统能够识别一些硬件设备,并为其自动安装驱动程序。但是默认的驱 动程序一般不能完全发挥硬件的最佳功能,这时就需要安装生产厂商提供的驱动程序。

另外,有些硬件设备Windows XP/7系统无法识别,就无法自动安装其需要的驱动程序,这 些都需要用户安装设备驱动程序。如图15-1所示为无法识别被打上黄色感叹号的硬件设备。

3 如何获得驱动程序

获取硬件的驱动程序主要有以下几种方法。

1.购买硬件时附带的安装光盘

购买硬件设备时,包装盒内带有一张驱动程序安装光盘。将光盘放入光驱后,会自动打开一 个安装界面引导用户安装相应的驱动程序,选择相应的选项,即可安装相应的驱动程序。

电脑驱动程序的工作原理

电脑驱动程序的工作原理:

驱动程序的定义 是一种可以使计算机和设备通信的特殊程序,可以 说相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作 ,假如某设备的驱动程序未能正确安装,便不能正常工作;

因此,驱动程序被誉为“ 硬件的灵魂”、“硬件的主宰”、和“硬件和系统之间的桥梁”等。 刚安装好的系统操作系统,很可能驱动程序安装得不完整。硬件越新,这种可能性越大。菜菜熊之前看到的“图标很大且颜色难看”就是没有安装好驱动的原因;

在软件测试中 :在自底向上测试中,要编写称为测试驱动的模块调用正在测试的模块。 测试驱动模块以和将来真正模块同样的方式挂接,向处于测试的模块发送测试用例数据,接受返回结果,验证结果是否正确。 驱动程序的作用 随着电子技术的飞速发展,电脑硬件的性能越来越强大;

驱动程序是直接工作在各种硬件设备上的软件,其“驱动”这个名称也十分形象的指明了它的功能;

正是通过驱动程序,各种硬件设备才能正常运行,达到既定的工作效果。

驱动程序的组成

驱动程序 简单的话就是识别和正常运行各硬件的软件,有一些朋友对驱动程序的安装都很畏惧,也有不少对驱动程序较感兴趣,那么驱动是由什么组成的呢?

一般操作系统Windows,它的驱动程序由后缀名为drv、vxd、sys、dll、exe、ini、inf等种类的文件组成,其中.drv、.vxd、.dll、.inf等文件是许多驱动程序的核心文件。而其中后缀名为inf的驱动文件对电脑更为重要!

inf文件,从Win95开始使用的一种存放设备安装信息的文件,它用特定语法的文字来表明要安装的设备类型型号及厂商,以及需要安装的文件及上标路径或要添加到注册表中的信息。

大家可以看到几乎所有系统驱动程序中都有inf这个文件,硬件厂商他自己开发的驱动,这种驱动一般可以最大限度地发挥其产品硬件效能,而且一些大厂家,其驱动的功能也就越强大和完善,它一般随该产品的随机光盘或软盘提供。

另外,硬件设备中的核心芯片的制造厂家,也提供硬件设备的驱动程序。这些驱动程序,因为适合于所有采用该核心芯片的产品,所以大家又将其称之为“公版”驱动。这种驱动稳定性、兼容性都很不错!

驱动程序的意义

在操作系统当中,设备驱动程序是一种非常重要的I/O软件。设备驱动程序是直接同IO设备打交道,直接对它们进行控制的软件模块。设备驱动程序的基本任务是接收来自上层的IO软件的抽象请求,并且去执行这个请求,例如,抽象的读写操作,设备的初始化操作等。上层的IO软件通过这些抽象的函数接口与设备驱动程序打交道,而这些接口是标准的、稳定不变的,而硬件设备的具体细节被封装在设备驱动程序内部。这样,如果硬件设备发生变化,只要更新相应的设备驱动程序即可,不会影响到上层软件对它的使用。

设备驱动程序与具体的设备类型密切相关。每个IO都需要相应的设备驱动程序,而每一个设备驱动程序也只能处理一种类型的设备,因为对不同类型的设备,他们的控制方式不同的。例如,对于一个鼠标设备驱动程序来说,它需要从设备控制器中读取各种各样的信息,包括鼠标的移动位置、那个键被按下等。而对于一个磁盘的驱动程序而言,它为了进行磁盘的读写操作就必须知道扇区、磁道、柱面、磁头等各种各样的参数,并使用这些参数来控制磁盘控制器。

一般而言,在具体实现一个设备驱动程序的时候,可以采用一种通用的结构。

(1)检查输入的参数是否有效,如果无效,就返回一个出错报告;如果有效,就把输入的的抽象参数转换而控制设备所需要的具体参数。

(2)检查设备当前是否空闲,如果设备正忙,那么这一次的IO请求就暂时没法完成,所以把它加入等待队列(阻塞队列),稍后在处理;如果设备空闲,再检查硬件的状态,看是否具备了运行的条件。

(3)设备驱动程序向设备控制器发出一连串的命令,也就是说,把这些命令写入到控制器的各个寄存器中当中。

(4)在发出控制命令后,如果这个IO操作需要一定的时间,不能马上完成,那么驱动程序就会把自己阻塞起来,直到IO操作完成,并通过硬件产生一个中断,在这个中断处理程序里面把驱动程序唤醒加入到就绪队列中(如果cpu空闲则就获得cpu运行)。

(5)IO操作完成以后,设备驱动程序还有检查出错的情况。若一切正常,就返回一些状态信息给调用者。如果这是一个输入的操作,还要把输入的数据上传给上一层的系统软件。

在实时内核的IO系统中,用户的IO请求在到达设备驱动程序之前,通常只做少量的处理。事实上,实时内核的IO系统的作用就像一个转换表,把用户对IO的请求转换到相应的设备驱动程序中。这样,设备驱动程序就能获得最原始用户的请求,并对设备进行操作。

结语

关于电脑驱动程序的相关介绍就到这了,如有不足之处欢迎指正。

相关阅读推荐:8155驱动程序

相关阅读推荐:芯片组驱动不装有什么影响

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动程序
    +关注

    关注

    19

    文章

    764

    浏览量

    47124
  • IO设备
    +关注

    关注

    0

    文章

    21

    浏览量

    7322
收藏 人收藏

    评论

    相关推荐

    WINCE驱动程序开发指南

    CE驱动程序所有驱动皆为动态链接库驱动实现中可以调用所有标准的APICE驱动程序模型本机驱动程序流接口
    发表于 07-07 15:06 41次下载

    索尼k750c驱动程序下载

    K750驱动程序: 先把压缩包解压。 MODEM SCRIPT这个是接连电脑上网的驱动程序 DRIVERS-USB CABLE是USB驱动程序还有其他的
    发表于 07-15 16:55 144次下载

    实时系统VxWorks下设备驱动程序的编写详解

    实时系统VxWorks下设备驱动程序的编写详解
    发表于 03-29 12:26 15次下载

    天语手机usb驱动程序

    天语手机usb驱动程序:天语手机usb驱动程序下载
    发表于 04-30 12:36 792次下载

    Windows CE下GPIO驱动程序的设计与应用

    Windows CE 流接口设备驱动程序是一种基本的设备驱动程序。本文以S3C2410 开发板中的GPIO 流接口驱动为例,说明了驱动程序所包含的函数以及如何在应用
    发表于 01-06 16:02 48次下载

    TKScope DK CCS驱动程序

     TKScope DK CCS驱动程序 驱动程序
    发表于 11-15 16:45 0次下载

    NEC笔记本电脑驱动程序下载

    NEC笔记本电脑驱动程序下载
    发表于 08-12 07:56 8816次阅读

    HC6800的USB驱动程序

    HC6800的USB驱动程序HC6800的USB驱动程序HC6800的USB驱动程序HC6800的USB驱动程序HC6800的USB驱动程序
    发表于 12-28 15:28 0次下载

    第9章 Linux驱动程序设计

    9.1 Linux 设备驱动程序 9.2 Linux经典Hello world驱动程序 9.3 Linux字符设备驱动程序实例
    发表于 04-11 14:56 3次下载

    CDM20600驱动程序,USB驱动程序和并口驱动应用程序(免费下载)

    本文档的主要内容是CDM20600驱动程序,USB驱动程序和并口驱动应用程序(免费下载)详细资料概述
    发表于 06-06 10:00 56次下载
    CDM20600<b class='flag-5'>驱动程序</b>,USB<b class='flag-5'>驱动程序</b>和并口<b class='flag-5'>驱动</b>应用<b class='flag-5'>程序</b>(免费下载)

    什么是驱动程序

    驱动程序一般指的是设备驱动程序,是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的
    的头像 发表于 09-06 18:31 3.4w次阅读

    Linux设备驱动程序的平台驱动程序和字符驱动程序介绍

    了解Linux设备驱动程序的基础知识,重点介绍平台驱动程序和字符驱动程序。 提出了简单的平台驱动程序实现和简单的字符驱动程序实现。
    的头像 发表于 11-27 06:32 3957次阅读

    FX3驱动程序FX3驱动程序

    FX3驱动程序FX3驱动程序
    发表于 03-22 22:35 102次下载
    FX3<b class='flag-5'>驱动程序</b>FX3<b class='flag-5'>驱动程序</b>

    驱动程序开发步骤

    驱动程序开发步骤 编写一个驱动程序的大致流程如下: 1)查看原理图,数据手册,了解设备的操作方法; 2)在内核中找到相近的驱动程序,作为模板来开发,有时要从零开始; 3)实现驱动程序
    发表于 12-29 14:51 6168次阅读

    USB驱动程序

    USB驱动程序
    发表于 08-17 11:47 53次下载