李元根据效果,不断细化描述,增加参数。
当达到满意的效果后,再要求“女娲”对此段代码进行优化,确保效率和效果达到一定的平衡。
开始时,慢一点,但是当“女娲”积累了足够多的素材后,这份工作便快了起来。
李元的参与度也大幅下降,他有了更多的时间做其他工作。
当模块集成、测试完成后,进入系统集成阶段。
在这个阶段,遇到了最大的问题。
由于内核的内部模块相互耦合,虽然提升了调度效率,但是非常容易导致系统崩溃。
无论如何优化内核,这种频繁崩溃的问题一直无法有效解决。
天可怜见,终于在半年后,触发了签到系统,得到一本操作系统技能详解。
技能除了讲解操作系统的原理外,还附带了一些典型的操作系统。
内容包括linux、Windows32、Windows95、WindowsNT、实时RTOS等常见系统。
通过翻找知识,和比对各种系统,让他找到了“银河”系统崩溃的真正原因。
第一版“银河”的内核是“详解”里描述的大内核。
就是把进程管理、存储管理、设备管理、时钟管理、中断处理和原语六大模块集成在一起。
优点:性能高,内核内部各种功能都可以直接相互调用
缺点:内核庞大,功能复杂,难以维护。大内核中某个功能模块出错,就可能导致整个系统崩溃。
Linux和早期版本的Windows系统就是大内核。
WindowsNT及后期版本全都是微内核系统。
微内核是把中断、原语、进程通信等最核心的功能放入内核。
进程管理、文件管理、设备管理等功能以用户进程的形式运行在用户模式。
优点:内核小,功能少,易于维护、内核可靠性高,内核外的某个功能模块出错不会导致整个系统崩溃
缺点:性能低,需要频繁的切换用户模式/核心模式。
用户模式下的各功能模块不可以直接相互调用,只能通过内核的“消息传递”来间接通信。
搞明白原因,李元直接放弃大内核系统,采用经过大量验证过其稳定性的微内核。
相比于大内核,微内核虽然效率低一些,但是它的稳定性和可扩展性是未来操作系统的主流方向。
随着硬件性能的提升,这些效率上的差别将会被忽略。
三年前,李元完成了“银河66”的第一版设计。
通过“女娲”机器人的内核测试,系统非常健壮,几乎很少见到系统崩溃。
李元又基于仓颉1.0,用时三个月,在“女娲”的帮助下,开发出桌面文字处理工具“毕昇”,缩写为“BSV1.0”。
支持图文和表格操作,常用功能完全复制office。
接下来,又用时2年,完成了EDA芯片设计软件的编写。
EDA的全称是Electronic design automation,翻译过来是电子设计自动化。
既然操作系统和文档编辑软件都是中文名称,故而EDA中文名是“鲁班”。
自此,李元现在拥有的自主知识产权的软件有:
桌面操作系统:银河;
文档处理软件:毕昇;
EDA设计工具:鲁班。