`

设备驱动原理

阅读更多
驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。操作系统不同,硬件的驱动程序也不同,各个硬件厂商为了保证硬件的兼容性及增强硬件的功能会不断地升级驱动程序。如:Nvidia 显卡芯片公司平均每个月会升级显卡驱动程序2-3次。驱动程序是硬件的一部分,当你安装新硬件时,驱动程序是一项不可或缺的重要元件。凡是安装一个原本不属于你电脑中的硬件设备时,系统就会要求你安装驱动程序,将新的硬件与电脑系统连接起来。驱动程序扮演沟通的角色,把硬件的功能告诉电脑系统,并且也将系统的指令传达给硬件,让它开始工作。

  当你在安装新硬件时总会被要求放入“这种硬件的驱动程序”,很多人这时就开始头痛。不是找不到驱动程序的盘片,就是找不到文件的位置,或是根本不知道什么是驱动程序。比如安装打印机这类的硬件外设,并不是把连接线接上就算完成,如果你这时候开始使用,系统会告诉你,找不到驱动程序。怎么办呢?参照说明书也未必就能顺利安装。其实在安装方面还是有一定的惯例与通则可寻的,这些都可以帮你做到无障碍安装。

  在Windows系统中,需要安装主板、光驱、显卡、声卡等一套完整的驱动程序。如果你需要外接别的硬件设备,则还要安装相应的驱动程序,如:外接游戏硬件要安装手柄、方向盘、摇杆、跳舞毯等的驱动程序,外接打印机要安装打印机驱动程序,上网或接入局域网要安装网卡、Moden甚至ISDN、ADSL的驱动程序。说了这么多的驱动程序,你是否有一点头痛了。下面就介绍Windows系统中各种的不同硬件设备的驱动程序,希望能让你拨云见日。

  在Windows 9x下,驱动程序按照其提供的硬件支持可以分为:声卡驱动程序、显卡驱动程序、鼠标驱动程序、主板驱动程序、网络设备驱动程序、打印机驱动程序、扫描仪驱动程序等等。为什么没有CPU、内存驱动程序呢?因为CPU和内存无需驱动程序便可使用,不仅如此,绝大多数键盘、鼠标、硬盘、软驱、显示器和主板上的标准设备都可以用Windows自带的标准驱动程序来驱动,当然其它特定功能除外。如果你需要在Windows系统中的DOS模式下使用光驱,那么还需要在 DOS模式下安装光驱驱动程序。多数显卡、声卡、网卡等内置扩展卡和打印机、扫描仪、外置Modem等外设都需要安装与设备型号相符的驱动程序,否则无法发挥其部分或全部功能。驱动程序一般可通过三种途径得到,一是购买的硬件附带有驱动程序;二是Windows系统自带有大量驱动程序;三是从 Internet下载驱动程序。最后一种途径往往能够得到最新的驱动程序。

  供Windows 9x使用的驱动程序包通常由一些.vxd(或.386)、.drv、.sys、.dll或.exe等文件组成,在安装过程中,大部分文件都会被拷贝到 “Windows System”目录下。

  Windows怎样知道安装的是什么设备,以及要拷贝哪些文件呢?答案在于.inf文件。.inf是从Windows 95时代开始引入的一种描述设备安装信息的文件,它用特定语法的文字来说明要安装的设备类型、生产厂商、型号、要拷贝的文件、拷贝到的目标路径,以及要添加到注册表中的信息。通过读取和解释这些文字,Windows便知道应该如何安装驱动程序。目前几乎所有硬件厂商提供的用于Windows 9x下的驱动程序都带有安装信息文件。事实上,.inf文件不仅可用于安装驱动程序,还能用来安装与硬件并没有什么关系的软件,例如Windows 98支持“Windows更新”功能,更新时下载的系统部件就是利用.inf文件来说明如何安装该部件的。

  在安装驱动程序时,Windows一般要把.inf文件拷贝一份到“Win-dowsInf”或“WindowsInfOther”目录下,以备将来使用。Inf目录下除了有.inf文件外,还有两个特殊文件Drvdata.bin和Drvidx.bin,以及一些.pnf文件,它们都是Windows 为了加快处理速度而自动生成的二进制文件。Drvdata.bin和Drvidx.bin记录了.inf文件描述的所有硬件设备,也许朋友们会有印象:当我们在安装某些设备时,经常会看到一个“创建驱动程序信息库”的窗口,此时Windows便正在生成这两个二进制文件。

  Windows 9x专门提供有“添加新硬件向导”(以下简称硬件向导)来帮助使用者安装硬件驱动程序,使用者的工作就是在必要时告诉硬件向导在哪儿可以找到与硬件型号相匹配的.inf文件,剩下的绝大部分安装工作都将由硬件安装向导自己完成。

  给硬件设备安装驱动程序对Windows 9x用户来说并不是一件陌生事,在安装或重装Windows时需要安装驱动程序,在购买了某些新硬件之后也需要安装驱动程序。如果驱动程序安装不正确,系统中某些硬件就可能无法正常使用。虽然Windows 9x支持即插即用,能够为用户减轻不少工作,但由于PC机的设备有非常多的品牌和型号,加上各种新产品不断问世,Windows不可能自动识别出所有设备,因此在安装很多设备时都需要人工干预
分享到:
评论

相关推荐

    GPIO设备驱动原理

    GPIO(General Purpose Input/Output)设备驱动原理是嵌入式Linux系统中不可或缺的一部分,它使得应用程序能够通过操作系统与硬件的GPIO引脚进行交互,实现对这些引脚的输入输出控制。在Linux系统下,设备驱动通常...

    设备驱动程序概论 linux

    1. Linux设备驱动原理 在Linux中,应用程序对设备的操作,例如读取、写入或控制,都是通过系统调用传递给设备驱动程序。这些系统调用包括open、read、write、ioctl等。设备驱动程序接收这些请求,处理与硬件交互的...

    cp.zip_vb设备驱动_驱动_驱动加载

    在IT领域,设备驱动是操作系统与硬件之间的重要...这涉及到VB编程、Windows API调用、设备驱动原理等多个方面。压缩包中的文件可能是相关教程、代码示例或者实际的VB驱动项目,提供了一条学习和实践VB驱动编程的路径。

    inux设备驱动开发详解

    2. **设备驱动原理** - 设备分类:硬件设备分为字符设备、块设备和网络设备等,每种设备都有其特定的驱动模型。 - 总线与驱动:讲解PCI、USB、I2C等总线技术,以及对应的设备驱动编写方法。 - 设备文件:理解设备...

    Linux设备驱动开发第2版

    2. **设备驱动原理**:讲解设备驱动程序的角色和功能,如中断处理、DMA(直接内存访问)、I/O端口访问、系统总线和设备寻址等。此外,还会探讨同步和异步通信机制,如信号量、互斥锁、条件变量等。 3. **字符设备...

    TFT驱动原理 TFT驱动原理 TFT驱动原理

    总的来说,TFT驱动原理是液晶显示技术的核心,深入理解这一原理有助于设计出性能更优的显示设备。台湾的TFT开发培训教材因其实践性和专业性,对于工程师和研究者来说是一份宝贵的参考资料。通过学习,我们可以掌握...

    linux 添加字符设备驱动程序及测试程序

    在Linux操作系统中,添加字符设备驱动程序是一...这个过程中,理解和掌握Linux内核机制、设备驱动原理以及C语言编程是必不可少的。通过这样的实践,我们可以更好地理解操作系统如何与硬件交互,以及如何扩展系统功能。

    Linux设备驱动程序第三版

    本书的特点在于其丰富的插图和高清的文字说明,使得抽象的内核概念和设备驱动原理变得生动易懂。英语原版保持了原汁原味的技术描述,对于提高专业英语阅读能力也大有裨益。 在Linux设备驱动的领域,理解设备驱动的...

    LINUX设备驱动程序

    Android作为基于Linux的操作系统,其设备驱动的原理与纯Linux环境类似,但还需考虑Android特有的HAL(硬件抽象层)和服务框架。开发者可能会从中了解到如何在Android平台上编写和调试设备驱动,以及如何在开发板上...

    CS8900以太网设备驱动c++源码

    CS8900以太网设备驱动是一款基于C++编程...通过对这些关键点的分析,我们可以深入了解CS8900以太网设备驱动的工作原理,这对于学习网络驱动开发、设备驱动原理,以及提升嵌入式系统的软硬件协同能力都是非常有益的。

    Linux设备驱动第3版(中文版)

    总的来说,《Linux设备驱动第3版(中文版)》涵盖了从基础的设备驱动原理到高级的驱动设计技巧,是学习Linux设备驱动开发的权威指南。无论你是初学者还是经验丰富的开发者,这本书都将为你提供宝贵的指导和启示。通过...

    Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介) - Linux设备驱动程序

    在Linux操作系统中,设备驱动...通过理解和掌握这些底层原理,开发者能够更好地编写和调试设备驱动程序,提升系统的稳定性和性能。在实际工作中,了解设备模型对于进行设备驱动开发、系统优化以及故障排查都至关重要。

    s3c2410的字符型设备驱动程序设计.pdf

    《S3C2410的字符型设备驱动程序设计》是一份关于嵌入式Linux系统中设备驱动程序开发的课程设计报告。该报告详细介绍了如何设计针对S3...这份报告对于理解Linux设备驱动原理和S3C2410平台的驱动开发具有很高的参考价值。

    如何编写Linux设备驱动程序

    编写Linux设备驱动程序需要了解Linux的设备驱动程序的工作原理和编写步骤,同时也需要了解设备驱动程序的分类、设备文件的属性和设备号、系统调用和驱动程序的关联等知识点。只有通过不断的学习和实践,我们才能编写...

    Linux设备驱动程序

    1. **Linux内核概述**:介绍Linux内核的基本结构、工作原理以及与设备驱动的关系,包括内核模块加载、系统调用接口等。 2. **设备模型**:讲解Linux设备模型,如总线、设备和驱动模型,如何通过udev管理系统识别和...

    linux设备驱动程序 (中文第二版)

    这本书详细介绍了Linux环境下设备驱动的基本原理、编程技巧以及实际案例,帮助读者掌握设备驱动的核心概念和技术。 在Linux操作系统中,设备驱动程序扮演着至关重要的角色,它们作为操作系统与硬件设备之间的桥梁,...

    宋宝华 linux设备驱动开发

    这本书深入浅出地讲解了Linux设备驱动开发的基本概念、原理以及实战技巧,旨在帮助读者理解和掌握如何为各种硬件设备编写驱动程序,以实现Linux操作系统与硬件之间的有效通信。 在Linux系统中,设备驱动是操作系统...

    Linux设备驱动开发详解:基于最新的Linux4.0内核,linux设备驱动开发详解pdf,LINUX

    《Linux设备驱动开发详解》是一本深度探讨Linux内核驱动程序开发的专业书籍,它以Linux 4.0内核为背景,为驱动工程师提供了一条深入理解与实践Linux设备驱动的路径。这本书涵盖了许多关键的知识点,对于想要在Linux...

    Linux设备驱动开发 IDE驱动

    在Linux系统中,设备驱动是操作系统与硬件之间的重要桥梁,它负责管理硬件资源,使得操作系统能够有效地控制硬件设备。在本教程中,我们将探讨Linux设备驱动开发中的IDE(Integrated Development Environment)驱动...

Global site tag (gtag.js) - Google Analytics