0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux内核的尘封往事

Linux阅码场 来源:Linuxer 作者:Linuxer 2020-10-26 10:00 次阅读

公元2022年,10月24日,破晓时分,虽刚过中秋,离立冬尚远,清晨竟生出一阵阵寒意。树叶随风沙沙作响,他静静地坐在阅码场车站的一把长椅上。自打10岁起,每天黎明时分他都在会在这个车站守候,不经意间已经过去了整整20年。他不知道自己为什么每天出现在这里,这似乎是他冥冥中的天命。他只是记得,有一个人曾经对他说过,“千年以后,黎明时分你二人会在‘Linux阅码场’驿站相遇”,而他这一生的目的,似乎就是为了遇着那个人。

让我们把时钟调回到一千年以前。公元1010年,彼时的大宋正值繁华鼎盛,而一场席卷中原大地的瘟疫,俄顷夺去了无数大宋百姓的生命,数月间竟然赤地千里,十室九空。那一年,白贞贞年方二八,徐仙则同样是一个翩翩少年,两家的爹娘早已给他们指腹为婚。两小无猜地长大,而他们也好地似一个人。

徐仙和白贞贞都出生于行医世家,两位少年的亲爹,都是远近闻名的大夫,联合开了一家名叫保和堂的医馆。两位老大夫,在瘟疫最严重的时候,也一直游走于各个村落,治病救人。而就在三个月前,两位老父亲不幸感染,撒手人寰。紧接着,二位少年的娘亲也离开了人世。

虽是无比悲痛,但是保和堂悬壶济世的重担,也落在了两位少年的身上。他们唯有化悲愤为前行的力量,没日没夜地奋战,医师加百毒,熏灌无停机。哪有什么白衣天使,不过是两个孩子换了一身衣服,学着爹娘的样子,治病救人、和阎王爷抢人罢了……

他们拼尽全力,竟然也于事无补,感染的人群越来越多,乡邻们一个个悲惨地离去。正所谓,堂上老亲嗔恶梦,闺中少妇焚纸钱;江藩昔重创,万井哀如焚。

他穷尽古书,试图寻找解药,救治更多的人。原来古书里没有药方,这是一种从未出现的疾病。终于有一天,在一本叫做《深入理解Linux内核》的古书里,他找到了治疗的方向。这本书里说道:“renice后,时空之门大开,穿越千年,获得药方”。

徐仙和白贞贞循着古书的路径,跋涉了数月,终于在蜀中的一片深山里,找到了书中说的神算子李纳斯。

只听神算子李纳斯道,整个人类社会,运行于一个叫做Linux的操作系统内核里,里面的每个人,都是这个系统里的一个普通进程。大家遵循着同样的时间轴,而nice值,会影响每个进程自身虚拟时间的速度。一般人的nice值都是0,对应着权重1024。而这个权重,又决定着虚拟时间的快慢:

vruntime += delta* NICE_0_LOAD/ se.weight

在这个公式里,delta是这个时空的时间差值,NICE_0_LOAD的值是1024,se.weight则由nice值决定:

nice值是0的人,权重正好是1024,虚拟时间的增长速度与物理时间一样。而,nice值越大,se.weight就会越小,在这个时空行走同样的delta时间里,vruntime虚拟时间就可以成倍地放大,从而实现时空穿越。

听完李纳斯近乎神一般的述说,他两异口同声的说道:“还请前辈速速将我二人的nice值设置为最高的19吧”,果然,善良的人儿总是想到了一块。

只听李纳斯说道:“万万不可,若你二人同去,则二人皆不可得回。天下苍生也不会得救。必留一人在此时空。”

决定离开的是他,决定留下的是她。两颗心紧贴在一起的两个人儿啊,就此需要分隔天涯。但,分别,也许是为了更好的重逢。

李纳斯又道:“切记,千年以后,黎明时分你二人会在‘Linux阅码场’驿站相遇,到那时,时空交汇,你会带着药方。唯有穿越千年仍然彼此深爱的两个人,才能让两个时空再次交汇。”

话音刚落,只见李纳斯通过“renice -n 19”指令,将徐仙的nice值设置为了19。刹那间,电光火石,时空之门洞开,徐仙穿越了其中。白贞贞的脸上噙满泪花,正所谓,轮台东门送君去,去时雪满天山路;山回路转不见君,雪上空留马行处。

而徐仙那边厢,云烟飘过,转眼千年。经过二十世的轮回,做了二十世的大夫,这二十世,他居然都没有娶妻生子,因为,一生似乎都是为了等一人。

这一世,他仍然是一名医生,毕业于天朝著名的华中科技大学同济医学院。

