2023-05-26 22:28:30
看名字就知道这玩意是基于seL4的。选这个当内核主要是它是微内核而且看着比较牛b。至于MINIX我想了下还是没用,毕竟是教学用内核,更适合理想化的教学场景。
说下为啥想做这系统吧。
首先是我早就想自己做个系统了,小学那会是冲着想自己做一套UI去的,结果撞死在了学汇编的路上。初中那会倒是没咋想,高中从2020寒假正式开始玩Linux,就重新开始接触操作系统相关的部分。再到大学,学了操作系统(可惜我们好像没内核实验)、计组、数电等专业课后,对操作系统有了一个理性的认识。不过真正想做是因为GPT等LLM的强势爆发,以及球2中所设想的自适应自感知后面太长了没记住操作系统的概念。
有了设想,有了工具,想要尝试是水到渠成的事情。
没球2里边说的那么夸张。主要是发现我杜撰的名词“面向LLM编程”的潜力好像不小,所以想借助它来尝试构建球2里展现出来的这个能自主识别、适应外围硬件、自主改变系统容量和节点、自主资源调度,自主控制系统完成任务的功能。
所以系统的效果,大概就是能宏观上无需其他配置,自动控制大量硬件、外围设备,自动分析系统架构、自主维持系统运行,甚至能自主推测出系统的目标并生成一套任务控制和系统状态监管的次世代操作系统。
最近微软搞了Windows Copilot,我觉得这东西可能也还行。它的目标显然是侧重于工作处理,以系统的能力去调动软件,来提升工作效率。而这和我的目标基本不一样,我搞出来的东西可以实现的一个东西就是智能工厂:把设备接入整个工厂,实现自主控制生产建造,自主状态监控,资源调度等。
操作系统有时候的行为/反应不够智能,而大模型所展现出来的经验提炼和使用能力令人惊喜。基于这点,我想尝试让LLM去解决传统system领域的一些困难与不便。通过给它投喂各种数据,让它“学会”检测和识别各种异常状况,从而实现操作系统领域的“自动驾驶”。
比如系统资源管理方面,在可用内存分配这一点,传统系统依赖被动的LMK来应对可能的Memory Leak;处理器性能调度上,有时会有一个计算进程长时间占用处理器导致系统无法操作的问题;再比如挖矿病毒这种长期占用计算机算力,并长期异常占用一部分上下行带宽的隐藏进程,诸如此类。
这些问题并非传统系统的研究课题,但在实际生产中我们总会遇到这样的问题。因此,借助一个辅助工具帮助我们应对这类问题,辅助系统运行,应该算是一个智能软件领域的课题。
更进一步,让一个智能软件去自动化辅助,管理和调度一个集群的资源和运行状态,是一个更大的用途。传统的集群管理,基于容器化的k8s技术已经是较为成熟和健壮的解决方案,然而它们只管创建和。
首先从跑通内核编译开始吧。