驅動的境界

2021-09-07 07:52:54 字數 2421 閱讀 7664

skyfree

發表於 2008-9-28 21:53:42

1、驅動是什麼?

(1)基本境界,驅動就是乙個安裝包

最初很多人都是這樣認為的,至少我是,但不乏很多幹裝機幹了許多年的人還是這樣認為的,例如我們這科技市場的乙個「高手」,幹了7年的裝機還是認為驅動就是乙個安裝包,執行一下就行了。

處於這種境界時一般會按照硬體的型別,至少是按照硬體的「牌子」(例如ati或nvidia的顯示卡,至於什麼型號有些人並不一定知道)去搜尋驅動安裝包,得到安裝包後雙擊開始安裝,完事。

不過我並不是在否定或貶低這種認識,這種認識是並非是錯誤的,廠商提供驅動安裝包也是為了最大簡化驅動安裝複雜度、提高驅動安裝穩定性而做的,基本境界對驅動的理解和硬體廠商製作驅動安裝包的目的是吻合的。

(2)高階境界,驅動就是一堆散亂的以sys、dll、exe、cat等為字尾的檔案

一般人在手動使用windows提供驅動搜尋與安裝程式進行驅動搜尋與安裝至少一次後,即會對驅動產生上述的理解。

在這種境界下,漸漸的認識到了驅動並非像普通軟體那樣,只能採取固定的安裝方式。也慢慢的認識到,驅動的安裝是系統提供的一種基礎功能,這個基礎功能不隨驅動安裝包的型別、硬體的型別不同而改變。

達到這種境界的人有很多,基本上大多數的人都處在這一層。不過處於這一層的人也分化為兩類,一類人認為與驅動相關的所有的sys、dll、exe、cat等都是驅動必須的,至少絕大多數是必須的;另一類人則對每個sys、dll、exe、cat等檔案究竟是什麼作用有很有興趣。

一般而言,此層次第一類人在用別人的驅動包也會自己做一些驅動包,而第二類人在用自己的驅動包或在研究比較牛的驅動包。

(3)高階境界,驅動檔案與驅動inf有關,且並非所有的檔案都真的是「驅動檔案」

一般而言,只有上一層次中的第二類人會達到這個境界。在長期的驅動蒐集與研究工作中,在實踐達到一定程度後,逐漸的會對哪些檔案是真正關於驅動的、哪些檔案是很少用到的、哪些檔案非驅動檔案但卻是必須的有一定感悟。

達到這個境界的人,逐漸會開始對驅動檔案與驅動inf的關係有一定的認識,會嘗試去掉某些很少用的或基本無用的檔案,會嘗試簡縮驅動的總體體積等,甚至某些人可以對inf進行一定程度的修改與定製。

這種境界是很有成就感的,達到這種境界後就像封裝系統成功後的那種成就感一樣,只不過以前是在定製系統,而現在是在定製驅動。順道說一句,驅動裡也可以加你的oem資訊,嘿嘿。

(4)達人境界,驅動inf自己寫,驅動檔案自己改

達到這種境界的人相當少,對inf檔案理解到一定程度後可以完全自己寫inf,還可以根據自己驅動的應用,加強驅動中的某些部分,例如現在某些改版驅動就會加強opengl在遊戲中的效果。

這可能是玩驅動的人的最高境界了,不過或許也不是可望不可及的吧,希望有一天我們也能達到這個境界!

2、哪些檔案才是真正的「驅動檔案」

玩系統的最終層次,在於玩驅動和玩程式設計——當然,這是對我們大多數非專業從事驅動與程式設計事業的人而言的,其實驅動說到底也是程式設計。

有人熱衷於小玩意,例如改個ie圖示、減少滾動條次數、改個桌面加個自己的名字、改個oem資訊、裝個一鍵還原、裝3個防毒2個防火牆(……),當然,這些東西是必須要會的,但絕對不是會了這些就可以說自己能駕馭系統、駕馭驅動、駕馭計算機了。

要駕馭系統,其一就是要駕馭驅動。

為什麼我一直在強調我們是在玩,一是因為我們一直是在改別人的成品,從系統到驅動,雖然沒有一樣是我們創造的,但是我們無一不把他們改的更有意思了;二是因為「玩」是一種良好心態,如果把一切當成任務,那麼必然會失去最直接的動力——興趣。

好吧,言歸正傳。

驅動是乙個貫穿整個windows環境下的東西,無論我們現在是在玩xp的驅動,還是將來我們會玩vista甚至win7的驅動,至少在將來的10年裡,在windows的桌面級作業系統裡,驅動這個概念是不會有太大變化的。xp活了8年,再活2年沒問題,現在還有人在用2k;vista的研發花了大價錢,就算再不濟,微軟也不可能讓它倒的這麼快;既然win7也是桌面而非網路作業系統,那麼windows的這個模式還會存在至少10年。

雖然沒有萬用的東西,我們不可能讓xp的驅動在vista下有效,但是東西永遠是死的,人永遠是活的,只有方法、思想和精神是通用的。我們研究驅動的目的,在於掌握一種可以在windows下通用至少10年的方法與思想。玩驅動給我們這些從事裝機、維護等行業的人來說,最直接的效果是我們可以按我們的需要來修改、精簡驅動。例如,修改的乙個作用是可以讓裝置管理器裡直接顯示我們的oem資訊,精簡的最直接作用是可以有效減少驅動的體積。但是,萬萬不可只注重修改與精簡帶來的最終目的,而忽略了過程中的東西。就像沒認真玩過nlite的人對xp的結構組成絕對沒有玩過nlite的人了解一樣,精簡與修改的意義不在於最後我可以改的多麼花哨或是精簡的像個骨頭,而在於我們在做這些時,對系統、對驅動認識的逐步增加。

說到底,玩驅動會讓我們多掌握一種方法,多理解一種事物。

說了這麼多,是否讓大家對驅動有了更多的理解呢?說這麼多的目的,在於讓大家正視驅動以及驅動這門技術。驅動不是裝上就行的東西,就像我們有安裝版xp還為什麼研究封裝部署xp一樣,我們要用自己的知識與技術讓驅動更好的為我們服務!

學習的境界

前幾天聽乙個講座,主講老師將個人能力大致分為三個層次 第一層次 學習前人的知識,培養自學能力 第二個層次,靈活運用所學知識 第三個層次 創造解決問題的方法。這樣的分類和我自己的一些感受頗為相似,但我卻沒能向老師這樣分得這麼清楚。記得小時候,包括從初中一直到高中,每次看到一些感到無法完成的事情就感到特...

婚姻的境界

乙個姑娘和乙個漢子成了家,姑娘的口味清淡,漢子無辣不歡。姑娘常去父母家蹭飯吃。一天,姑娘的父親做的菜鹹了些,母親一聲不響拿來水杯,夾了一筷子菜,將菜在清水裡盪一下後再入口。忽然,姑娘從母親細微的動作裡領悟到了什麼。第二天,姑娘在家做了丈夫愛吃的菜。當然,每乙個菜裡都放辣椒。只是,她的面前多了一杯清水...

學習的境界

學習是有境界的,下面以c語言中的結構型為例簡單分析。第一種境界 理解了。結構型是自定義資料型別,與c語言中基本的資料型別如int的作用相同,用於定義變數。變數是記憶體中儲存單元的標識,c語言中通過變數使用計算機的記憶體。結構型只是通過對已有資料型別的組合產生的新的型別。定義乙個結構型的變數,實際上是...