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