收藏
分享
Linux的内核主要是用C语言编写的,还有少量的汇编语言编写的代码。Linux内核由Linux之父Linus维护并定期更新发布新版本,你可以在Linux kernel的官方网站自由下载免费使用。
Linux Kernel 官方网站
我们来看一段有意思的Linux内核代码,这段代码在Linux系统重启代码reboot.h中,学过C语言的都知道文件名后缀为.h的文件主要是对函数的声明和一些变量的定义。
首先我们使用curl命令来下载最新稳定版Linux内核:
下载完成后,使用xz和tar命令解压缩文件名后缀为.tar.xz的Linux kernel软件包:
解压缩.tar.xz压缩包
使用grep命令过滤在reboot.h中的MAGIC变量值:
使用grep命令在reboot.h中过滤MAGIC变量
使用printf命令将上面四个MAGIC变量定义的值由十六进制转化为十进制:
Printf命令将16进制变量值转换成十进制
转换后的十进制数字代表的是什么意思呢?有人已经成功破解了这四个10进制数字串的含义,他们分别是Linux之父Linus的生日和他三个女儿的生日。
28121969 ( 28-12-1969) - Birthday of Linus 5121996 (5-12-1996) - Birthday of Patricia Miranda, Linus’ first daughter 16041998 (16-04-1998) - Birthday of Daniela Yolanda, Linus’ second daughter 20112000 (20-11-2000) - Birthday of Celeste Amanda, Linus’ third daughter
作为Linux之父,没人愿意去反对Linus有意将自己和他三个女儿的生日写进Linux系统重启的代码里,每当系统重启时这四个魔术值都会被调用,如果避开这四个魔术值,系统将无法正常重启,重启就是重生。Unix之父肯•汤普森在老婆带孩子回娘家的几个月里,编写了Unix内核,两位大神都没有将自己的劳动成果当成摇钱树,而是无私奉献给了全人类,他们至今过着普通人的生活。
当你在Linux内核的代码里突然看到一个父亲对女儿的爱,你的内心是否已经被这段刻进代码里的爱而感动。
免责声明:
本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!
[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。