书吧达 > 四合院开局四八,八岁带妹逃荒 > 第688章 亲手挖掘的坟墓!

第688章 亲手挖掘的坟墓!


“是我们自己……”

黄建功的声音,嘶哑、干涩,像是被砂纸磨过一样。

他死死盯着那片血红的屏幕,屏幕上的“KERNEL  PANIC”像是一记响亮的耳光,狠狠抽在他的脸上。火辣辣的疼。

这股疼,从脸颊烧到心里,最后变成了一股浓得化不开的,自我厌恶的酸楚。

他们是谁?

他们是华夏最顶尖的那一撮大脑!是被聂老总寄予厚望,要为国家信息长城打造定海神针的科学家!

可现在呢?

他们竟然犯下了这种错误!

这种连计算机系大一新生,在第一堂汇编语言课上,都会被教授耳提面命,反复强调绝对不能犯的,最低级、最愚蠢的错误!

堆栈不平衡!

这五个字,像五座大山,轰然压在实验室里每一个软件组成员的心头,压得他们喘不过气来。

黄建功感觉自己的呼吸都变得困难。

这就好比一个享誉全国的顶级外科医生,做了一场堪称完美的心脏搭桥手术,却忘了把一块纱布留在了病人的胸腔里。

一次,两次,可能看不出什么。

可日积月累,那块小小的纱布,就会引发感染、粘连、最终要了病人的命!

他们,就是那个粗心到不可饶恕的医生。

而“天枢”V0.3,那个他们刚刚还在为之敬畏,称之为“绝对公平的乌托邦”,就是那个被他们亲手埋下了致命隐患的,可怜的病人。

“我……我怎么会……”

孙立国“扑通”一声,蹲在了地上,双手死死地抓着自己的头发,发出了野兽般的,痛苦的呜咽。

中断服务程序那部分核心代码,是他主导编写的。为了那个“绝对公平”的算法,他熬了多少个通宵,喝了多少杯浓得发苦的茶水,在草稿纸上演算了多少遍。

他检查了算法的每一处逻辑,优化了每一个变量的命名,甚至连代码的缩进格式都调整到了像素级的完美。

他以为自己打造的是一件艺术品。

却唯独,忽略了这个最基础,最致命的,关于堆栈清理的收尾工作。

“不可能……我检查过的……我明明检查过……”他语无伦次地呢喃着,脸色惨白如纸,额头上沁出豆大的冷汗。他的骄傲,他的自信,在这一刻,被那片血红的屏幕,击得粉碎。

他旁边的几个年轻研究员,也是一脸死灰。

他们是代码审查的参与者,他们也一行一行地读过孙立国的代码,当时还纷纷惊叹于算法的精妙。

可现在,这份惊叹,变成了同等的羞辱。

所有人都看见了那几行汇编指令,但所有人都像是瞎子一样,从它旁边滑了过去。

为什么?

整个实验室,死一般的寂静。

刚才那股因为“绝对公平”而诞生的,智者间的无声狂欢,此刻荡然无存。取而代之的,是压抑、是羞愧,是失败带来的冰冷刺骨的寒意。

就在这时,一个负责日志系统的年轻研究员,脸色煞白地举起手,声音抖得不成样子:“黄……黄组长,钱教授……我……我有个问题。”

黄建功木然地转过头。

那年轻人咽了口唾沫,指着屏幕,用近乎梦呓般的声音问道:“所以……所以我们的系统崩溃,只是因为……因为我们在中断程序的最后,忘了……忘了加一行……或者几行,让堆栈指针回去的代码?”

这个问题,太天真了。

天真到残忍。

它像一把小刀,精准地捅进了在场所有高级研究员的心窝子里。

是的。

就是这么简单。

可能就是一行“ADD  ESP,  12”的指令。

就因为忘了这几个字节的清理,他们呕心沥血打造的,拥有4MB巨大内存的系统,在运行了三十分钟后,像一个溺水的人一样,窒息而死。

孙立国听到这个问题,再也忍不住,猛地冲到角落的垃圾桶旁,“哇”的一声,把胆汁都吐了出来。

这不是技术问题。

这是耻辱!是奇耻大辱!

“思想钢印……”

一片死寂中,钱学敏缓缓地,吐出了这四个字。

她的脸色同样苍白,但眼神,却不像其他人那样涣散,反而异常的清醒,甚至带着几分刀锋般的锐利。

她走到孙立国身边,没有安慰,只是平静地看着他,然后目光扫过整个软件组的成员。

“这和上一次的‘堆栈隔离’问题,你们不觉得,很像吗?”

她的声音不大,却像一把重锤,敲在每个人的心上。

众人猛地一震。

“我们,还是没有从根本上,摆脱掉写‘应用程序’的思维模式。”钱学敏的声音里,带着一丝冷意。

