基於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 的編程模型被比作為對象編程語言運行永不停止的應用程序服務器。 為 Phantom 移植 Java 程序被認為是開發應用程序的主要方式之一,這得益於 Phantom 虛擬機與 JVM 的相似性。 除了 Java 語言的字節碼編譯器之外,該項目還計劃為​​ Python 和 C# 創建編譯器,以及從 WebAssembly 中間代碼實現翻譯器。

要執行需要高性能的操作,例如視頻和音頻處理,可以在單獨的線程中使用本機代碼運行二進制對象(LLVM 用於構建二進制對象)。 為了訪問低級內核服務,一些 VM 類(“內部”類)在操作系統內核級別實現。 為了運行 Linux 應用程序,提供了一個 POSIX 層來模擬 Unix 進程運行所需的調用(尚未提供 POSIX 層中應用程序的持久性)。

基於Genode的國產OS Phantom樣機年底前準備就緒

傳統的 Phantom OS,除了虛擬機之外,還包括自己的內核,其中包含線程的實現、內存管理器、垃圾收集器、同步機制、I/O 系統以及用於與設備一起工作的驅動程序,這大大復雜化了該項目準備好廣泛使用。 另外,正在開發具有網絡堆棧、圖形子系統和用戶界面的組件。 值得注意的是,圖形子系統和窗口管理器在內核級別工作。

為了提高項目的穩定性、可移植性和安全性,嘗試將 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

添加評論