有矢而發,觸類旁通[內核學習的方法論]-- 轉載自黃嘴企鵝Linux內核研究小組

發表于:2007-05-26來源:作者:點擊數: 標簽:
黃嘴企鵝論壇 Linux 內核版主的文章,很有引導性和啟發性。 很值得讀一讀 有矢而發,觸類旁通 -- by home_king@ linux sir.org(!= email address) 一.研究內核的目的 欲舉其事,先正其道。要談論內核的研讀以及交流心得,前提必須得有一個恰當準確的目的,方
黃嘴企鵝論壇Linux內核版主的文章,很有引導性和啟發性。

很值得讀一讀

有矢而發,觸類旁通 -- by home_king@linuxsir.org(!= email address)

一.研究內核的目的
欲舉其事,先正其道。要談論內核的研讀以及交流心得,前提必須得有一個恰當準確的目的,方能收獲良多。
很多人都有這樣一個疑惑,為什么要研究內核呢?我們又不是內核開發者(或許你將來就會成為Linus的助手:-)。此言差矣,眾所周知,Linux包含兩 層含義,一是內核,二是發行版本,前者乃核心精華,后者則是應用方案,二者皆不可廢。知前者而略后者,思而不學也;略前者而知后者,學而不思也。

學習是循序漸進的,我們學習Linux,首先接觸的就是各具特色的發行版本,簡單輕松地入門,在學習的過程中逐漸對Linux框架有了一個初步的認識,淺 白地說,就是懂得了Linux世界的游戲規則。在你自身能力提高的同時,你會發現,進步的速率似乎在下降,為什么呢?那是因為你開啟的只是自己的記憶力而 非智力,游戲規則是核心的高層封裝,它給予用戶乃至程序員的接口是友好的(相信很多人都陶醉于unix的工具哲學吧),而這類接口經多年的黑客熏陶,已經 變得十分成熟,我等只需識記便可。舉個例子吧,發行版本之間最大的差異就是它們各自的FHS(文件目錄框架)以及軟件包管理機制,如gentoo的 portage(port樹)以及emerge,再如Debian的apt-get,用戶只要精通此二處,即可在該發行版本的世界里馳騁無束,而精通的途 徑卻都一樣,那就是識記規則。當你已經對這些規則滾瓜爛熟時,你會發現,自己只是從用戶角度看問題,而不是從開發者的角度看問題,兩者的差異在于你在 Linux世界里是否具有創新力。

對比國內外的Linux開源社區,不難發現,我們的水平依然很低,很多創新點都是外國開源社區所占據的,我們只能跟著走,處于被動的局面。還是舉例來說明 問題吧,比如你是一個lfs愛好者,初學者則按lfs文檔行事,而老鳥們呢,則參閱lfs hints來改造自己的系統,殊不知,此二者都非國人所力,lfs文檔是外國人開發的,lfs hints也是外國人寫的。在這里并不是說我們不應該引進技術,而是從中看到,我們的確缺乏創新力;再比如新內核采納的udev(大家應該不會陌生吧), 它只是一個邏輯I/O層規則,乃是devfs進化而來,大家同在開源社區下學習,為什么外國人能思考出創新的udev呢?歸根到底,那是我們不重視最底層 的研究,立足于高層封裝看問題,與使用微軟的玩具軟件何異?我們老是談論要自己的發行版本,可是有沒有想過,發行版本不僅僅是把現成的內核用shell和 X包裝起來而已,如果是這樣的話,redhat也不會成為世界上最流行的發行版本之一(redhat在開源社區大多數項目中都占有一席位,每每以創新技術 來退出新的發新版本)。


可見,立足于內核看問題,目的有二:
1.學一當十,把握創新的主動權
2.知其然而知其所以然,從深層次理解Linux,使之在發行版本的日常操作能觸類旁通,游刃自如


二.研究內核的境界
-->-->開發
現在國人研讀內核的境界大多在于(包括我自己:-),而我們的最終境界是開發,也就是成為內核的開發者之一,這樣才真正使中國的Linux事業獨立自主!

三.研究內核的態度
Linux內核發展了十年有余,體系變得十分龐大,可謂盤根錯亂,我們讀它,往往很難直接掌握全局,結合我們的實際情況,最好是從日常使用Linux發行 版本的過程中,遇到一些很奇妙的問題,就應該結合它來研讀內核的相關項,觸類旁通。比如說,開機遇到kernel panic的問題,我們就應該找到,在init/main.c中的init函數就有這樣一句話,然后順著這個思路找出解決辦法,最終發現原來必要的文件系 統模塊必須編譯進內核(自舉性矛盾),又比如說,我們要改造發行版本的運行級別腳本,就應該注意到,有些腳本是運行在內核態的(如linuxrc),大多 數腳本是運行在用戶態的(rcX.d),了解了大方向,就好編碼了。
游擊散打,逐漸包圍大中心

當然,內核研讀還得有好用的工具輔助才行,還要有資料(站在巨人的肩膀上,看得更遠嘛),這些我都會用置頂帖給出。

有矢而發,觸類旁通。希望大家多多交流,共同進步。

ps:我就任斑竹,定竭盡全力,整頓版務,各位兄弟互勉之。謝謝!

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97