第668章 致命的错误!_四合院开局四八,八岁带妹逃荒 首页

字体:      护眼 关灯

上一章 目录 下一章

第668章 致命的错误!

第(2/3)页

它会不停地在屏幕上打印字符‘A’。”

“任务B,也是一个死循环,它会不停地打印字符‘B’。”

他解释道:“在没有‘天枢’内核之前,如果我们先运行任务A,那么整个系统就会被任务A占死,屏幕上会永远是‘AAAAA……’,任务B永远没有机会运行。这就是我们之前遇到的‘死循环’。”

“但是现在,”黄建-功的眼中闪烁着自信的光芒,“我们在任务A和任务B的循环体内部,都加入了一行特殊的代码:`system_yield()`。这个函数,会主动调用我们刚刚烧录进去的`task_yield()`内核函数。”

“我们的预期是,当任务A打印一个‘A’之后,就会主动放弃CPU,让内核把控制权交给任务B。任务B打印一个‘B’之后,也主动放弃CPU,再把控制权交还给任务A。”

“所以,如果‘天枢’内核工作正常,我们在屏幕上看到的,将不再是‘AAAAA……’或者‘BBBBB……’,而是……”

“‘ABABABAB……’!”钱学敏替他说了出来,声音里充满了期待。

所有人都明白了。

这个简单的“ABAB”交替打印,背后代表的,是操作系统历史上最伟大的一步:协同式多任务!

它意味着,“盘古之心”将不再是一个一次只能干一件事的笨蛋,而是一个懂得“分享”和“协作”的,拥有初步智能的生命体!

“准备测试!”黄建功深吸一口气,下达了最后的命令。

他亲自操作,先调用了两次`task_create()`,在“天枢”内核中,创建了任务A和任务B。

然后,他敲下了启动指令。

“运行任务A!”

回车键按下。

整个实验室,死一般的寂静。

所有人的心脏,都提到了嗓子眼。

屏幕上,光标闪烁。

下一秒。

一个清晰的,绿色的字符,出现在屏幕左上角。

A

成功了!任务A成功运行了!

还没等众人欢呼,就在那个“A”出现的瞬间,黄建功编写的`system_yield()`被触发。

CPU的控制权,从任务A,跳转到了那段刚刚烧录进去的,神秘而伟大的“天枢”内核代码中!

内核代码开始执行。

它保存任务A的现场,将任务A的状态从“运行”改为“就绪”。

然后,它在任务队列里,找到了下一个等待运行的任务——任务B。

它加载任务B的现场,将任务B的状态从“就绪”改为“运行”。

最后,它一个跳转,将CPU的控制权,交给了任务B!

整个过程,发生在电光火石之间,肉眼完全无法察觉。

在所有人看来,就是那个“A”字刚刚出现……

紧接着,在“A”的旁边,又跳出了一个字符。

B

“成功了!”

“是B!是B!任务切换成功了!”

孙立国第一个尖叫起来,他激动地跳了起来,一把抱住了身边的同事。

实验室瞬间变成了欢乐的海洋!

“ABABAB……”

屏幕上,A和B两个字符,正在完美地,以一比一的频率,交替出现,向整个世界宣告着一个新纪元的到来!

这不再是“Hello,  World!”那样的简单问候。



(本章未完,请翻页)
记住手机版网址:m.lewenwx.cc
加入书签我的书架

上一章 目录 下一章