漫画版的 Linux 内核,你见过吗?

快乐学习 Linux 内核,从这张漫画开始吧!

图源 | 网络

此次将 Linux 内核比作一个房子,邦邦将从每个小部分深入的进行解剖。

地基

一栋房子最重要的第一步就是打好地基,在好的地基基础上,才能建造出好的房子,从漫画中可以看出,这栋房子的地基(底层),分别是由一排排整齐的柜子组成,柜子中放置的是一些文件,这里可以理解为是电脑中保存的文件,这些正好组成画面中可以看见一个英文单词 filesystem(文件系统)。

图片左边可以看见一只企鹅,其胸前的号码为 421,代表的含义是 PID 为 421 的进行,其中 PID 代表进程 ID(Process ID),企鹅正在查看柜子中的文件,代表的含义是有一个进程正在访问文件系统。

图片右下角可以看见一只小狗,称之为 watchdog(看门狗),顾名思义是对该文件系统进行监控。

loft 一层

让我们一起看看地基上面的一层,有哪些精彩的故事等着我们去挖掘。

首先映入眼帘的是围着一张桌子(Process table)座的小企鹅们,其中一个站着的小企鹅正在说这些什么,一般这个人物形象都是指挥官的角色,还有几个发呆的小企鹅,聊天的小企鹅,最引人注目的是有个傲娇的小企鹅,胸前挂着 171。

这些代表着 Linux 内核的初始化进程,又称之为 init 进程,此时 PID=1。围着一张桌子座的小企鹅们此时是等待(wait)状态,等待工作任务的进来。

图片的右上角,我们的常驻小可爱看门狗又亮相了,此时主要是监控小企鹅们的状态,也可以称之为监控进程,当小企鹅出现自嗨情况,会及时制止,保证工作的正常进行。

看这一层另一只看起来也是很傲娇的小企鹅,就是被邦邦看成 1314,实际上是 1341 号小企鹅,正守在 80 端口,也称之为 HTTP 的端口。这只傲娇的小企鹅头上引入注目的小羽毛,其实是 HTTP 服务器 Apache 的标志。

在这一副繁荣的景象中,一处破破烂烂,门牌号(21)都掉了半个的小门,引起了邦邦的注意,看起来好久都没有用过,也很少去维护,更不要说派个小企鹅去守门了,这表示 21 端口的 FTP 协议相对老旧,很少有人去使用。

就在邦邦为场景感到凄凉时,看到左边站着一个 52 号大佬式的企鹅,正在把守 22 号门,由此可以看出,这个门口不简单。据了解,22 端口是 SSH 端口,该端口主要是用在远程管理,需要对每个在该端口进出的人进行细致的检查。

还记得那个破破烂烂的小门吗?小门旁边有一个可以去负一层(地基)的楼梯,含义是进程们可以通过这个楼梯去文件系统中读取需要的文件,进行操作。

楼梯旁边有个拿着表且满头大汗的 217 小企鹅,一直在观察时间的变化,查看是否要去做某项工作。不要问,问就是在做定时任务(Crontab)。

还有两个扛 pipeLine(管道)的小企鹅在行走,可以通过这个管道将东西传递过去,我怀疑后面那个小企鹅有内幕,为什么看起来一点都不累的样子!

还有,不是企鹅的小东西,喂,兄弟,走错片场了吧!你的片场在隔壁!

最后,一人我饮酒醉的 411 号小企鹅,终于到你了,你以为你拿着红酒(wine),邦邦就不认识你了吗?执行 Windows 任务的 411,往哪里跑!

loft 二层

当邦邦还在跟其他人合租的时候,Linux 已经有了自己的 loft,一时间不知道该羡慕谁。

二层满眼都是 tty,tty2、tty3、tty4、tty5、tty6、tty7,不要问作者为什么没有 tty1,那肯定是之前 1 出现的次数太多了,要给其他数字一个露脸的机会,要不然分量不够,大家都是掏了钱的(哈哈哈,纯属邦邦自己脑补)。

tty 作为终端,是与外部沟通的渠道之一,但是,并不是每一个进程都需要终端,怪不得 tty5、tty6 上面什么也没有,某些进程可以直接通过其他途径直接和外部进行沟通。

怪不得是 loft,原来是因为不完整,这个漫画真的是画出了精髓,画出了气质、画出了 Linux 内核淘气的一面,谁还不是个孩子!

如果,所有的知识都是这样呈现,邦邦表示,还能再学 100 年!

(如网络图片侵权,请联系删除)