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