最近 项目信息已发布 移植操作系统虚拟机 工作的幻影 微内核操作系统环境 基因节点.
该信息是在一次采访中披露的,其中指出主要版本的 Phantom OS 现已准备好进行试点项目,而基于 Genode 的版本将在年底前准备好使用。 同时,到目前为止,项目网站上只公布了一个可行的概念原型,其稳定性和功能性还没有达到适合工业使用的水平,最接近的计划是形成一个 alpha 版本.
自 2000 年代初以来,Phantom OS 已被开发 作为 Dmitry Zavalishin 的个人项目,自 2010 年起,它被转移到 Dmitry 创建的 Digital Zone 公司旗下。
系统 因其专注于高可靠性和使用“一切都是对象”概念而闻名 而不是“一切都是文件”,由于内存状态的保存和工作的连续循环而消除了文件的使用。
Phantom 中的应用程序不会终止,只是暂停和恢复 从他们住的地方。 只要应用程序需要,所有变量和数据结构都可以存储,程序员不必特别注意保存数据。
Phantom 中的应用 被编译成字节码,它运行在基于堆栈的虚拟机中,类似于 Java 虚拟机。 虚拟机提供应用程序内存持久性:系统定期将虚拟机状态的快照下载到持久性媒体。
关机或崩溃后, 可以从上次保存的内存快照继续工作. 快照是异步创建的,不会暂停虚拟机,但快照会捕获单个段,就像虚拟机已停止、保存到磁盘并再次启动一样。
所有应用程序都在一个公共的全局地址空间中运行。,这消除了内核和应用程序之间的上下文切换的需要,并大大简化并加快了运行在虚拟机中的应用程序之间的通信,这些应用程序可以通过引用传递交换对象。
将 Java 程序迁移到 Phantom 考虑到 una 开发应用程序的主要方法, 这得益于 Phantom 虚拟机与 JVM 的相似性。 除了用于 Java 语言的字节码编译器之外,该项目还预计会创建 Python 和 C# 编译器,以及从 WebAssembly 的中间代码实现翻译器。
传统 Phantom OS,加上虚拟机, 包括它自己的内核和线程实现,一 内存管理器,垃圾收集器, 同步机制、I/O 系统和与设备一起工作的驱动程序,这使项目准备好广泛使用变得非常复杂。
另外,正在开发具有网络堆栈、图形子系统和用户界面的组件。 应该注意的是,图形子系统和窗口管理器在内核级别工作。
为了提高项目的稳定性、可移植性和安全性, 尝试移植 Phantom 虚拟机以使用组件工作 开放微内核操作系统 基因节点,其开发由德国公司 Genode Labs 监督,对于那些想尝试基于 Genode 的 Phantom 的人,已经准备了一个基于 Docker 的特殊构建环境。
萨尔瓦多使用 Genode 将使使用已经过验证的微内核和控制器成为可能,以及将驱动程序带入用户空间(在当前形式下,驱动程序是用 C 编写并在 Phantom 内核级别运行)。
特别是,可以使用已通过数学可靠性检查的 seL4 微内核,确认实现完全符合形式语言中指定的规范。 正在考虑为 Phantom 虚拟机准备类似的可信度测试,这将允许验证整个操作系统环境。
基于 Genode 的端口的主要应用领域是开发各种工业和嵌入式设备的应用程序。
目前, 已经为虚拟机准备了变更集 并添加了在 Genode 之上运行的钩子,用于内核的持久性组件和主要的低级接口。
需要注意的是,Phantom VM 已经可以在 Genode 64 位环境下工作,但是 VM 还没有部署在持久化模式下,驱动子系统需要重新设计,具有网络堆栈和图形子系统的组件必须是适用于 Genode。
如果您想进一步了解系统的工作,您可以在 以下链接。