谷歌秀出新 KataOS,一款用 Rust 开发的安全操作系统
谷歌这家公司是一家非常愿意尝试开发操作系统的企业,这在各个大型互联网巨头是比较罕见的现象。
近日这家公司刚刚推出了嵌入式机器学习操作系统称为KataOS,目前属于实验性质。
KataOS与Sparrow是一对双胞胎,Kata是操作系统的设计,Sparrow是参考型实现。
谷歌的这项计划是要把KataOS变成了个“可证明的安全平台,针对于运行机器学习应用的嵌入式系统,并进行充分优化”。
谷歌与Antmicro进行合作,后者创建了操作系统seL4-sys crate(https://antmicro.com/blog/2022/08/running-rust-programs-in-sel4/),在ARM64指令集上开发,后面计划将在RISC-V的CPU上运行。
我们关注一下它在GitHub上的介绍,谷歌这款操作系统是用Rust全新开发,Rust 消除整个类型错误的特性是使 KataOS 成为安全操作系统的一个强有力的序章。KataOS的底层采用了使用C语言开发的seL4微内核(见下图)。
seL4主要使用C语言实现,其使用了基于微内核的嵌入式系统的组件架构CAmkES(https://docs.sel4.systems/projects/camkes/),CAmkES使用了Haskell和Python作为抽象层将C和Rust层连接在一起。
关于微内核,早在1980年就被视为下一代技术创新,尽管它还没产生太大的影响,但微内核的数量现在已经不少。比如Minix3就是一个成功的开源微内核,由Linux专家Andy Tanenbaum博士开发,它是数百万Intel CPU的系统管理控制器。
而 QNX 是 BlackBerry 10操作系统的基础,也是黑莓的超级现金牛,被称为业界最畅销的商业微内核。
你所用到的最成功的微内核之一,无疑是Apple的macOS,你可知道它之前叫MacOS X,最早叫NeXTstep。它就是基于开源的XNU内核,基于卡内基梅隆大学叫做Mach的首代微内核之一。
XNU 之中有一个基于FreeBSD代码的内核“Unix服务器”,严格意义上称作混合内核,不能算是纯微内核。
Security Enhanced L4,简称 seL4,是更大的L4 家族中的其中一员,由已故的Jochen Liedtke 针对 Mach 专门设计,其核心目标便是提高微内核性能。
在KataOS中,Sparrow负责参考实现,将KataOS与安全硬件平台结合。
目前,谷歌已经在GitHub上开源了大部分内核部分,未来它将开源所有Sparrow,包括硬件和软件设计。
从另一角度,像KataOS这种小众系统成功机率低于通用操作系统。在谷歌之前的操作系统中,最著名的是 Fuchsia,这是一款多平台操作系统,继承了安卓的部分特性,有一部分也有物联网的属性,谷歌最终做成了它。
希望 KataOS 也会是一个好开始。
作者:场长
相关阅读: