{eval=Array;=+count(Array);}
我覺得學Linux的2個核心: 一個是命令; 另一個是shell, 而shell的核心則是正則。 我個人認為精通的標準有一條標準: 你能從網絡上下載 kernel代碼, 然后一步步給它加功能(XWindow)讓它成為屬于自己的獨一無二的操作系統。
巧了,作為十年程序員,我的我們簡介里寫的就是精通linux。那研究到什么程度才叫精通linux呢?小編以自己的經歷來做一個解釋:(以下經歷由淺入深)
1、至少安裝過不下10種linux發行版,了解各個發行版的特性和差異。
2、多年的linux操作系統使用經驗
使用linux可以讓你對linux的機制有一些外在的感覺
3、至少3年linux環境編程經驗
linux環境編程,可以讓你對linux的實現機制有了解。你就可以知道在linux系統上該怎么玩,怎么樣去實現自己的業務目的。
4、定制過linux內核和文件系統
這樣的經歷可以讓你對linux內核的運行機制有更深刻的了解。你可以了解內核和文件系統的界限是什么?聯系點是什么?如何從內核態轉入應用態。
5、了解linux內核
linux環境編程告訴你怎么做,讓你一步一步的調用函數來完成目標。
但是如果你想知道為什么這么做,或者說底層是怎么做的?你就需要深入內核了,推薦下面這本內核學習的入門書籍,這本書很通俗的講解了linux內核的設計與實現。我通過這本書大粒度的了解了linux底層的實現機制。
6、深入linux內核
了解linux內核的基本運作原理對上層開發人員是夠了,但是如果要成為一個linux精通者遠遠不夠,我的做法是閱讀源碼,但是linux的源碼太多了,我選擇了趙炯的linux0.11的內核去對照學些,這樣對linux內核的細節有了很深的了解。
7、開發驅動
驅動開發會用到很多linux內核相關的機制,比如自旋鎖、信號量、硬件中斷、軟中斷、線程、工作隊列、時鐘、DMA等。這些可以進一步加深對linux內核的理解。我開發過的驅動過包括,watchdog,gpio,lcd,串口,虛擬串口、網卡,pci/pcie,usb等。
8、從內核層面思考問題
現在我的一個習慣就是碰到問題,會從內核角度去思考,會從上層思考到內核層面是如何設計的、為什么這樣設計。如果想不通,會自己閱讀內核源碼找答案。
以上就是我的經歷,這個程度,算不算精通linux呢?
其實我是心虛的,因為linux內核博大精深,很多人窮其一生也只是研究了一個小模塊。
在這樣的巨無霸面前,我們要學習和深究的地方還很多,慚愧呀慚愧!
歡迎關注我,一起努力、一起學習linux內核。
能在命令行模式無障礙的應用于工作環境生產環境,熟悉文件結構,能寫shell,小改并編譯過內核,制作過屬于自己的發行版 ... 感覺也只能算是入門不久的熟練使用吧?因為覺得Linux是在是太多東西可以研究了...根本看不過來...
學習計算機知識,我個人認為學的是原理,學的是方法。所為精通,就是掌握原理,掌握使用的方法。原理通了,方法操作熟練了,個人認為就是精通。最忌背誦記憶,計算機最好的學習姿勢就是理論基礎上加強實踐,再回頭看理論,再實踐的過程,循環往復,可精通之。個人淺見。
0
回答0
回答0
回答0
回答0
回答9
回答1
回答0
回答0
回答0
回答