“皇帝的新衣……”
当这五个字从钱学敏口中吐出时,黄建功感觉到一阵天旋地转。
他踉跄着后退了两步,扶住了冰冷的机柜,才没有摔倒在地。
羞辱。
前所未有的,深入骨髓的羞辱感,瞬间淹没了他。
比“内核恐慌”时更甚。
“内核恐-慌”的失败,是技术上的失误,是他们学艺不精,是他们忽略了一个重要的技术细节。
而这一次的失败,是思想上的。
是世界观层面的,根本性的错误。
他们以为自己登上了珠穆朗玛峰,为此欢呼雀跃,结果却发现,自己只是爬上了一个小土包,而真正的高峰,还在云端之上,甚至连轮廓都未曾看清。
他们创造的,所谓的“天枢”内核,这个被他们寄予厚望的“系统之魂”,从本质上来说,就是一个被动的,软弱的“协调员”。
它没有权力。
它的一切调度能力,都建立在一个脆弱的“君子协定”之上。
它“请求”任务A运行,任务A运行。
它“等待”任务A主动放弃CPU。
如果任务A是一个守信用的君子,它会准时地调用`system_yield()`,将CPU控制权交还。
但如果任务A是一个“流氓”呢?
如果任务A的代码里,有一个恶性的bug,比如一个`while(1){}`的死循环,它将永远不会调用`system_yield()`。
那结果会是什么?
结果就是,整个系统,将会被任务A这一个“流氓”,彻底霸占。
任务B,任务C,以及所有其他等待运行的任务,将永远没有出头之日。
“天枢”内核自己,也将永远地,被晾在一边,像一个被架空了权力的可怜君王,眼睁睁地看着自己的王国陷入混乱,却无能为力。
他们之前遇到的“死循环”问题,根本没有被解决!
只是被他们用一种更巧妙的方式,给“绕”过去了!
而那个偶尔多出来的‘A’,就是这个脆弱系统,发出的,最无情的嘲讽。
它用事实告诉这群自以为是的科学家:你们的系统,根本不可靠。只要我(任务A)稍微“任性”一点,整个系统的秩序,就会被瞬间打破。
“原来……是这样……”
“协同式多任务……我们做的,只是最原始的协同式……”
“我们……我们竟然为这个在庆祝……”
实验室里,专家们一个个面如死灰。
那串还在屏幕上跳动的“ABAB”,此刻在他们眼中,不再是美丽的舞蹈,而是赤裸裸的讽刺。
每一个字符,都像一个巴掌,火辣辣地扇在他们的脸上。
聂老总一直站在后面,他听完了钱学敏的分析,脸色变得异常凝重。
他不是技术专家,但他听懂了那个“君王与臣子”的比喻。
他走到秘书小刘的身边,小刘正一脸煞白地站在那里,怀里那份还未送出的捷报,此刻变得无比的烫手。
聂老总没有说话,只是伸出手。
小刘颤抖着,将那份报告递了过去。
聂老总接过报告,看也没看,两只手抓住报告的两端。
“刺啦——”
一声刺耳的撕裂声响起。
那份承载着无上荣耀的,写着“盘古开天,天枢立极”的捷报,被他,当着所有人的面,撕成了两半。
然后,是四半,八半……
碎纸屑,如同雪花一般,从他手中飘落。
这个动作,比任何严厉的批评,都更让在场的科学家们感到心如刀绞。
“建功。”
聂老总的声音,平静得可怕。
“我不是在怪你们。”
“我只是想告诉你们,科学,来不得半点虚假。行,就是行。不行,就是不行。”
“现在看来,是还不-行。”
黄建功低着头,双拳紧握,指甲深深地嵌进了肉里,他却感觉不到丝毫的疼痛。
“是我们的错,老总。”他的声音,沙哑得好像被砂纸磨过,“是我们太自大,太想当然了。我们……我们让您失望了。”
“不。”聂老总摇了摇头,“你们没有让我失望。你们能在这么短的时间内,发现问题的本质,这本身就是一种巨大的进步。”
他环视全场,目光从每一个失魂落魄的专家脸上扫过。
“现在,脱下那件‘皇帝的新衣’。告诉我,真正的‘灵魂’,应该是什么样子?”
真正灵魂,应该是什么样子?
这个问题,如同一记重锤,狠狠地敲在每一个人的心上。
黄建功猛地抬起头。
他的眼中,褪去了羞愧和迷茫,取而代之的,是一种破而后立的,决绝的光芒。
他冲到黑板前,抓起粉笔,将之前画的那个代表“天枢”内核的方框,擦得一干二净。
然后,他重新画了一个更大的,位置在所有“任务”之上的方框。
“真正的灵魂,真正的君王,不应该‘请求’!”
他的声音,铿锵有力,在寂静的实验室里回响。
“它应该‘命令’!”
“它不应该‘等待’臣子交还权力!”
“它应该有权力,在任何它想的时候,从臣子手中,把权力,直接‘抢’回来!”
他重重地在黑板上,画了一个从“天枢”指向“任务A”的,粗大的,单向的箭头。
箭头的旁边,他写下了两个字。
“剥夺!”
“这!”钱学敏的眼睛亮了起来,“这才是真正的‘调度’!不是协同,是‘抢占’!”
“抢占式多任务(Preemptive Multitasking)!”孙立国脱口而出,他的声音因为激动而颤抖。
这个全新的,充满了力量和权威的词汇,让所有专家的眼中,都重新燃起了火焰。
是的。
这才是他们想要的。
一个拥有绝对统治力的,说一不二的,真正的系统之魂!
一个可以对任何不听话的“流氓”任务,进行无情“剥夺”和“镇压”的,铁腕君王!
思路,豁然开朗。
新的世界,在他们面前,徐徐展开。
但是,一个新的,更加巨大的,更加本质的问题,也随之浮现在所有人面前。
黄建功看着黑板上那个代表“剥夺”的箭头,眉头再次紧紧地锁了起来。
“可是……”
“我们怎么‘抢’?”
“当任务A正在CPU上疯狂运行时,我们的‘天枢’内核,它自己,也只是沉睡在内存里的一段代码而已。”
“一个睡着了的君王,要如何从一个正在狂欢的臣子手里,把权力抢回来?”