“你们想想,你们在大学里,用C语言,用Pascal写程序的时候,你们关心过一个函数调用结束后,它的局部变量是怎么被释放的吗?你们关心过堆栈指针是怎么恢复的吗?”

“不,你们不关心!”

“因为编译器这个‘保姆’,把一切都给你们干了!你们已经习惯了这种‘自动’,把它当成了空气和水一样,天经地义!”

“但是!”

钱学敏的语气,陡然变得严厉,像老师在训斥一群不用功的学生。

“看看你们现在在写什么!是内核!是直接跑在硬件上的,中断服务程序!这是一个完全不同的,更底层的,弱肉强食的原始世界!”

“在这里,没有‘保姆’!没有‘自动’!”

“每一次时间中断的发生,都是一次暴力的,不讲道理的‘闯入’!CPU这个莽夫,它只会机械地,把当前任务的执行现场,一股脑地压进内核的堆栈,然后把控制权交给你。它才不会管你之后要干什么,更不会帮你打扫卫生!”

“我们,作为内核的编写者,我们就是这个世界的‘上帝’!我们必须,手动地,去维护这里的一切秩序!我们就是规则本身!”

“我们冲进战场,杀了个七进七出,打赢了漂亮的一仗。可是打完之后呢?我们忘了清理战场上的弹壳,忘了给牺牲的兄弟收尸!”

“我们,忘了打扫战场!”

钱学敏的这番话,如同一把锋利的手术刀,毫不留情地,一层层剖开了问题的根源。

这不是一个简单的代码BUG。

这又是一次,思想上的,认知上的,巨大的鸿沟!

他们虽然在名义上,做着“创世”的工作,但他们的思维和习惯,还停留在“凡人”的层面。

他们还没有真正习惯,作为“上帝”,所必须承担的那份,对每一个字节,每一条指令,都要求绝对掌控的,沉重如山的责任!

“我明白了……”

黄建功缓缓抬起头,他眼中的迷茫和羞愧,在这一刻,尽数褪去,只剩下一种被烈火淬炼过的,破而后立的决绝。

打扫战场……

他走到黑板前,无视了上面画得满满当当的,曾经让他们引以为傲的“天枢”V0.3架构图。

他拿起一支红色的粉笔,在那张图上,代表着中断服务程序流程的出口处,重重地,画上了一个刺眼的箭头。

箭头的旁边,他用尽全身力气,写下了那几个冰冷的,带着血与泪教训的,汇编指令。

ADD  ESP,  12

将ESP寄存器(堆栈指针),向上移动12个字节。

这12个字节,就是他们在中断服务程序中,为了计算所谓的“切换成本”,而使用过的,那几个临时变量的大小。

一个简单的,不能再简单的动作。

却被他们,这群顶尖的智者,华丽地,彻底地,遗忘了。

代价,就是整个系统的,轰然崩溃。

写完这行字,黄建功手中的红色粉笔,“啪”的一声,被他捏成了两段。

他转过身,目光如刀,扫过软件组的每一个人。

“所有软件组的人,听着!”

他的声音,不再嘶哑,而是像寒冬腊月的冰凌,又冷又硬,砸在每个人的心上。

“我不管你们用什么方法。”

“熬通宵也好,不睡觉也好,把眼睛焊在屏幕上也好。”

“二十四小时!”

黄建功伸出了一根手指。

“我只给你们二十四小时!”

“我要你们,像篦虱子一样,把‘天枢’内核的每一行代码,都给我从头到尾,重新审查一遍!特别是所有和堆栈操作、中断处理、函数调用相关的底层代码!”

“我要你们找出每一个可能存在的‘垃圾’,每一个被遗忘的‘弹壳’!”

“我要确保,我们亲手挖的这个坟墓,被彻底地,用水泥给我灌上,填平!”

他顿了顿,声音压得更低,也更狠。

“并且,永远,不要再犯第二次!听明白了吗!”

“是!”

这一次,回答他的,不再是意气风发的欢呼,而是一片压抑着巨大羞辱和愤怒的,整齐划一的怒吼。

知耻而后勇!

羞辱,是最好的清醒剂。

失败,是最好的磨刀石。

这群天之骄子们,第一次尝到了因为自大和疏忽而带来的,惨败的滋味。他们要用自己的双手,用未来二十四小时的不眠不休,洗刷掉这份,几乎让他们身败名裂的,奇耻大辱!

一场围绕着“堆栈清理”的,与时间赛跑的,更是与自己思想深处的“习惯”这个妖怪作战的,疯狂的阻击战,在西山基地,再次,也是最后一次,悍然打响。

这一次,没有人再敢有丝毫的掉以轻心。

他们知道,他们面对的,是比任何技术难题都更可怕的敌人——他们自己。


  (https://www.shubada.com/105253/39426418.html)


1秒记住书吧达:www.shubada.com。手机版阅读网址:m.shubada.com