书吧达 > 四合院开局四八,八岁带妹逃荒 > 第675章 真正的君权!

第675章 真正的君权!


“一个睡着了的君王,要如何把权力抢回来?”

黄建功提出的这个问题,像一块巨石,沉甸甸地压在每个人的心头。

刚刚因为“抢占式”这个新概念而燃起的希望火焰,瞬间又被这盆冷酷的现实冰水,浇得摇摇欲坠。

是啊。

这才是问题的核心。

在单核CPU的简单世界里,在任何一个时刻,都只有一个程序,是真正“活”着的,是真正占有着CPU的。

当任务A在运行时,它就是此刻唯一的“王”。

“天枢”内核,无论被设计得多么强大,在那个瞬间,它也和任务B、任务C一样,只是一段被存放在内存里的,冰冷的,没有生命的二进制数据。

它本身,没有能力去干涉正在运行的任务A。

这似乎是一个无解的死循环。

想要“抢占”,内核必须是“活”的。

但想要内核“活”过来,正在运行的任务A,又必须先“死”掉(放弃CPU)。

“难道……要加一个CPU?”一个年轻的研究员异想天开地说道,“一个CPU专门跑任务,另一个CPU专门跑内核,用来监视第一个CPU?”

这个想法立刻被否决了。

“不行!”周老摇了摇头,“‘盘古之心’是我们倾尽所有才造出来的,再造一个,短期内绝无可能。而且,双核系统的复杂性,比我们现在遇到的问题,要高出好几个数量级!”

实验室再次陷入了沉默。

所有人都绞尽脑汁,试图从软件层面,找到一条可以“让睡着的君王自己醒来”的路径。

“有没有可能,在编译环节做手脚?”孙立国提出一个想法,“我们用‘鲁班神斧’编译所有应用程序时,强制在每几行代码后面,都自动插入一条`system_yield()`调用?这样,就算程序自己写了死循环,也会被我们强制插入的代码给打断。”

这个思路很巧妙,立刻引起了大家的讨论。

“这……好像可行!”

“这样一来,所有程序,都变得‘可控’了!”

但钱学敏很快就指出了其中的问题。

“这个方法,治标不治本。”她的声音很冷静,“第一,它会极大地降低程序的运行效率。本来一条简单的加法,可能会被我们强行插入的几十条内核调用指令拖慢上百倍。”

“第二,也是最致命的。如果有人绕过了我们的‘鲁班神斧’,直接用机器码写了一个恶性程序呢?我们对它,就毫无办法了。我们的系统,依然是不安全的。”

“我们需要的,是一种更底层的,更强制的,不受上层应用程序代码影响的……君权!”

钱学敏的话,让众人再次冷静下来。

他们意识到,任何试图从软件层面解决这个问题的方案,都有其局限性。

因为软件,管不了正在运行软件的CPU本身。

“君权……君权……”黄建功在黑板前踱来踱去,嘴里反复念叨着这个词。

他的大脑在飞速运转。

既然软件的道路走不通。

那么……

他的脚步猛地一顿,目光豁然转向了实验室的另一角。

那里,是周老带领的“硬件协同组”的工作区域。

“答案……一定在软件之外!”

黄建功的声音,如同洪钟大吕,在每个人耳边响起。

“当一个程序在运行时,唯一能打断它的,只有比它更高维度的力量!”

“那就是……硬件!”

“我们需要一个外力!一个不依赖于CPU当前正在执行什么指令的,独立的,可以从外部,强行中断CPU执行流程的……硬件信号!”

硬件中断!

这个计算机体系结构中最基本,也最重要的概念之一,如同闪电般,照亮了所有人的思维。

他们之前所有的思考,都局限在CPU内部的指令流转上。

他们忘了,CPU,并不是一个封闭的王国。

它有无数的“城门”(中断引脚),可以接收来自外部世界(其他硬件设备)的信号。

当一个中断信号传来时,CPU会立刻停下手中正在做的一切工作,不管那是一个死循环还是一个正常计算,它都会强制性地,跳转到内存中一个预先设定好的地址去执行。

那个地址,就是“中断服务程序”的入口。

“我明白了!”孙立国激动地一拍大腿,“我们只要把‘天枢’内核的一部分,注册成这个‘中断服务程序’。那么,当中断信号一来,CPU就会自动把控制权,交还给我们的内核!”

“这样一来,‘睡着的君王’,就被强行‘唤醒’了!”

“醒来之后,他就可以从容地,剥夺那个被打断的臣子的权力,然后决定,下一个该让谁上台!”

思路,彻底通了!

从“协同式”到“抢占式”的理论鸿沟,在“硬件中断”这个概念的桥梁下,被彻底填平。

整个实验室,再次爆发出劫后余生般的巨大喜悦。

这一次的喜悦,比之前任何一次都更加踏实,更加厚!

因为他们知道,这一次,他们找到的是真正的,通往操作系统圣殿的,康庄大道!

“好!好!好!”聂老总连说三个好字,他激动地走上前,紧紧握住黄建功的手,“需要什么样的硬件信号?怎么实现?立刻拿出方案来!”

黄建功的目光,再次投向了周老。

全场的目光,也都聚焦在了这位白发苍苍的硬件泰斗身上。

现在,皮球,踢到了硬件组的脚下。

他们需要找到,或者说,创造出那个能“唤醒君王”的,神圣的信号。

黄建功走到周老面前,神情无比郑重。

“周老,我们需要一个,可以周期性地,产生中断信号的设备。”

“比如,每隔10毫秒,就发一个信号。每隔10毫秒,就发一个信号。”

“这个信号,就像是时间的脉搏,一下,一下,匀速地,永不停歇地跳动。”

“每一次跳动,都是君王行使权力的号角!都是内核重掌乾坤的时刻!”

“我们把这个固定的时间间隔,称为……”

黄建功转过身,在黑板上写下。

“‘时间片’(Time  Slice)!”

“而那个能产生周期性脉搏的硬件,我们叫它……”

“‘可编程间隔定时器’(Programmable  Interval  Timer,简称PIT)!”

“周老。”黄建功看着他,一字一句地问道,“我们的‘盘古之心’,或者说,老师留下的那份‘创世圣经’里,有这个东西吗?”

周老的脸色,在众人期待的目光中,一点一点地,变得凝重起来。


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


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