多核心操作系统Barrelfish尚还历历在目,今天我们又看到了微软的另一个操作系统项目,代号“Helios”(太阳神).
Helios是一个基于卫星内核(satellite kernel)的异构多处理平台,其根源可以追溯到微软的另一个操作系统项目“Singularity”——一个完全以托管代码形式开发的微型内核操作系统和一系列相关工具、库,还衍生出了“Midori”.
微软在一份14页的文档中开篇解释说:“Helios操作系统的设计目的是简化异构平台上的应用程序编写、部署和调整.Helios引入了卫星内核,使用单独一个统一的操作系统抽象层面向不同架构、性能特点的处理器.通过远程消息传递让对文件系统等I/O服务的访问变得透明,把标准的微型内核消息传递抽象层拓展为卫星内核架构.Helios利用一种中间语言对应用程序进行编译,将其重定向至可用的ISA(指令集架构).”
开发人员对Singularity RDK研究开发包进行了修改,以便支持卫星内核、远程消息传递和亲和性(Affinity),现在已经支持两种不同的硬件平台:Intel XScale可编程I/O卡和连续缓冲NUMA架构.很多时候只是改变一行元数据,就可以将一些应用程序和系统组件卸载过去,将任务卸载到XScale I/O卡上能看到最多28%的性能提升,而在一个邮件服务器测试中通过在多个NUMA域之间自动拆分应用程序,性能提升了39%.
根据微软的描述,Helios“受到了LOCUS、Emerald、Quicksilver等分布式操作系统的启发”,“将可编程设备作为小型分布式系统的一部分来对待”.
Helios、Barrelfish和另一个未知的微软操作系统研究项目是互补性的.文档中说:“Barrelfish关注的是深入了解应用程序运行时的需求,Helios则是在异构协处理器上导出单一内核镜像,让应用程序更好地发挥新硬件平台的优势.”
总的来说,Singularity、Midori、Barrelfish、Helios都是微软在操作系统开发中的方向性研究项目,都可以看作是一种试验.它们不可能成为某一代Windows,但如果技术发展成熟,很可能会有一部分融入到整个Windows之中.