關註上方「Linux 研習社」回復「速查表」
免費領取Linux命令速查表一份!
看懂這張圖,就看懂了Linux,我們先來看看這張圖:
上面這張圖片就是介紹Linux內核的信息了,有點像一個大廠房的結構圖,不過Linux的架構也確實像一個大廠房,裡面運行步驟和人物非常具體,小驚喜也不少,我們一起來看看吧~
既然說到是廠房,當然要從地下室開始,在地下室的就是地基,地基呢當然是基層建築,就是下面這張啦~
牛津字典中對"kernel"一詞的定義是:"較軟的、通常是一個堅果可食用的部分。"當然還有第二種定義:"某個東西核心或者最重要的部分。"對Linux來說,它的Kernel無疑屬於第二種解釋。Linux中的Kernel指的是Linus Torvalds在90年代初期寫的內核代碼。
我們知道Linux以文件的形式對計算機中的數據和硬體資源進行管理,也就是徹底的一切皆文件。地下室由一排排整齊的書櫃架構,書櫃裡放置很多書,這些書也是存儲在電腦裡的「文件」,而在左上角,有一隻胸前掛著「421」號碼工作牌的小企鵝,他表示著 PID(進程 IDProcess ID) 為421的進程,它正在查看文件櫃中的文件,這代表系統中正有一個進程在訪問文件系統。在右下角有一隻小狗,它是看門狗watchdog,這代表對文件系統的監控。
看完了地基,接下來我們來看地基上面的一層,都有哪些東西。
在這一層,最引人矚目的莫過於中間的一塊墊子,眾多小企鵝在圍著著桌子坐著,這個墊子的區域代表進程表。
左上角有一個小企鵝,站著,仿佛在說些什麼這顯然是一位家長式的人物,不過看起來周圍坐的那些小企鵝不是很聽話——你看有好多走神、自顧自聊天的。桌子上坐的小企鵝都在等待狀態wait中,等待工作任務。
瞧瞧,墊子(進程表)旁邊也有一隻小狗,它會監控小企鵝的狀態(監控進程),當小企鵝們不聽話時,它就會汪汪地叫喊起來。
在這層的左側,有一隻號牌為 1341 的小企鵝,守在門口,門上寫著 80,說明這個 PID 為 1341 的小企鵝負責接待 80 埠,也就是我們常說的 HTTP (網站)的埠。小企鵝頭上有一片羽毛,這片羽毛大有來歷,它是著名的 HTTP 服務 Apache:
向右看,我們可以看到這裡仍有一扇門,門上寫著 21,但是,看起來這扇門似乎年久失修,上面的門牌號都歪了,門口也沒人守著。看起來這個 21 埠的 FTP 協議有點老舊了,目前用的人也比以前少了,以至於這裡都沒人接待了。
而在最右側的一個門牌號 22 的們的待遇就大為不同,居然有一隻帶著墨鏡的小企鵝在守著,看起來好酷啊,它是黑衣人叔叔嗎?為什麼要這麼酷的一個企鵝呢,因為 22 埠是 SSH 埠,是一個非常重要的遠程連接埠,通常通過這個埠進行遠程管理,所以對這個埠進來的人要仔細審查。
在這一層中,有一個身上寫著 217 的小企鵝,他正滿頭大汗地看著自己的手錶。這隻小企鵝就是定時任務(Crontab),他會時刻關注時間,查看是否要去做某個工作。
管道是一種最基本的IPC機制,作用於有血緣關係的進程之間,完成數據傳遞。
在圖片的中部,有兩個小企鵝扛著管道(PipeLine)在行走,一隻小企鵝可以把自己手上的東西通過這個管道,傳遞給後面的小企鵝。喂喂,前面那個累得滿頭大汗的,你褲子快掉了~
在一層之上,還有一個躍層,這裡有很多不同的屏幕,每個屏幕上寫著 TTY。TTY是 Teletype 或 Teletypewriter 的縮寫,原來是指電傳打字機,後來這種設備逐漸鍵盤和顯示器取代。不管是電傳打字機還是鍵盤顯示器,都是作為計算機的終端設備存在的,所以 TTY 也泛指計算機的終端(terminal)設備。為了支持這些 TTY 設備,Linux 實現了一個叫做 TTY 的子系統。所以 TTY 既指終端,也指 Linux 的 TTY 子系統。比如說最左邊 tty4 上輸入了「fre」——這是想輸入「freshmeat...」麼 ;它旁邊的 tty2 和 tty3 就正常多了,看起來是比較正常的命令;tty5 和 tty6 是空的,這表示這兩個終端沒人用。
tty(終端)是對外溝通的渠道之一,但是,不是每一個進程都需要 tty,某些進程可以直接通過其他途徑(比如埠)來和外部進行通信,對外提供服務的,所以,這一層不是完整的一層,只是個躍層。
號外號外:Linux 交流群已成立
無論你是科班出生、還是培訓班出生、亦或是剛入門的小白,從你入行這一刻起,就得保持終生學習的心態。船神創建了一個「Linux 交流群」,希望更好的與大家一起學習交流,我們自己的職業生涯掌握在自己手中。
有興趣入群的同學,長按掃描下方二維碼,添加微信號「tstianwang」
一定要備註:城市+暱稱+技術方向,根據格式備註,可更快被通過且邀請進群喲