今天,我來爲你們解讀一幅來自 TurnOff.us 的漫畫 「InSide The Linux Kernel」 。 TurnOff.us 是一個極客漫畫網站,做者Daniel Stori 畫了一些很是有趣的關於編程語言、Web、雲計算、Linux 相關的漫畫。今天解讀的即是其中的一篇。linux
在開始,咱們先來看看這幅漫畫的全貌!apache
這幅漫畫是以一個房子的側方刨面圖來繪畫的。使用這樣的一個房子來表明 Linux 內核。編程
做爲一個房子,最重要的莫過於其地基,在這個圖片裏,咱們也從最下面的地基開始看起:服務器
地基ssh
地基(底層)由一排排的文件櫃組成,井井有理,文件櫃裏放置着「文件」——電腦中的文件。左上角,有一隻胸前掛着 421 號牌的小企鵝,它表示着 PID(進程 IDProcess ID) 爲 421 的進程,它正在查看文件櫃中的文件,這表明系統中正有一個進程在訪問文件系統。在右下角有一隻小狗,它是看門狗watchdog ,這表明對文件系統的監控。編程語言
一層(地面層)ide
看完了地基,接下來咱們來看地基上面的一層,都有哪些東西。網站
進程表雲計算
這一層,最引人矚目的莫過於中間的一塊墊子,衆多小企鵝在圍着着桌子坐着。這個墊子的區域表明進程表。spa
左上角有一個小企鵝,站着,彷彿在說些什麼這顯然是一位家長式的人物,不過看起來周圍坐的那些小企鵝不是很聽話——你看有好多走神、自顧自聊天的——「喂喂,說你呢,哇塞娃(171),轉過身來」。它表明着 Linux 內核中的初始化(init)進程,也就是咱們常說的 PID 爲 1 的進程。桌子上坐的小企鵝都在等待狀態wait中,等待工做任務。
看門狗
瞧瞧,墊子(進程表)兩旁有兩隻小狗,它會監控小企鵝的狀態(監控進程),當小企鵝們不聽話時,它就會汪汪地叫喊起來。
http 進程
在這層的左側,有一隻號牌爲 1341 的小企鵝,守在門口,門上寫着 80,說明這個 PID 爲 1341 的小企鵝負責接待 80 端口,也就是咱們常說的 HTTP (網站)的端口。小企鵝頭上有一片羽毛,這片羽毛大有來歷,它是著名的 HTTP 服務器 Apache 的 Logo。喏,就是這隻:
apache logo
向右看,咱們能夠看到這裏仍有一扇門,門上寫着 21,可是,看起來這扇門彷佛年久失修,上面的門牌號都歪了,門口也沒人守着。看起來這個 21 端口的 FTP 協議有點老舊了,目前用的人也比之前少了,以致於這裏都沒人接待了。
無人看守的 FTP 進程
而在最右側的一個門牌號 22 的們的待遇就大爲不一樣,竟然有一隻帶着墨鏡的小企鵝在守着,看起來好酷啊,它是黑衣人叔叔嗎?爲何要這麼酷的一個企鵝呢,由於 22 端口是 SSH 端口,是一個很是重要的遠程鏈接端口,一般經過這個端口進行遠程管理,因此對這個端口進來的人要仔細審查。
SSH 守護進程
它的身上寫着 52,說明它是第 52 個小企鵝。
到達文件系統
在圖片的左上角,有一個向下臺階。這個臺階是底層(地基)的文件系統中的,進程們能夠經過這個臺階,到文件系統中去讀取文件,進行操做。
cron 任務
在這一層中,有一個身上寫着 217 的小企鵝,他正滿頭大汗地看着本身的手錶。這隻小企鵝就是定時任務(Crontab),他會時刻關注時間,查看是否要去作某個工做。
管道
在圖片的中部,有兩個小企鵝扛着管道(PipeLine)在行走,一隻小企鵝能夠把本身手上的東西經過這個管道,傳遞給後面的小企鵝。不過怎麼看起來前面這種(男?)企鵝累得滿頭大汗,然後面那隻(女?)企鵝彷佛遊刃有餘——喂喂,前面那個,褲子快掉了~
在這一層還有另外的一個小企鵝,它手上拿着一杯紅酒,身上寫着 411,看起來有點不勝酒力。它就是紅酒(Wine)小企鵝,它能夠幹(執行)一些來自 Windows 的任務。
在一層之上,還有一個躍層,這裏有不少不一樣的屏幕,每一個屏幕上寫着 TTY(這就是對外的終端)。好比說最左邊 tty4 上輸入了「fre」——這是想輸入「freshmeat…」麼 :d ;它旁邊的 tty2 和 tty3 就正常多了,看起來是比較正常的命令;tty7 顯示的圖形界面噯,對,圖形界面(X Window)通常就在 7 號終端;tty5 和 tty6 是空的,這表示這兩個終端沒人用。等等,tty1 呢?
躍層
tty(終端)是對外溝通的渠道之一,可是,不是每個進程都須要 tty,某些進程能夠直接經過其餘途徑(好比端口)來和外部進行通訊,對外提供服務的,因此,這一層不是完整的一層,只是個躍層。
好了,咱們有落下什麼嗎?
小丑?
這小丑是誰啊?
啊哈,我也不知道,或許是病毒