电脑驱动,电脑什么驱动都没有了怎么办( 十 )

五、驱动程序的开发驱动程序的开发工作是很具挑战性的 , 因为必须配合著硬件与软件上相当明确与高级的平台技术 。由于大多数的驱动程序(device drivers)运行在内核模式(kernel mode) , 软件的错误经常造成系统严重的不稳定 , 例如蓝屏(blue screen) , 这跟过去的用户模式(user mode)下的程序设计(例如Delphi、VB、Java)有明显的差异性 。Windows平台为了大量减轻驱动程序开发人员的负担 , 微软不断的改进驱动程序的开发软件与架构 , 从早期复杂深晦的VxD , 到Windows XP上的Windows Driver Model(以下简称WDM)开发架构 , 如今Windows Driver Foundation(以下简称WDF)已成为新一代的Windows平台驱动程序发展架构 , 这个架构大量简化了驱动程序的开发流程 , 更符合面向对象的精神 , 此架构包含了UserMode Driver Framework 与 Kernel Mode DriverFramework两种开发模式 。在开发Windows平台上的驱动程序之前 , 必须先安装DDK包 , 目前DDK最新版本为5600 , 同时支持WDM与WDF两种架构 。Linux平台Linux作为UNIX的一个变种 , 继承了UNIX的设备管理方法 , 将所有的设备是具体的文件 , 通过文件系统层对设备进行访问 。这种设备管理方法可以很好地做到“设备无关性” , 可以根据硬件外设的更新进行方便的扩展 。Linux中的设备大致可以分为三类:字符设备 , 块设备 , 网络设备 。字符设备没有缓冲区 , 以字节为单位顺序处理数据 , 不支持随机读写 。常见的字符设备如普通打印机、系统的串口、终端显示器、嵌入式设备中的简单按键、手写板等 。块设备是指在输入输出时数据处理以块为单位的设备 , 一般都采用缓冲技术 , 支持数据的随机读写 。典型的块设备有硬盘、光驱等 。字符设备和块设备面向的上一层是文件系统层 。对用户来说 , 块设备和字符设备的访问接口都是一组基于文件的系统调用 , 如read, write等 。网络设备与块设备和字符设备不同 , 网络设备面向的上一层是网络协议层 。设备文件是一个唯一的名字(如eth0) , 在文件系统中不存在对应的节点项 。内核和网络驱动程序之间的通信使用的是一套和数据包传输相关的函数 , 而不是read, write等 。每一个设备都有一对主设备号、次设备号的参数作为唯一的标识 。主设备号标识设备对应的驱动程序;次设备号用来区分具体驱动程序的实例 。主设备号的获取可以通过动态分配或指定的方式 。在嵌入式系统中外设较少 , 一般采用指定的方式 。n [编辑本段]驱动程序的一般安装顺序驱动程序安装的一般顺序:主板芯片组(Chipset)→显卡(VGA)→声卡(Audio)→网卡(LAN)→无线网卡(Wireless LAN)→红外线(IR)→触控板(Touchpad)→PCMCIA控制器(PCMCIA)→读卡器(Flash Media Reader)→调制解调器(Modem)→其它(如电视卡、CDMA上网适配器等等) 。不按顺序安装很有可能导致某些软件安装失败 。第一步 , 安装操作系统后 , 首先应该装上操作系统的Service Pack(SP)补丁 。我们知道驱动程序直接面对的是操作系统与硬件 , 所以首先应该用SP补丁解决了操作系统的兼容性问题 , 这样才能尽量确保操作系统和驱动程序的无缝结合 。第二步 , 安装主板驱动 。主板驱动主要用来开启主板芯片组内置功能及特性 , 主板驱动里一般是主板识别和管理硬盘的IDE驱动程序或补丁 , 比如Intel芯片组的INF驱动和VIA的4in1补丁等 。如果还包含有AGP补丁的话 , 一定要先安装完IDE驱动再安装AGP补丁 , 这一步很重要 , 也是很多造成系统不稳定的直接原因 。

推荐阅读