公元2019年底开始,一种名叫COVID-19的病毒,席卷整个星球。人类的命运,再次紧紧地联系在一起,成为悲喜与共的共同体。他所在的这个城市,武汉,正是最初承受打击的城市。这个城市的人民善良又美丽,为抗疫做出了世所罕见的牺牲。而他,则没日没夜的奋战在一线,救治一个个病患。

彼时的天朝中央和地方政府,由于采取了良好的隔离和管控措施,早于全球控制住了疫情。但是,地球的其他村落,COVID-19仍肆无忌惮地感染一群群的人。人类社会正常的交通与往来,遭遇了前所未有的停摆,无数家庭失去亲人。一个叫做美利坚的村落,人们仍在受苦受难,仅在疫情爆发的前数月里,就有多达20万人失去了生命。正所谓,草木为之含悲,风云因而变色。而美利坚的村长,似乎也因此得了癔症,成日里在一个叫做twitter的平台上,疯言疯语。

人类针对COVID-19病毒的科研攻坚战,正在与死神展开赛跑,而他,就在这个赛道的核心。每天黎明,他在Linux阅码场车站守候那个人,之后就早早地去到了实验室。穷尽脑力,寻找解毒良方。

COVID-19病毒是如此地难解,以至于全球医生奋战了几乎整整2个年头还没有找到答案。那一日,从Linux阅码场车站回到实验室后,他恍惚中看见了千年前的她,大脑里的一个灵感旋即诞生,他找到了这个病毒的破解之法。他把破解之法的文稿,撒向整个实验大楼。那一刻,整个实验室沸腾了,整个人类社会沸腾了。人类为科研成果如此疯狂,直到一个世纪后,女科学家墨菲在《星际穿越》里,寻找到引力方程式拯救人类的时候,才再次出现。

此后,他仍然每天清晨,在日出之前,在“Linux阅码场”守候,静静地等一个人。无论风吹雨露,寒暑又一年。

公元2022年,10月24日,破晓时分,虽刚过中秋,离立冬尚远,清晨竟生出一阵阵寒意。树叶随风沙沙作响,他静静地坐在“Linux阅码场”车站的一把长椅上,低头似乎在沉思着什么,身旁一颗羽毛缓缓地飘向了天空。他抬头的刹那,只见风吹动着她的白色裙摆,太阳此刻终于出现,从树梢里透出一束光,照射到她洁白无瑕的脸庞,闪着金色的光芒,白贞贞宛如一个仙子。这一刻,天地剧变,眼前的大楼、汽车、水泥路、立交桥都渐渐地消失了,“Linux阅码场”车站,竟转变为一个驿站,一切如大宋时那般模样。她对着他先是微笑,继而眼里含满热泪。

公元1024年,大宋天圣二年,离别了14年之后,徐仙和白贞贞在大宋鄂州之地的“Linux阅码场”驿站再次相遇,并带来了药方,黎民百姓得救了。仁宗皇帝嘉奖了他们,御赐大婚,天下的人民都祝福这一对“活菩萨”,争相传颂他们悬壶济世的故事,百姓亲切地称呼她为“白娘娘”。

天子感念民生之多艰,此一朝,皇帝仁爱,不折腾,开创了前所未有的“仁宗盛治”。天下太平,战事平息,百姓安康。仁宗一朝的文治,更是达到了历史的顶峰。陈寅恪有云:“华夏民族之文化,历数千载之演进,造极于赵宋之世”。唐宋八大家中的六位,都出自仁宗一朝,他们就是我们今天耳熟能详的:苏轼、苏洵、苏辙、欧阳修、曾巩、王安石。

谨以此文,致敬《白蛇传》、《星际穿越》、《阿甘正传》、《三生三世十里桃花》、《清平乐》,致敬母校,致敬武汉人民,致敬守护生命的医护人员,致敬祖国。

1024程序员节,“Linux阅码场”祈福天下太平,百姓安康,有情人终成眷属。祝全天下的Linux程序员身体健康,生活幸福。

原文标题:宋宝华:公元1024年Linux内核的尘封往事

文章出处:【微信公众号:Linuxer】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1362

    浏览量

    40226
  • Linux
    +关注

    关注

    87

    文章

    11225

    浏览量

    208910
  • 操作系统
    +关注

    关注

    37

    文章

    6737

    浏览量

    123190

