当这五个字从钱学敏口中吐出时,黄建功感觉到一阵天旋地转。
他踉跄着后退了两步,扶住了冰冷的机柜,才没有摔倒在地。
羞辱。
前所未有的,深入骨髓的羞辱感,瞬间淹没了他。
比“内核恐慌”时更甚。
“内核恐-慌”的失败,是技术上的失误,是他们学艺不精,是他们忽略了一个重要的技术细节。
而这一次的失败,是思想上的。
是世界观层面的,根本性的错误。
他们以为自己登上了珠穆朗玛峰,为此欢呼雀跃,结果却发现,自己只是爬上了一个小土包,而真正的高峰,还在云端之上,甚至连轮廓都未曾看清。
他们创造的,所谓的“天枢”内核,这个被他们寄予厚望的“系统之魂”,从本质上来说,就是一个被动的,软弱的“协调员”。
它没有权力。
它的一切调度能力,都建立在一个脆弱的“君子协定”之上。
它“请求”任务A运行,任务A运行。
它“等待”任务A主动放弃CPU。
如果任务A是一个守信用的君子,它会准时地调用`system_yield()`,将CPU控制权交还。
但如果任务A是一个“流氓”呢?
如果任务A的代码里,有一个恶性的bug,比如一个`while(1){}`的死循环,它将永远不会调用`system_yield()`。
那结果会是什么?
结果就是,整个系统,将会被任务A这一个“流氓”,彻底霸占。
任务B,任务C,以及所有其他等待运行的任务,将永远没有出头之日。
“天枢”内核自己,也将永远地,被晾在一边,像一个被架空了权力的可怜君王,眼睁睁地看着自己的王国陷入混乱,却无能为力。
他们之前遇到的“死循环”问题,根本没有被解决!
只是被他们用一种更巧妙的方式,给“绕”过去了!
而那个偶尔多出来的‘A’,就是这个脆弱系统,发出的,最无情的嘲讽。
它用事实告诉这群自以为是的科学家:你们的系统,根本不可靠。只要我(任务A)稍微“任性”一点,整个系统的秩序,就会被瞬间打破。
“原来……是这样……”
“协同式多任务……我们做的,只是最原始的协同式……”
“我们…