漫畫賞析 Linux 核心到底長啥樣

2021-08-25 05:51:20 字數 1947 閱讀 9392

今天,我來為大家解讀一幅來自 turnoff.us 的漫畫 「inside the linux kernel」 。 turnoff.us 是乙個極客漫畫**,作者daniel stori 畫了一些非常有趣的關於程式語言、web、雲計算、linux 相關的漫畫。今天解讀的便是其中的一篇。

在開始,我們先來看看這幅漫畫的全貌!

這幅漫畫是以乙個房子的側方刨面圖來繪畫的。使用這樣的乙個房子來代表 linux 核心。

地基(底層)由一排排的檔案櫃組成,井然有序,檔案櫃裡放置著「檔案」——電腦中的檔案。左上角,有乙隻胸前掛著 421 號牌的小企鵝,它表示著 pid(程序 id(process id)) 為 421 的程序,它正在檢視檔案櫃中的檔案,這代表系統中正有乙個程序在訪問檔案系統。在右下角有乙隻小狗,它是看門狗(watchdog) ,這代表對檔案系統的監控。

看完了地基,接下來我們來看地基上面的一層,都有哪些東西。

在這一層,最引人矚目的莫過於中間的一塊墊子,眾多小企鵝在圍著著桌子坐著。這個墊子的區域代表程序表。

左上角有乙個小企鵝,站著,彷彿在說些什麼這顯然是一位家長式的人物,不過看起來周圍坐的那些小企鵝不是很聽話——你看有好多走神、自顧自聊天的——「喂喂,說你呢,哇塞娃(171),轉過身來」。它代表著 linux 核心中的初始化(init)程序,也就是我們常說的 pid 為 1 的程序。桌子上坐的小企鵝都在等待狀態(wait)中,等待工作任務。

瞧瞧,墊子(程序表)旁邊也有乙隻小狗,它會監控小企鵝的狀態(監控程序),當小企鵝們不聽話時,它就會汪汪地叫喊起來。

在這層的左側,有乙隻號牌為 1341 的小企鵝,守在門口,門上寫著 80,說明這個 pid 為 1341 的小企鵝負責接待 80 埠,也就是我們常說的 http (**)的埠。小企鵝頭上有一片羽毛,這片羽毛大有來歷,它是著名的 http 伺服器 apache 的 logo。喏,就是這只:

向右看,我們可以看到這裡仍有一扇門,門上寫著 21,但是,看起來這扇門似乎年久失修,上面的門牌號都歪了,門口也沒人守著。看起來這個 21 埠的 ftp 協議有點老舊了,目前用的人也比以前少了,以至於這裡都沒人接待了。

而在最右側的乙個門牌號 22 的們的待遇就大為不同,居然有乙隻帶著墨鏡的小企鵝在守著,看起來好酷啊,它是黑衣人叔叔嗎?為什麼要這麼酷的乙個企鵝呢,因為 22 埠是 ssh 埠,是乙個非常重要的遠端連線埠,通常通過這個埠進行遠端管理,所以對這個埠進來的人要仔細審查。

它的身上寫著 52,說明它是第 52 個小企鵝。

在的左上角,有乙個向**階。這個台階是底層(地基)的檔案系統中的,程序們可以通過這個台階,到檔案系統中去讀取檔案,進行操作。

在這一層中,有乙個身上寫著 217 的小企鵝,他正滿頭大汗地看著自己的手錶。這只小企鵝就是定時任務(crontab),他會時刻關注時間,檢視是否要去做某個工作。

在的中部,有兩個小企鵝扛著管道(pipeline)在行走,乙隻小企鵝可以把自己手上的東西通過這個管道,傳遞給後面的小企鵝。不過怎麼看起來前面這種(男?)企鵝累得滿頭大汗,而後面那只(女?)企鵝似乎游刃有餘——喂喂,前面那個,褲子快掉了~

在這一層還有另外的乙個小企鵝,它手上拿著一杯紅酒,身上寫著 411,看起來有點不勝酒力。它就是紅酒(wine)小企鵝,它可以幹(執行)一些來自 windows 的任務。

在一層之上,還有乙個躍層,這裡有很多不同的螢幕,每個螢幕上寫著 tty(這就是對外的終端)。比如說最左邊 tty4 上輸入了「fre」——這是想輸入「freshmeat…」麼 :d ;它旁邊的 tty2 和 tty3 就正常多了,看起來是比較正常的命令;tty7 顯示的圖形介面噯,對,圖形介面(x window)一般就在 7 號終端;tty5 和 tty6 是空的,這表示這兩個終端沒人用。等等,tty1 呢?

tty(終端)是對外溝通的渠道之一,但是,不是每乙個程序都需要 tty,某些程序可以直接通過其他途徑(比如埠)來和外部進行通訊,對外提供服務的,所以,這一層不是完整的一層,只是個躍層。

好了,我們有落下什麼嗎?

這小丑是誰啊?

啊哈,我也不知道,或許是病毒?你說呢?

漫畫賞析 Linux 核心到底長啥樣

今天,我來為大家解讀一幅來自 turnoff.us 的漫畫 inside the linux kernel turnoff.us 是乙個極客漫畫 作者 daniel stori 畫了一些非常有趣的關於程式語言 web 雲計算 linux 相關的漫畫。今天解讀的便是其中的一篇。在開始,我們先來看看這幅...

公升級linux核心到2 6 24

以下為正文 序 言 一 準備工作 首先說明,下面帶 號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。啟動linux系統,並用根使用者登入,進入終端模式下。1 檢視linux核心版本 uname a 如果螢幕顯示的是2.6.x,說明你的已經是2.6的核心,也用不著看下文了,該幹什麼幹什...

公升級linux2 4 20核心到2 6 18

本文記錄了我在winxp下的vmware5.5.3虛擬機器中公升級linux2.4.20核心到2.6.18的過程。飄揚的這篇文章寫的很詳細,只是個別地方還有瑕疵,本文主要就是以該文為藍本,修正了原文中的一些錯誤,並加入了編譯圖示的詳細說明。2 我自己以前寫的核心編譯過程筆記。一 安裝linux系統並...