這張圖講解的是Linux內(nèi)部的結(jié)構(gòu)砸泛,那么我們來(lái)看一看這張圖的結(jié)構(gòu)。
首先孔轴,我們來(lái)看一下全圖剃法。
這個(gè)圖分為三層,最下層是文件柜和大量的文件距糖,意為文件系統(tǒng)
玄窝,我們可以看到牵寺,Linux 底層的文件系統(tǒng)都是分立的悍引,一個(gè)個(gè)的文件柜恩脂,里面放著不同的文件,就如同我們所了解到的趣斤。Linux 的文件系統(tǒng)是基于目錄的文件系統(tǒng)俩块。

在第二層,我們可以找到一個(gè)臺(tái)階下到下面的文件系統(tǒng)浓领,進(jìn)程們可以通過(guò)這個(gè)臺(tái)階玉凯,和文件系統(tǒng)實(shí)現(xiàn)通信和操作。
看完了底層和第二層的交流联贩。接下來(lái)我們來(lái)看一看二層的一些對(duì)外的出入口
這里有一只小企鵝漫仆,站在門口,門口上面寫著80
泪幌,說(shuō)明他看守的是80端口盲厌,也是我們?nèi)粘J褂玫?http ( 網(wǎng)站 )的端口。
在小企鵝的頭上頂著一個(gè)羽毛祸泪,這個(gè)是 Http 服務(wù)軟件 apache 的 logo吗浩。
在小企鵝的身上的數(shù)字,說(shuō)明他是1341没隘,意指 PID ( Process ID).
綜合來(lái)說(shuō)懂扼,這個(gè)圖表現(xiàn)了一個(gè) pid 為 1341 的 http 進(jìn)程在80端口上對(duì)外提供服務(wù)。
這里也站著一個(gè)小企鵝右蒲,他的身上寫著 52阀湿,說(shuō)明他是第52 個(gè)小企鵝,PID 為 52瑰妄,他旁邊的門上寫著 22陷嘴,說(shuō)明他看守的是 22 端口。
除了上述的兩個(gè)端口意外翰撑,這里還有一個(gè)無(wú)人看管的21端口罩旋,這里的無(wú)人看管,就意味著不安全眶诈,可能會(huì)被人所攻擊涨醋、利用。
在2層的左下角逝撬,有一個(gè) process table(進(jìn)程表) 浴骂,整個(gè) linux 的進(jìn)程都會(huì)在這里等待用戶的召喚,當(dāng)用戶召喚時(shí)宪潮,他們就去執(zhí)行自己的工作溯警。當(dāng)用戶不召喚時(shí)趣苏,他們就在這里等待,直到用戶召喚梯轻。
在 process table 旁食磕,蹲著一個(gè) watchdog (監(jiān)控),他會(huì)隨時(shí)監(jiān)控 進(jìn)程的狀態(tài)喳挑,如果進(jìn)程的狀態(tài)不對(duì)彬伦,就會(huì)去咬小企鵝。直到小企鵝的狀態(tài)變得正常伊诵。
有一只小企鵝手里拿著一杯紅酒单绑,他是 wine(在linux上模擬windows軟件的應(yīng)用)
cron 小企鵝總是看著自己的手表,時(shí)刻關(guān)注著事件曹宴,以免耽誤了事情的發(fā)展搂橙。在合適的時(shí)候,聯(lián)系其他的小企鵝笛坦,來(lái)做事区转。
通道是小企鵝們之間傳遞消息的工具,借助通道弯屈,一個(gè)小企鵝蜗帜,可以把自己準(zhǔn)備好的東西,傳遞給下一個(gè)小企鵝资厉。讓下一個(gè)小企鵝厅缺,繼續(xù)做事。而不需要跑來(lái)跑去通知不同的小企鵝宴偿。
在三層湘捎,上面掛著6個(gè) tty(終端),每個(gè)終端窄刘,都在執(zhí)行著不同的事情窥妇,每個(gè)小企鵝,在需要工作時(shí)娩践,都要來(lái)到這里活翩,執(zhí)行自己要做的事情。