半个月后,上午九点,金陵大学计算机科学系报告厅。
八月的金陵依然酷热难耐,但报告厅里的空调嗡嗡运转着,将燥热挡在了门外。这间能容纳一百五十人的阶梯教室今天坐得满满当当——计算机科学系的全体教师都到了,连几位已经退休的老教授也拄着拐杖赶来旁听。消息不知怎么传了出去,数学系和物理系各有几位对计算机感兴趣的教师也悄悄坐在了后排。
这一切的安排,要归功于孙志远教授在过去十多天里的奔走。
自从8月初陆泽那次演示之后,孙志远当晚就失眠了。他从事计算机研究二十多年,见过无数号称“自主创新“的产品,但真正有技术含量的屈指可数。而盘古系统——一个从内核到图形界面全部自主研发的中文操作系统彻底颠覆了他的认知,尤其作者还是一个仅有十岁的孩子。
第二天一早,孙志远就去找了系主任李振华。
李振华今年五十五岁,是金陵大学计算机科学系的创系元老之一,性格务实而谨慎。听完孙志远的描述,他并没有立刻表态,只是说了一句:“让他来做个技术报告,全系教师参加。大家都听了,才有说服力。“
孙志远又通过周友森和孙健的协调,将此事上报给了分管科研和信息化的副校长赵明德。赵明德对国产操作系统一直很关注,当即表示原则上支持,但同样强调“要经过专家的严格评审“。
于是就有了今天这场技术报告会。
……
陆泽站在讲台上,面前是一台长城486电脑和一块黑板。他今天穿了一件白色短袖衬衫,显得干净利落。虽然台下坐着的都是大学教授,最年轻的也有二十五六岁,最年长的已经年过七旬,但陆泽的神态从容不迫,仿佛这就是他最熟悉的地方。
孙志远坐在第一排,充当了今天的主持人。
“各位老师,今天我们请美珍科技的技术负责人陆泽同学,为全系做一次关于盘古系统的技术报告。“孙志远的开场白简短而正式,“大家都知道,前段时间陆泽同学来我们系做过一次小范围的演示,我和在座的几位老师都觉得非常有价值。所以今天特别安排了这次全系范围的技术报告,让所有老师都能全面了解盘古系统的技术架构和设计理念。“
台下有人交头接耳,目光中带着好奇和审视。一个十岁的孩子给大学教授做技术报告,这在金陵大学的历史上从未发生过。
陆泽走到黑板前,拿起粉笔,写下四个大字:“盘古系统“。
“各位教授、各位老师,“他的声音清亮而沉稳,完全不像一个十岁孩子,“今天我向大家汇报的主题是盘古系统的技术架构。我将从四个层面来讲解——内核层、系统服务层、图形界面层和应用层。“
他转身在黑板上画了一个清晰的四层架构图,每一层之间用箭头标注了接口关系。粉笔在黑板上发出笃笃的声响,线条笔直而精确,像是一幅印刷出来的技术图示。
“最底层是硬件抽象层,“陆泽指着架构图的最下方,“这一层的作用是屏蔽不同计算机硬件之间的差异。无论是长城0520、386还是486,硬件抽象层提供统一的接口,让上层软件不需要关心具体的硬件细节。这种设计使得盘古系统可以在多种平台上运行,而不需要为每种硬件单独编译。“
台下的教授们微微点头。硬件抽象层的概念在操作系统教科书中是有的,但真正在工程实践中做到完善,需要极高的水平。
“第二层是LUNX内核,“陆泽继续说,“这是我们整个系统的核心。LUNX是一个类UNIX的操作系统内核,具有多任务、多用户、虚拟内存、网络协议栈等特性。我在这基础上做了大量的定制和优化。“
他在黑板上列出了几个关键技术点:“进程调度采用多级反馈队列算法,时间片轮转与优先级相结合。内存管理采用请求分页机制,支持虚拟内存和内存映射文件。文件系统兼容DOS的FAT格式,同时支持我们自研的扩展文件系统,支持长文件名和权限控制。“
一位头发花白的老教授举起手:“请问,你的进程调度和标准UNIX有什么不同?“
“好问题,“陆泽说,“标准UNIX的进程调度主要基于优先级,高优先级进程会一直运行直到阻塞或主动让出CPU。这种策略在交互式系统中容易导致响应延迟。我在此基础上引入了O(1)调度器的设计思想——每个优先级维护一个就绪队列,调度时直接从最高优先级的非空队列中取进程,时间复杂度恒定为O(1)。这保证了即使在系统负载很高的时候,调度开销也不会随着进程数量的增加而增长。“
那位老教授的眼睛猛地亮了,身体微微前倾。眼前这个十岁的孩子竟然已经在盘古系统中实现了O(1)调度器。
“网络协议栈方面,“陆泽没有给台下太多消化时间,继续推进,“我们实现了完整的TCPIP协议栈,包括ARP、IP、ICMP、TCP、UDP等核心协议。同时支持PPP拨号和以太网两种接入方式。“
这章没有结束,请点击下一页继续阅读!
他在黑板上画了一个协议栈的层次图:“最底层是以太网驱动或者PPP驱动,往上是IP层和网络层,再往上是传输层TCPUDP,最上面是应用层的Socket接口。这个协议栈的设计参考了BSD的TCPIP实现,但做了大量的性能优化。“
“具体的优化措施是什么?“孙志远忍不住问。
“三个关键优化,“陆泽竖起三根手指,“第一,零拷贝技术。数据从网卡缓冲区到用户空间的过程中,尽量避免内存拷贝,通过页面映射让用户进程直接访问内核缓冲区。第二,连接池和缓冲区预分配。避免了频繁的内存分配和释放带来的开销。第三,自适应的重传超时算法。根据网络延迟的实时变化动态调整RTO值,比传统的固定超时策略效率高得多。“
报告厅里安静了。教授们你看看我,我看看你,很多人脸上的表情已经从最初的审视变成了震惊。
……
陆泽接着讲解第三层——图形界面层,也就是UI层。
“这是盘古系统最具创新性的部分,“陆泽说,“我们在LUNX内核之上构建了一套轻量级的图形界面系统,包括窗口管理器、事件驱动模型和双缓冲绘图引擎。“
他在黑板上画了一个窗口管理器的结构图:“窗口管理器负责管理所有窗口的创建、销毁、移动、缩放和层叠关系。每个窗口对应一个客户进程,窗口管理器通过进程间通信机制与客户进程交换事件和绘制指令。“
“事件驱动模型采用了消息队列的机制,“他继续解释,“键盘输入、鼠标移动、窗口切换等事件被封装成消息,放入目标窗口的消息队列中。窗口过程函数从队列中取出消息并处理。这种设计的好处是解耦了事件产生和事件处理,使得系统可以同时响应多个输入源。“
“中文显示方面,“陆泽的语气加重了一些,“这是我们投入精力最多的部分。中文字符集庞大,国家标准总局于1980年发布的GB2312标准收录了六千七百多个汉字,每个汉字的点阵数据是32字节。如果把所有汉字的点阵数据都常驻内存,需要超过200KB的空间,在内存有限的计算机上会造成很大的压力。“
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:在黑暗向哨世界爆红后 穿到大汉搞基建 人鱼女王横扫星际 陸先生的祕密特調 丸辣,成为土地的我被她们包围辣 夏日乌龙茶 盗墓:木樨花开 满朝文武跪求我登基_酱爆娃娃菜 咸鱼选秀,误拐暴君 废土无限:开局方寸山学艺 人人皆为我着迷 纸和笔加好天气 青苹果 他泰兰德的彩虹旗 海岛随军孕吐,禁欲大佬心疼坏了 团宠小胖崽的西行之旅 重生赐婚宴,渣男太子喊我小皇婶 执与念 那个突然出现的未知名 我配不上的男神被我上了(NPH)