這張圖講解的是Linux內(nèi)部的結(jié)構(gòu),那么我們來看一看這張圖的結(jié)構(gòu)。

首先,我們來看一下全圖。
這個圖分為三層,最下層是文件柜和大量的文件,意為文件系統(tǒng),我們可以看到,Linux 底層的文件系統(tǒng)都是分立的,一個個的文件柜,里面放著不同的文件,就如同我們所了解到的。Linux 的文件系統(tǒng)是基于目錄的文件系統(tǒng)。

在第二層,我們可以找到一個臺階下到下面的文件系統(tǒng),進(jìn)程們可以通過這個臺階,和文件系統(tǒng)實(shí)現(xiàn)通信和操作。
看完了底層和第二層的交流。接下來我們來看一看二層的一些對外的出入口

這里有一只小企鵝,站在門口,門口上面寫著80,說明他看守的是80端口,也是我們?nèi)粘J褂玫?http ( 網(wǎng)站 )的端口。
在小企鵝的頭上頂著一個羽毛,這個是 Http 服務(wù)軟件 apache 的 logo。

在小企鵝的身上的數(shù)字,說明他是1341,意指 PID ( Process ID).
綜合來說,這個圖表現(xiàn)了一個 pid 為 1341 的 http 進(jìn)程在80端口上對外提供服務(wù)。

這里也站著一個小企鵝,他的身上寫著 52,說明他是第52 個小企鵝,PID 為 52,他旁邊的門上寫著 22,說明他看守的是 22 端口。

除了上述的兩個端口意外,這里還有一個無人看管的21端口,這里的無人看管,就意味著不安全,可能會被人所攻擊、利用。

在2層的左下角,有一個 process table(進(jìn)程表) ,整個 linux 的進(jìn)程都會在這里等待用戶的召喚,當(dāng)用戶召喚時,他們就去執(zhí)行自己的工作。當(dāng)用戶不召喚時,他們就在這里等待,直到用戶召喚。

在 process table 旁,蹲著一個 watchdog (監(jiān)控),他會隨時監(jiān)控 進(jìn)程的狀態(tài),如果進(jìn)程的狀態(tài)不對,就會去咬小企鵝。直到小企鵝的狀態(tài)變得正常。

有一只小企鵝手里拿著一杯紅酒,他是 wine(在linux上模擬windows軟件的應(yīng)用)

cron 小企鵝總是看著自己的手表,時刻關(guān)注著事件,以免耽誤了事情的發(fā)展。在合適的時候,聯(lián)系其他的小企鵝,來做事。

通道是小企鵝們之間傳遞消息的工具,借助通道,一個小企鵝,可以把自己準(zhǔn)備好的東西,傳遞給下一個小企鵝。讓下一個小企鵝,繼續(xù)做事。而不需要跑來跑去通知不同的小企鵝。

在三層,上面掛著6個 tty(終端),每個終端,都在執(zhí)行著不同的事情,每個小企鵝,在需要工作時,都要來到這里,執(zhí)行自己要做的事情。