Linux是一種可移植的操作系統(tǒng),能夠在從微型計(jì)算機(jī)到大型計(jì)算機(jī)的任何環(huán)境中和任何平臺(tái)上運(yùn)行。那么Linux主要構(gòu)成部分有哪些?粵嵌重慶Linux學(xué)習(xí)為你解析一下吧。
Linux主要由存儲(chǔ)管理、進(jìn)程管理、文件系統(tǒng)、進(jìn)程間通信等幾部分組成,在許多算法及實(shí)現(xiàn)策略上,Linux借鑒了Unix的成功經(jīng)驗(yàn),但也不乏自己的特色。
存儲(chǔ)管理。Linux存儲(chǔ)空間分配遵循的是不到有實(shí)際需要的時(shí)候決不分配物理空間的原則。當(dāng)一個(gè)程序加載執(zhí)行時(shí),Linux只為它分配了虛空間,只有訪問某一虛地址而發(fā)生了缺頁(yè)中斷時(shí),才為它分配物理空間,這樣就可能出現(xiàn)某些程序運(yùn)行完成后,其中的一些頁(yè)從來就沒有裝進(jìn)過內(nèi)存。這種存儲(chǔ)分配策略帶來的好處是顯而易見的,因?yàn)樗薅鹊乩昧宋锢泶鎯?chǔ)器。
Linux有一個(gè)名為kswapd的進(jìn)程專門負(fù)責(zé)頁(yè)面的換出,當(dāng)系統(tǒng)中的空閑頁(yè)面小于一定的數(shù)目時(shí),kswapd將按照一定的淘汰算法選出某些頁(yè)面,或者直接丟棄,或者將其寫回硬盤。這種換出方式不同于較舊版本Unix的換出方式,它是將一個(gè)進(jìn)程的所有頁(yè)全部寫回硬盤。相比之下,Linux的效率更高。
進(jìn)程管理。在Linux中,進(jìn)程是資源分配的基本單位,所有資源都是以進(jìn)程為對(duì)象來進(jìn)行分配的。在一個(gè)進(jìn)程的生命期內(nèi),它會(huì)用到許多系統(tǒng)資源,會(huì)用CPU運(yùn)行其指令,用存儲(chǔ)器存儲(chǔ)其指令和數(shù)據(jù),它也會(huì)打開和使用文件系統(tǒng)中的文件,直接或間接用到系統(tǒng)中的物理設(shè)備。因此,Linux設(shè)計(jì)了一系列的數(shù)據(jù)結(jié)構(gòu),它們能準(zhǔn)確地描述進(jìn)程的狀態(tài)和其資源使用情況,以便能公平有效地使用系統(tǒng)資源。
文件系統(tǒng)。Linux重要的特征之一就是支持多個(gè)不同的文件系統(tǒng),前面我們已經(jīng)看到,Linux目前支持的文件系統(tǒng)多達(dá)十余種,隨著時(shí)間的推移,這一數(shù)目還在不斷增加。在Linux中,一個(gè)分離的文件系統(tǒng)不是通過設(shè)備標(biāo)識(shí)來訪問,而是把它合到一個(gè)單一的目錄樹結(jié)構(gòu)中,通過目錄來訪問,這一點(diǎn)與 Unix十分相似。Linux用安裝命令將一個(gè)新的文件系統(tǒng)安裝到系統(tǒng)單一目錄樹的某一目錄下,一旦安裝成功,該目錄下的所有內(nèi)容將被新安裝的文件系統(tǒng)所 覆蓋,當(dāng)文件系統(tǒng)被卸下后,安裝目錄下的文件將會(huì)被重新恢復(fù)。
進(jìn)程間通信。Linux提供了多種進(jìn)程間的通信機(jī)制,其中,信號(hào)和管道是基本的兩種。除此以外,Linux也提供System V的進(jìn)程間通信機(jī)制,包括消息隊(duì)列、信號(hào)燈及共享內(nèi)存。為了支持不同機(jī)器之間的進(jìn)程通信,Linux還引入了BSD的Socket機(jī)制。
對(duì)于粵嵌重慶Linux學(xué)習(xí)解析的Linux主要構(gòu)成,希望能對(duì)你有所幫助。總的來說,學(xué)習(xí)還是要靠日常積累的。