原文标题:宋宝华:公元1024年Linux内核的尘封往事

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    deepin社区亮相第19届中国Linux内核开发者大会

    中国 Linux 内核开发者大会,作为中国 Linux 内核领域最具影响力的峰会之一,一直以来都备受瞩目。
    的头像 发表于 10-29 16:35 407次阅读

    详解linux内核的uevent机制

    linux内核中,uevent机制是一种内核和用户空间通信的机制,用于通知用户空间应用程序各种硬件更改或其他事件,比如插入或移除硬件设备(如USB驱动器或网络接口)。uevent表示“用户空间
    的头像 发表于 09-29 17:01 467次阅读

    linux驱动程序如何加载进内核

    Linux系统中,驱动程序是内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序的编写是Linux驱动开发的基础。在编
    的头像 发表于 08-30 15:02 375次阅读

    Linux内核测试技术

    Linux 内核Linux操作系统的核心部分,负责管理硬件资源和提供系统调用接口。随着 Linux 内核的不断发展和更新,其复杂性和代码规
    的头像 发表于 08-13 13:42 433次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>测试技术

    Linux内核中的页面分配机制

    Linux内核中是如何分配出页面的,如果我们站在CPU的角度去看这个问题,CPU能分配出来的页面是以物理页面为单位的。也就是我们计算机中常讲的分页机制。本文就看下Linux内核是如何管
    的头像 发表于 08-07 15:51 238次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>中的页面分配机制

    欢创播报 华为宣布鸿蒙内核已超越Linux内核

    1 华为宣布鸿蒙内核已超越Linux内核   6月21日,在华为开发者大会上, HarmonyOS NEXT(鸿蒙NEXT)——真正独立于安卓和iOS的鸿蒙操作系统,正式登场。这是HarmonyOS
    的头像 发表于 06-27 11:30 780次阅读

    使用 PREEMPT_RT 在 Ubuntu 中构建实时 Linux 内核

    盟通技术干货构建实时Linux内核简介盟通技术干货Motrotech如果需要在Linux中实现实时计算性能,进而有效地将Linux转变为RTOS,那么大多数发行版都可以打上名为PREE
    的头像 发表于 04-12 08:36 2209次阅读
    使用 PREEMPT_RT 在 Ubuntu 中构建实时 <b class='flag-5'>Linux</b> <b class='flag-5'>内核</b>

    C++在Linux内核开发中从争议到成熟

    Linux 内核邮件列表中一篇已有六年历史的老帖近日再次引发激烈讨论 —— 主题是建议将 Linux 内核的开发语言从 C 转换为更现代的 C++。
    的头像 发表于 01-31 14:11 586次阅读
    C++在<b class='flag-5'>Linux</b><b class='flag-5'>内核</b>开发中从争议到成熟

    Ubuntu 24.04 LTS选用Linux 6.8为默认内核

    关于Ubuntu 24.04 LTS使用何种内核版本,一直备受关注。Canonical工程师Andrea Righi昨日宣布,Ubuntu 24.04将默认搭载Linux 6.8内核
    的头像 发表于 01-29 11:27 1012次阅读

    linux内核主要由哪几个部分组成,作用是什么

    Linux内核主要由以下几个部分组成: 进程管理:Linux内核负责管理和调度系统中的进程。它通过进程调度算法来决定哪个进程在什么时间运行以及如何分配系统资源。 内存管理:
    的头像 发表于 01-22 14:34 2603次阅读

    rk3399移植Linux内核

    RK3399是一款由中国厂商瑞芯微推出的高性能处理器芯片,被广泛用于嵌入式系统开发。在进行应用程序开发之前,我们需要将Linux内核移植到RK3399上,以支持硬件的驱动和功能。本文将详细介绍如何将
    的头像 发表于 01-08 09:56 1052次阅读

    RZ/G2L Linux系统如何添加新的内核模块

    RZ/G2L Linux系统的镜像基于yocto构建,本篇介绍如何添加新的内核模块。
    的头像 发表于 01-04 12:19 1698次阅读
    RZ/G2L <b class='flag-5'>Linux</b>系统如何添加新的<b class='flag-5'>内核</b>模块

    Linux内核中RCU的用法

    Linux内核中,RCU最常见的用途是替换读写锁。在20世纪90年代初期,Paul在实现通用RCU之前,实现了一种轻量级的读写锁。后来,为这个轻量级读写锁原型所设想的每个用途,最终都使用RCU来实现了。
    的头像 发表于 12-27 09:56 1658次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>中RCU的用法

    获取Linux内核源码的方法

    (ELF1/ELF1S开发板及显示屏)Linux内核是操作系统中最核心的部分,它负责管理计算机硬件资源,并提供对应用程序和其他系统组件的访问接口,控制着计算机的内存、处理器、设备驱动程序和文件系统等
    的头像 发表于 12-13 09:49 621次阅读
    获取<b class='flag-5'>Linux</b><b class='flag-5'>内核</b>源码的方法

    Linux内核自解压过程分析

    uboot完成系统引导以后,执行环境变量bootm中的命令;即,将Linux内核调入内存中并调用do_bootm函数启动内核,跳转至kernel的起始位置。
    的头像 发表于 12-08 14:00 851次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>自解压过程分析