linux培訓(xùn)學(xué)校哪個(gè)好
時(shí)間:2019-11-02 00:00:00
來(lái)源:信盈達(dá)
作者:信盈達(dá)
有很多朋友想要學(xué)習(xí)Linux,但是對(duì)IT培訓(xùn)這方面的行情并不了解,有的朋友問:Linux培訓(xùn)學(xué)費(fèi)高嗎?其實(shí)這個(gè)問題挺主管的,彼之蜜糖,我之砒霜,高不高完全可以等價(jià)位接不接受得了和值得不值得。價(jià)格高不高,這信盈達(dá)老師真沒法兒幫您定奪,但有一點(diǎn)可以確定:各大機(jī)構(gòu)的學(xué)費(fèi)都是互相參考過之后定下來(lái)的,高高不了多少,低低不到哪兒去,都得是一萬(wàn)多的樣子,太高就虛了,太低就假了這話我說您聽,懂了就行。
今兒咱們就不說什么Linux基礎(chǔ)知識(shí)什么的了,整天大家都在拿那點(diǎn)兒逗小白的東西招徠生意,今兒,信盈達(dá)老師就跟大伙兒說說要深入學(xué)習(xí)Linux,都得會(huì)點(diǎn)兒什么。
要深入學(xué)習(xí)Linux,有三個(gè)方面是要全面了解的:
1. 最重要的Linux的內(nèi)核工作方式:包括但是不限于:
內(nèi)存分頁(yè)
進(jìn)程切換
interrupt 和 exception,以及system call
lock
進(jìn)程管理
內(nèi)存管理和分配
signal
文件系統(tǒng)(ext2, ext3)
輸入輸出設(shè)備,linux培訓(xùn)學(xué)校哪個(gè)好
linux培訓(xùn)學(xué)校哪個(gè)好,緩存
這個(gè)是理解Linux的基礎(chǔ)中的的基礎(chǔ),對(duì)于理解操作系統(tǒng)有莫大的好處。而且無(wú)論對(duì)于high level還是low level的編程都是相通的,很多東西在學(xué)完操作系統(tǒng)之后,你對(duì)他們的理解就完全不一樣了。就像學(xué)好緩存在對(duì)于提高大運(yùn)算上面的效率是很有幫助的。
一邊看書一邊可以寫一個(gè)簡(jiǎn)單的
Linux自己玩,時(shí)長(zhǎng)一個(gè)學(xué)期比較合適。因?yàn)檎n程要求,所以我寫過一個(gè)可以多任務(wù)運(yùn)行的Linux,附帶一個(gè)聲卡driver。當(dāng)時(shí)演示的時(shí)候放的是鳳凰傳奇,教授整個(gè)人斯巴達(dá)了。但是不得不說這是一個(gè)非常大的工作量。
但是無(wú)論是要做內(nèi)核開發(fā)還是驅(qū)動(dòng)開發(fā),我覺得這些都是基礎(chǔ)中的基礎(chǔ),是要扎扎實(shí)實(shí)掌握的,不得有半點(diǎn)馬虎。
2. CPU架構(gòu)/匯編
操作系統(tǒng)跟CPU的架構(gòu)是離不開的,我個(gè)人覺得是相輔相成的。很明顯的能看到Intel為了和操作系統(tǒng)配合起來(lái),實(shí)現(xiàn)了很多硬件功能。最明顯的就是虛擬內(nèi)存已經(jīng)可以在硬件層面上直接換算,不需要通過軟件了。不懂x86或者arm的架構(gòu),會(huì)一定程度上造成理解Linux內(nèi)核的困難。比如為什么要以某種特定的方式分頁(yè),為什么內(nèi)存管理的時(shí)候需要不同的算法,interrupt,system call的意義何在?等等等等的問題都需要精通CPU的架構(gòu)。
當(dāng)時(shí)就是因?yàn)閷?duì)TLB的理解不夠深入,不夠仔細(xì),造成我的系統(tǒng)每次切換任務(wù)的時(shí)候,會(huì)page fault。
重點(diǎn)在于interrupt的處理,緩存的概念和內(nèi)存相關(guān)結(jié)構(gòu)的設(shè)計(jì)。至于亂序執(zhí)行,pipeline之類的都是次要的,對(duì)于Linux不是特別的重要。
x86的匯編是基礎(chǔ),有助于debug和理解Linux源代碼。我寫系統(tǒng)的時(shí)候大段寫過x86代碼來(lái)實(shí)現(xiàn)低層操作。不知道真正的Linux是不是這樣實(shí)現(xiàn)的。
3. high level編程
系統(tǒng)畢竟是為了應(yīng)用程序而服務(wù)的,就像有需求才有生產(chǎn)一樣。沒有應(yīng)用程序的需求,就不會(huì)設(shè)計(jì)相關(guān)的系統(tǒng)功能。了解high level的編程一定程度上可以融會(huì)貫通。