歡迎您光臨本站 註冊首頁

開始閱讀linux必先考慮的幾個問題

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
1,是否具備最基礎的知識背景? 你能想象大字不識的人能讀懂文章嗎?還是從識字開始吧! 閱讀Linux也是一樣!那麼閱讀Linux需要哪些前體條件呢?我覺得大體可歸結如下: 1)明確的目的:沒事還是別招惹linux了,別的好玩的多得是,linux並不像你想象的那麼有趣,過程是痛苦的.不信?打個比方,把你一個人丟到太平洋中央,除了一個救生圈什麼都不給你,你怎麼回家?此刻你最想的是什麼?食物?水?當然,還有更多是吧?比如一個指明方向的指南針或地圖!不好意思,你得自己摸索,粗略的建議到是有的. 2)強烈的熱情:所謂強烈即足夠支撐你度過最迷茫無助的那段時期.真正的牛人是神龍見尾不見首的,很難有機會向他們討教,絕大多數時候你只能靠自己.沒有足夠的熱情也沒關係,那就靠強大的自控力堅持吧. 3)自信 思考: 沒有人會相信你能成功,失敗的是大多數,那些成功了的你看不見,那些失敗了的會軟化你.自信點,狂妄點,這麼偉大的事業是留待你來完成的.你光拚命地學是沒有用的,linux太龐大了,你得把握好節奏,不能太慢,太慢了你的熱情持續不了那麼久;不能太快,太快了你咀嚼不出精髓,太快了你的思考不夠可能會被碰到的困難擊倒. 4)Open your mind! Yes,你得像我這樣,把自己的成長記錄下來.為了你自己,真的,linux太龐大了,你得時常回頭看看!為了別人,你要記住你當初被拋棄在太平洋中間的孤獨無助,如果你不至於太自私的話,linux是開放的,把自己貢獻出來吧,為那些當初像你一樣迷茫無助的人照亮前行的道路.

以上說的是品質方面的,肯定不全面,但是挑我覺得最重要而又想到了的說了,大家可以補充.光有優良的品質是不夠的,不識字依然看不懂文章!所以,你起碼還得具備以下這些知識背景: 1)幾門專業課你得起碼有點感覺:操作系統、計算機組成原理、計算機網路、數據結構、C&彙編.學得不精沒關係,在閱讀linux的時候會逼著你好好學的.是的,等你終於熬過來的時候,你的專業已經學得很牛了!高興吧?應該能讓你多持久一會兒了. 2)學linux卻不會用linux?你是在開玩笑嗎?那太可怕了,幾乎可以肯定你是不會成功的.最佳的學習材料是源碼 書籍,最佳的學習方式是閱讀源碼 修改編譯,是的,如果你發現你可以不用編一行代碼,那麼你肯定錯了!趕緊裝一個linux操作系統,熟練地配置使用它再開始我們偉大的征程吧! 3)起碼的工具你得會用吧!不然你怎麼看代碼?你以為會有整本的都是代碼的書?幸好沒有那種書,不然你會暈掉的!起碼的工具是指VC和Source Insight.工具總是有很多的,不過會這兩樣就可以開工了. 所需要的就這麼多了,比起linux所能給你的這點應該不算多.當然了,還是要強調下,必要的 C&彙編 intel硬體基礎 肯定是要的,越好越好,是的,越好越好. 2,需要哪些材料? 其實在上一點已經零星都涉及到了,這裡在總結如下: 1)閱讀材料:內核源碼 《linux內核設計與實現》 這裡有幾個問題. ,內核版本的問題.最新2.6穩定版的linux內核代碼量已達到600萬行的規模,你知道全部讀完得多久嗎?反正我是不知道.一般是建議入門從0.11版開始,其代碼量只有一萬多點,入門之後可以根據需要在選擇更高版本的進行學習.但並不是說就不能從較高版本開始,從高版本開始的就要找准一個切入口,就其中某一部分進行研究,比較流行的是usb驅動這一塊,網上這方面的資料比較多.還有的就是從兩極端開始,像我這樣,呵呵,不過不推薦大家也冒險這樣做.

