基于Genode的国产OS Phantom样机年底前准备就绪

Dmitry Zavalishin 谈到了一个将 Phantom 操作系统的虚拟机移植到 Genode 微内核操作系统环境中的项目。 采访指出,Phantom 的主要版本已经准备好进行试点项目,基于 Genode 的版本将在今年年底准备好使用。 同时,该项目网站上只公布了一个可行的概念原型,其稳定性和功能尚未达到适合工业使用的水平,并且近期计划形成适合实验的alpha版本提到了第三方开发者。

该项目代码是根据 LGPL 许可证分发的,但主存储库的最后一次更改日期为 2019 年 2020 月。 与该项目相关的公共活动集中在一个带有 Genode 分叉的存储库中,该存储库自 XNUMX 年 XNUMX 月以来一直由 Innopolis 大学的学生 Anton Antonov 维护。

自 2000 年代初以来,Phantom 操作系统一直作为 Dmitry Zavalishin 的个人项目进行开发,自 2010 年以来,它已转移到 Dmitry 创建的 Digital Zone 公司旗下。 该系统以其高可靠性和使用“一切都是对象”而不是“一切都是文件”的概念而著称,这使得您可以由于保存内存状态而无需使用文件连续的工作循环。 Phantom 中的应用程序不会终止,而只是暂停并从中断点恢复。 只要应用程序需要,所有变量和数据结构都可以存储,程序员不需要专门担心保存数据。

Phantom 中的应用程序被编译为字节码,字节码在基于堆栈的虚拟机中运行,类似于 Java 虚拟机。 虚拟机确保应用程序内存的持久性——系统定期将虚拟机状态的快照重置到永久介质。 关机或崩溃后,工作可以从上次保存的内存快照开始继续。 快照以异步方式创建,不会暂停虚拟机的运行,而是在快照中记录一次性切片,就好像虚拟机停止、保存到磁盘并再次启动一样。

所有应用程序都运行在公共的全局地址空间中,这消除了内核和应用程序之间的上下文切换的需要,并且还显着简化和加速了虚拟机中运行的应用程序之间的交互,可以通过引用传递来交换对象。 访问分离是在对象级别进行的,只能通过调用适当的方法来获取对对象的引用(没有指针运算)。 任何数据(包括数值)都作为单独的对象进行处理。

对于应用程序来说,工作似乎是连续的,不依赖于操作系统重新启动、崩溃和计算机关闭。 Phantom 的编程模型类似于为对象编程语言运行永不停歇的应用程序服务器。 将 Java 程序移植到 Phantom 被认为是应用程序开发的主要方法之一,这得益于 Phantom 虚拟机与 JVM 的相似性。 除了 Java 语言的字节码编译器之外,该项目还计划创建 Python 和 C# 编译器,并实现 WebAssembly 中间代码的翻译器。

为了执行需要高性能的操作,例如视频和音频处理,可以在单独的线程中运行具有本机代码的二进制对象(LLVM 用于组装二进制对象)。 为了访问低级内核服务,一些 VM 类(“内部”类)在操作系统内核级别实现。 为了运行 Linux 应用程序,提供了 POSIX 层来模拟 Unix 进程操作所需的调用(尚未提供 POSIX 层中应用程序的持久性)。

基于Genode的国产OS Phantom样机年底前准备就绪

传统的 Phantom OS 除了虚拟机之外,还包括自己的内核,其中包含线程的实现、内存管理器、垃圾收集器、同步机制、输入/输出系统以及与硬件配合使用的驱动程序,这使得项目变得非常复杂准备广泛使用。 另外,具有网络堆栈、图形子系统和用户界面的组件正在开发中。 值得注意的是,图形子系统和窗口管理器在内核级别运行。

为了提高项目的稳定性、可移植性和安全性,尝试将 Phantom 虚拟机移植到开放微内核操作系统 Genode 的组件上工作,该操作系统的开发由德国公司 Genode Labs 监督。 对于那些想要尝试基于 Genode 的 Phantom 的人,我们已经准备了一个特殊的基于 Docker 的构建环境。

使用 Genode 可以使用已经经过验证的微内核和驱动程序,并将驱动程序移至用户空间(在当前形式下,驱动程序是用 C 编写的,并在 Phantom 内核级别执行)。 特别是,可以使用seL4微内核,该微内核已经过数学可靠性验证,确认实现完全符合形式语言中指定的规范。 正在考虑为 Phantom 虚拟机准备类似的可靠性证明的可能性,这将允许验证整个操作系统环境。

基于 Genode 的端口的主要应用领域是开发各种工业和嵌入式设备的应用程序。 目前,虚拟机的一系列更改已经准备就绪,并且添加了在 Genode 之上工作的绑定,以确保内核组件和主要低级接口的持久性。 值得注意的是,Phantom虚拟机已经可以在64位Genode环境中工作,但仍然需要以持久化模式实现VM,重新设计驱动子系统,并为Genode适配网络堆栈和图形子系统组件。

基于Genode的国产OS Phantom样机年底前准备就绪
基于Genode的国产OS Phantom样机年底前准备就绪
基于Genode的国产OS Phantom样机年底前准备就绪


来源: opennet.ru

添加评论