默认冷灰
24号文字
方正启体

第676章 时间的脉搏!

作者:来财来我们都发财本书字数:K更新时间:
    “可编程间隔定时器……”


    周老咀嚼着这个陌生的名词,眉头紧锁。


    他身后的硬件组专家们,也都是一脸茫然。


    他们是电子学和硬件工程的顶级专家,精通逻辑门、时序电路、总线协议。


    但“可编程间隔定时器”这个高度功能化的概念,对他们来说,是全新的。


    这不仅仅是一个简单的晶振或者时钟发生器。


    它需要“可编程”,意味着软件可以设置它的中断频率。


    它需要能产生“中断”,意味着它要能和CPU的中断控制器进行正确的协议交互。


    这已经是一个小型的、独立的、智能的硬件模块了。


    黄建功看着周老凝重的表情,心,一点点地沉了下去。


    “周老,您……”


    周老摆了摆手,打断了他的话。


    他没有立刻回答“有”或者“没有”。


    他转身,对着身后的团队,下达了命令。


    “把‘创世圣经’的全部图纸,都给我调出来!”


    “从第一页,到最后一页!”


    “每一个元器件,每一条走线,每一个标注,都不要放过!”


    “我要你们,像篦子一样,给我重新梳理一遍!”


    “我们要找的,是一个能‘定时’,并且能向CPU发送信号的电路!不管它在图纸上叫什么名字!”


    “是!”


    硬件组的专家们立刻行动起来。


    巨大的,如同画卷一般的拖拉机图纸,再次被铺满了整个实验室的地面和墙壁。


    这些曾经被他们视为天书的图纸,在经历了“盘古之心”和“鲁班神斧”的洗礼后,大部分内容,已经被他们破译和理解。


    他们知道哪里是能量核心,哪里是计算单元,哪里是存储阵列。


    但这一次,他们要寻找的,是一个全新的,他们从未关注过的东西。


    一个时间的脉搏。


    整个实验室,再次陷入了紧张而有序的忙碌之中。


    黄建功、钱学敏带领的软件团队,也没有闲着。


    他们假设,硬件组最终能够找到,或者制造出这个“定时器”。


    他们要做的,是在软件层面,为这个即将到来的“心跳”,做好一切准备。


    “钱学敏,你带一组人,立刻开始设计新的‘天枢’内核V0.2版本架构!”


    黄建功在黑板前,快速地勾勒着新的蓝图。


    “新的内核,必须是围绕‘时间中断’来构建的!”


    “当中断发生时,CPU会跳转到我们的中断服务程序。这个程序,就是我们新的`scheduler()`调度器!”


    “在这个调度器里,我们要实现真正的‘时间片轮转算法’!”


    他一边说,一边画。


    “我们要维护一个‘就绪队列’,里面放着所有等待运行的任务。”


    “每次时间中断,调度器就从队列头部,取出一个任务,让它运行一个‘时间片’。”


    “时间片耗尽,下一次中断到来,调度器再次被唤醒。它会把刚刚运行的任务,放回队列的末尾,然后再从头部,取出新的任务……”


    “如此循环往复,周而复始!”


    “这样一来,每一个任务,都能公平地,分到一小块CPU时间。哪怕其中一个是死循环的‘流氓’,它也只能在属于它的那个小小的时间片里‘撒野’。时间一到,权力就会被我们无情地剥夺!”


    一个公平,公正,充满了秩序美感的,真正的抢占式多任务调度模型,在黄建功的粉笔下,清晰地呈现出来。


    在场的软件专家们,看得如痴如醉。


    这才是他们梦寐以求的,完美的操作系统模型!


    “太美了……这个设计……”孙立国喃喃自语,“就像一个精准无比的时钟,驱动着整个世界有条不紊地运转。”


    “对,就是时钟!”黄建功重重点头,“而驱动这个时钟的,就是硬件组要找的那个‘定时器’!它,就是我们整个操作系统的……心脏!”


    所有人,都将目光,投向了那群正趴在图纸堆里,如同考古学家般,一寸一寸搜寻的硬件专家们。


    整个“天枢”V0.2计划的成败,所有软件工程师的梦想,此刻,都系于他们身上。


    时间,一分一秒地过去。


    一个小时。


    五个小时。


    一天。


    两天。


    软件组这边,由钱学敏主导的《天枢内核V0.2设计规范》,已经初步成稿。新的调度算法,新的任务状态模型(增加了‘阻塞’状态),新的系统调用接口,都已经定义得清清楚楚。


    万事俱备,只欠东风。


    而硬件组那边,却依旧是死一般的沉寂。


    周老和他的团队,已经三天三夜没有合眼了。


    他们把那上千张巨大的图纸,翻来覆去看了不下十遍。


    他们找到了负责产生CPU核心频率的晶体振荡器电路。


    他们找到了负责总线同步的时钟发生器。


    他们甚至找到了几个用于延时控制的RC电路。


    但是,他们没有找到任何一个,符合黄建功描述的,“可编程的”,“能独立产生周期性中断”的,PIT。


    第三天深夜。


    周老拖着疲惫不堪的身体,走到了黄建功和聂老总的面前。


    他的嘴唇干裂,双眼布满了血丝,整个人好像瞬间老了十岁。


    他手里,拿着一张薄薄的报告。


    “黄总工,聂老总……”


    他的声音,沙哑得几乎听不清。


    “我们……把所有的图纸,都分析了三遍。”


    “结论是……”


    他顿了顿,艰难地,从喉咙里挤出了那几个字。


    “没有。”


    “图纸上,没有这个东西。”


    没有。


    这两个字,像两记重锤,狠狠地砸在了黄建功和钱学敏的心上。


    软件蓝图画得再完美,没有硬件的心脏,那也只是一张废纸。


    “会不会……是我们理解错了?”黄建功还抱着最后一丝希望,“老师的设计里,可能用了一种我们不认识的方式,来实现这个功能?”


    周老痛苦地摇了摇头。


    “我们分析了所有能向CPU中断控制器发送信号的线路。一共只有七条。”


    “一条来自外部的紧急停止按钮。”


    “五条来自各个I/O设备(比如键盘、存储器)的数据请求。”


    “还有一条,是能量核心的过载警报。”


    “没有一条,是来自一个‘定时器’的。”


    “结论是唯一的。”周老的声音里,充满了挫败和不甘,“原始设计里,根本就没有考虑过‘抢占式多任务’这种应用场景。所以,它根本就没设计这个功能模块。”


    整个实验室,陷入了绝望的死寂。


    他们再一次,撞上了一堵墙。


    一堵冰冷的,坚硬的,名为“硬件不存在”的,绝望之墙。


    软件的智慧,在硬件的缺失面前,显得如此苍白无力。


    聂老总沉默地听完了周老的汇报。


    他没有说话,只是默默地走到窗边,看着外面漆黑的夜空。


    良久。


    他缓缓转过身。


    他的脸上,没有了之前的激动,也没有了愤怒,只剩下一片深不见底的疲惫。


    他看着黄建功,看着钱学敏,看着周老,看着在场每一个垂头丧气的顶级专家。


    他知道,这一次,是真的到极限了。


    这不是靠拼搏和努力就能解决的问题。


    这是从“无”到“有”的创造。


    是他们目前,还无法触及的,神之领域。


    他的目光,最终落在了那个从始至终,都站在角落里,一言不发的,李兴华的身上。


    李兴华的心,猛地一颤。


    他知道,该来的,终究还是来了。


    “兴华同志。”


    聂老总的声音,平静,却带着一丝无法抗拒的重量。


    “准备一下吧。”


    “第十六次远征。”
(←快捷键) <<上一章 投推荐票 回目录 标记书签 下一章>> (快捷键→)