漫画趣解Linux内核

这幅漫画是以一个房子的侧方刨面图来绘画的。
使用这样的一个房子来代表Linux 内核。
地基一个房子最重要的就是地基,所以我们先从地基讲起。
地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。
左上角,有一只胸前挂着 421 号牌的小企鹅,它表示着 PID(进程 IDProcess ID) 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。
在右下角有一只小狗,它是看门狗watchdog ,这代表对文件系统的监控。
第一层接下来的一层就比较热闹了:在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。
这个垫子的区域代表进程表。
左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长式的人物,不过看起来周围坐的那些小企鹅不是很听话——你看有好多走神、自顾自聊天的——“喂喂,说你呢,哇塞娃(171),转过身来”。
它代表着 Linux 内核中的初始化(init)进程,也就是我们常说的 PID 为 1 的进程。
桌子上坐的小企鹅都在等待状态wait中,等待工作任务。
瞧瞧,垫子(进程表)两旁有两只小狗,它会监控小企鹅的状态(监控进程),当小企鹅们不听话时,它就会汪汪地叫喊起来。
这两位企鹅累的满头大汗,任劳任怨的在搬动着管道。
一只小企鹅可以把自己手上的东西通过这个管道,传递给后面的小企鹅。
不过怎么看起来前面这只(男?)企鹅累得满头大汗,而后面那只(女?)企鹅似乎游刃有余——喂喂,前面那个,裤子快掉了~当然,同样辛勤劳动的还有这位小老弟,cron进程。
看它急得头上都冒汗了,这位老弟不断的看着手表,执行着周期性任务。
这只pid为1341的小企鹅就是大名鼎鼎的apache http服务器进程。
它坚守在80端口提供http服务。
它头上的羽毛就是apache的标志。
这位带着墨镜的企鹅守护着22端口。
它看着要比其他的企鹅要更加有威严,脸上彷佛写着生人勿进四个字。
原来它看护的是用于SSH服务的22端口,SSH服务常常用于远程登陆,所以必须要仔细审查。
还有年久失修的FTP端口21。
FTP服务用的人已经很少了,以至于连门牌都快掉了。
这位端着红酒,略带醉意的就是wine,有了它,我们可以在Linux上运行一些简单的windows程序。
类似的项目还有LKL(Linux Kernel Library)  https://github.com/lkl。
在图片的左上角,有一个向下台阶。
这个台阶是底层(地基)的文件系统中的,进程们可以通过这个台阶,到文件系统中去读取文件,进行操作。
跃层首先我们来看看跃层,也是最接近用户的一层。
两只企鹅在名为TTY的窗口面前工作,一只企鹅在控制台前戳戳点点,另一只在仔细端详程序的输出。
TTY中文为电传打字机,关于TTY,可以追溯到计算机的远古时代,那时候我们使用的还只是没有主机的打字机。
设备的输入要经过长长的串行线路才能到达那昂贵的大型主机(Mainframe Computer)。
作为Unix-like的Linux也继承了这一特性,在/dev目录下和ps命令的输出中我们都可以看到它的身影。
在一层之上,还有一个跃层,这里有很多不同的屏幕,每个屏幕上写着 TTY(这就是对外的终端)。
比如说最左边 tty4 上输入了“fre”——这是想输入“freshmeat...”么 :d ;它旁边的 tty2 和 tty3 就正常多了,看起来是比较正常的命令;tty7 显示的图形界面嗳,对,图形界面(X Window)一般就在 7 号终端;tty5 和 tty6 是空的,这表示这两个终端没人用。
等等,tty1 呢?tty(终端)是对外沟通的渠道之一,但是,不是每一个进程都需要 tty,某些进程可以直接通过其他途径(比如端口)来和外部进行通信,对外提供服务的,所以,这一层不是完整的一层,只是个跃层。
好了,我们有落下什么吗?这小丑是谁啊?啊哈,我也不知道,或许是病毒?你说呢?

返回列表
上一篇:
下一篇: