字体:大 中 小
护眼
关灯
上一章
目录
下一章
第688章 亲手挖掘的坟墓!
第(2/3)页
着屏幕,用近乎梦呓般的声音问道:“所以……所以我们的系统崩溃,只是因为……因为我们在中断程序的最后,忘了……忘了加一行……或者几行,让堆栈指针回去的代码?”
这个问题,太天真了。
天真到残忍。
它像一把小刀,精准地捅进了在场所有高级研究员的心窝子里。
是的。
就是这么简单。
可能就是一行“ADD ESP, 12”的指令。
就因为忘了这几个字节的清理,他们呕心沥血打造的,拥有4MB巨大内存的系统,在运行了三十分钟后,像一个溺水的人一样,窒息而死。
孙立国听到这个问题,再也忍不住,猛地冲到角落的垃圾桶旁,“哇”的一声,把胆汁都吐了出来。
这不是技术问题。
这是耻辱!是奇耻大辱!
“思想钢印……”
一片死寂中,钱学敏缓缓地,吐出了这四个字。
她的脸色同样苍白,但眼神,却不像其他人那样涣散,反而异常的清醒,甚至带着几分刀锋般的锐利。
她走到孙立国身边,没有安慰,只是平静地看着他,然后目光扫过整个软件组的成员。
“这和上一次的‘堆栈隔离’问题,你们不觉得,很像吗?”
她的声音不大,却像一把重锤,敲在每个人的心上。
众人猛地一震。
“我们,还是没有从根本上,摆脱掉写‘应用程序’的思维模式。”钱学敏的声音里,带着一丝冷意。
“你们想想,你们在大学里,用C语言,用Pascal写程序的时候,你们关心过一个函数调用结束后,它的局部变量是怎么被释放的吗?你们关心过堆栈指针是怎么恢复的吗?”
“不,你们不关心!”
“因为编译器这个‘保姆’,把一切都给你们干了!你们已经习惯了这种‘自动’,把它当成了空气和水一样,天经地义!”
“但是!”
钱学敏的语气,陡然变得严厉,像老师在训斥一群不用功的学生。
“看看你们现在在写什么!是内核!是直接跑在硬件上的,中断服务程序!这是一个完全不同的,更底层的,弱肉强食的原始世界!”
“在这里,没有‘保姆’!没有‘自动’!”
“每一次时间中断的发生,都是一次暴力的,不讲道理的‘闯入’!CPU这个莽夫,它只会机械地,把当前任务的执行现场,一股脑地压进内核的堆栈,然后把控制权交给你。它才不会管你之后要干什么,更不会帮你打扫卫生!”
“我们,作为内核的编写者,我们就是这个世界的‘上帝’!我们必须,手动地,去维护这里的一切秩序!我们就是规则本身!”
“我们冲进战场,杀了个七进七出,打赢了漂亮的一仗。可是打完之后呢?我们忘了清理战场上的弹壳,忘了给牺牲的兄弟收尸!”
“我们,忘了打扫战场!”
钱学敏的这番话,如同一把锋利的手术刀,毫不留情地,一层层剖开了问题的根源。
这不是一个简单的代码BUG。
这又是一次,思想上的,认知上的,巨大的鸿沟!
他
(本章未完,请翻页)
记住手机版网址:m.lewenwx.cc
上一章
目录
下一章