其次,入門的書籍,還是有些的,比如趙炯老師的那本,但公認《linux內核設計與實現》這本是最適合引導入門的.為什麼只推薦這一本,這篇文章只負責入門,其他的入門后大家自會知曉. 2)輔助工具:Source Insight 這款工具是普遍認可地還用,也確實好用!如果是閱讀0.11版的linux內核,那麼用VC版就OK了,網上有VC版的內核,直接打開文件中的工程空間文件就可以了,經編譯驗證是正確的. 3)linux操作系統:版本很多,如Redhat、Ubuntu比較大眾化,適合初學者使用,本人使用的是Fedora 13.各種操作系統大家都可以從網上免費獲得,在虛擬機中配置好就可以了.不會使用linux操作系統無論如何是說不過去的. 3,就這麼貿然闖進去?你總得先想點什麼吧? 你可以再次想象一下:當你獨自置身於茫茫大海上,除了有限得很的提示和救生圈,你如何成功抵達海岸?你最先要思考的是什麼? 是的,方向!你得確定前進的方向,這直接關乎你的生死存亡(成敗).那麼進入linux神秘地帶的方向有哪些呢? 1)載入初始化.從開機啟動到引導載入操作系統再到基本的初始化,遵循這一過程進行linux的探索.比較適合有硬體基礎的入門者. 2)系統調用.依照操作系統對各子模塊的調用進行學習,比較適合對操作系統工作原理有一定認識的入門者. 你也可以向許多人選擇的那樣,專門選定一塊進行鑽研,比如usb驅動,涉及到其他模塊的時候再擴展開來,不過始終以選定的模塊為核心.不管你選擇哪種方向,你都必須對linux內核源碼的組織結構有一個整體的認識,是的,就是你看到的那些樹狀結構的文件.你得知道每一文件裡面放的是什麼東西,相互之間都有些什麼關聯.閱讀linux反覆需要強調的一點是,必須建立整體的認識再進行!當你一旦踏入linux的神秘地帶,真正能幫助你的就只有你自己了,興許還有Makefile和Readme這兩個文檔,好好利用它們,它們是你前進的嚮導!

4,那麼,我們能要求更多嗎? 是的,那麼多前輩,有的突圍出去了,有的倒下了,有的仍在堅持,我們能從中獲得些有益的建議或者指導嗎?當然,無論成功的還是失敗的,經驗於我們總是多多益善的.但不要抱太大希望,網上真正有價值的經驗不多,大多數的都不具有借鑒性.建議去網上了解以下方面的經驗,別的還是不要浪費精力了,早早踏入征程吧,要知道拖得越久成功的希望越渺茫! 1)關於從何處開始閱讀的 趙炯老師的那本《Linux內核完全註釋》上有提到,可以參考. 2)關於linux內核代碼結構的 就這麼點,別的都是重複又重複,copy又copy. 5,英語! 是的,英語!儘管我並不討厭,甚至還有點喜歡英語,但我知道大多數的你們對它可是深惡痛絕.對總是把英語置於首要位置,這點我也是無比反感的.天哪~我們偉大的漢語顏面何在!所以我決定把它放在,只是順帶提一下. 不過英語真的很重要,英語本身是無罪的,有罪的是扭曲英語的人!所以,征服它吧!它會幫助你更好地征服linux! 小結: ,希望對大家有所幫助! 其次,趕快開始吧! 再次,Just do it !!!

本文出自 「linux內核源碼研究」 博客,請務必保留此出處http://genius.blog.51cto.com/2680595/483358


[火星人 ] 開始閱讀linux必先考慮的幾個問題已經有33次圍觀

http://coctec.com/docs/linux/show-post-50067.html