電腦驅動,電腦什么驅動都沒有了怎么辦( 十 )

五、驅動程序的開發驅動程序的開發工作是很具挑戰性的 , 因為必須配合著硬件與軟件上相當明確與高級的平臺技術 。由于大多數的驅動程序(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補丁 , 這一步很重要 , 也是很多造成系統不穩定的直接原因 。

推薦閱讀