字体:大 中 小
护眼
关灯
上一章
目录
下一章
第683章 完美!
第(3/3)页
10毫秒敲响的。
但是,从“钟声”敲响,到内核完成现场的保存、新任务的选择、现场的恢复,再到新任务真正开始执行第一行代码……
这个过程,这个被称为“上下文切换”(Context Switch)的过程,它本身,是需要消耗时间的!
而这个时间,不是恒定的!
当切换的对象,是任务D这种“良民”时,它需要保存的“现场”很简单,所以切换开销小,只花了10微秒。
当切换的对象,是任务X这种“逆贼”时,它正在CPU内部进行着极其复杂的空转,寄存器状态瞬息万变,它需要保存的“现场”要复杂得多,所以,切换的开销,就暴增到了73微秒!
这个几十微秒的差距,对于普通人来说,完全无法察觉。
但对于一个追求极致精确和稳定的操作系统内核来说。
这是一个,隐藏在完美之下的,致命的瑕疵!
“原来……是这样……”黄建功喃喃自语。
他感觉自己的后背,冒出了一层冷汗。
他们考虑了“抢占”,考虑了“时间片”,却忽略了“抢占”这个动作本身,是有成本的。
而且,这个成本,还是浮动的!
这就好像,一个国家的法律,规定了每个人每天工作8小时。
但是,从A的家里,走到B的工厂,这个“通勤时间”,是没有被计算在内的。
而且,A住得近,通勤只要10分钟。
B住得远,通勤要一个小时。
长此以往,整个社会的“公平”,就在这不被计算的“通勤成本”中,被悄无声息地,侵蚀了。
“这个问题……很严重。”钱学敏的脸色,也变得无比凝重。
“现在,任务少,负载低,这个几十微秒的‘抖动’,还不明显。”
“但是,将来我们的系统,要同时运行成百上千个任务。这些微小的‘不公’,会不断地累加,放大。”
“最终,可能会导致某些需要精确时间控制的关键任务,彻底错过它的执行窗口。”
“比如,一颗正在飞行的导弹,它的姿态调整程序,如果因为这种‘抖动’,晚了几十微秒才执行……后果,不堪设想!”
钱学敏的话,让在场的所有人,都倒吸了一口凉气。
刚刚才取得的,足以载入史册的巨大成功。
在这一刻,仿佛又被蒙上了一层,不祥的阴影。
他们爬上了一座高峰,却发现,在更高,更远的地方,还有一座更加险峻,名为“精确”的,雪山之巅。
记住手机版网址:m.lewenwx.cc
上一章
目录
下一章