Hubbry Logo
Phantom OSPhantom OSMain
Open search
Phantom OS
Community hub
Phantom OS
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Phantom OS
Phantom OS
from Wikipedia

Phantom OS
OS Phantom screenshot for 17 October 2019
DeveloperDigital Zone
Written inC, Phantom, Java
OS familyRTOS
Working stateActive
Source modelFOSS
Latest releaselatest / October 17, 2019; 6 years ago (2019-10-17)
Repositorygithub.com/dzavalishin/phantomuserland
Available inRussian, English
Supported platformsIA-32
Kernel typeMicrokernel
LicenseLGPL
Official websitephantomos.org

Phantom OS is an orthogonally persistent managed code general-purpose operating system. It is based on a concept of persistent virtual memory, and executes bytecode in a virtual machine. It is one of a few OSes not based on the classic concepts of Unix-like systems. Phantom is based on the principle that "Everything is an object", in contrast to the Unix-like approach of "Everything is a file".[1]

Overview

[edit]

Phantom was founded by Dmitry Zavalishin [ru][1] and is being developed mostly by Russian programmers. It is free and open-source software (FOSS) released under a GNU Lesser General Public License (LGPL).

Basics

[edit]

Managed code – Memory protection on object level, rather than process level; absence of pointer arithmetic in managed code avoids many problems that exist and occur in unmanaged code.[2]

Global address space – Inexpensive inter-process communication (IPC). Single (flat) address space allows transfer of objects from one process (application) to another by transferring links to that object. Security is achieved by the absence of pointer arithmetic and the inability of an application to get linked to an object other than by calling a public method.[2]

Persistence – Application code does not see OS restarts and can live forever—this does not use the concept of a file and any variable or data structure can be stored forever and at the same time be available directly through a pointer. Contrary to hibernation, which is done in other OSs, persistence lies in the very core principles of the Phantom OS core. The implementation creates snapshots continuously and transparently to the applications maintaining consistent internal state without pausing applications.[1]

Compatibility

[edit]

Two ways to migrate code are offered:[2]

  • Converter from Java virtual machine (JVM) bytecode; is supposed to permit the import of bytecode from Java and other programming languages that target the JVM.
  • The Portable Operating System Interface (POSIX) subsystem allows porting application code from Unix and Linux, although important features of Phantom OS such as persistence become unavailable.

Status

[edit]

As of October 2019, the system exists as an alpha version for x86 IA-32 processors. Porting to ARM architecture is underway (currently being tested, not yet ready for use) and porting to MIPS architecture and x86-64 (AMD64) has begun. Kernel operation has been demonstrated at the biggest Russian IT-conferences RIT 2011, ADD 2010,[3] CC 2010,[4] and 2009.

A Genode-based fork has been in development since 2020.[2]

See also

[edit]

References

[edit]

Sources

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Phantom OS is an orthogonally persistent operating system designed as a environment with a unified persistent space, enabling applications and their states to survive system reboots, power failures, or crashes without traditional file systems or . Developed primarily by Russian programmers under the umbrella of Digital Zone, a software company founded by Dmitry Zavalishin, it adheres to an "everything is an object" philosophy, contrasting with systems' "" paradigm, and targets embedded and wearable devices for fault-tolerant, . Initiated as a personal project by Dmitry Zavalishin in the early , Phantom OS gained public attention around , as highlighted in media coverage of its persistence mechanisms, which allow continuous snapshots of the system state to preserve running processes and . By 2010, development transitioned to Digital Zone, where it evolved into an open-source project licensed under the GNU Lesser General Public License (LGPL), with contributions from collaborators including Innopolis University. Key features include orthogonal , where memory objects remain accessible across sessions without explicit saving, and a managed code runtime that minimizes kernel-user context switches for efficiency and supports languages such as the Phantom language, , and Python. The system primarily supports 32-bit () architectures in a stable manner, with ongoing but incomplete development for 64-bit (AMD64) and other platforms such as , and eliminates the need for conventional storage by treating all resources as persistent objects within the . As of 2023, it is in a proof-of-concept stage, emphasizing reliability for critical applications such as instant recovery in embedded systems, though recent activity appears limited and it lacks full industrial stability.

Introduction

Definition and Core Concept

Phantom OS is a general-purpose, designed around the principles of orthogonal persistence and managed code execution. It operates as a within a vast persistent , where all system data, code, and resources exist as objects in a single, global that remains intact across reboots, power failures, or other interruptions. This architecture ensures that persistence is inherent to the system, without relying on explicit or checkpointing mechanisms typically found in conventional operating systems. The core concept of Phantom OS revolves around treating the entire as a seamless, persistent that eliminates traditional file systems and disk-based storage hierarchies. Instead, all resources—ranging from kernel services to user applications—are stored directly in as manipulable objects, enabling direct sharing and communication between applications without intermediaries like files or processes. This allows applications to resume their state instantaneously after any system halt, as if no disruption had occurred, fostering a model of computational continuity often described as "application ." A distinctive feature of Phantom OS is the absence of a persistence boundary between kernel and user space; everything within the system is uniformly treated as a persistent object, in stark contrast to traditional models like , where the paradigm of separates volatile runtime states from durable storage. Orthogonal persistence underpins this uniformity, making object lifetime independent of program execution cycles. Initiated as an original operating system not derived from or other systems, Phantom OS prioritizes this object-centric persistence to enable long-lived, resilient applications.

Goals and Motivations

Phantom OS aims to provide an where applications can survive system reboots without losing state or requiring explicit , enabling the development of "immortal" programs that resume operation seamlessly upon restart. This design eliminates the need for traditional file systems and disk I/O operations for data persistence, allowing all application data to remain in a single, persistent that treats the entire system memory as durable. By removing these conventional persistence mechanisms, Phantom OS simplifies , reducing context switches and overhead associated with data transformation in standard operating systems. The motivations for Phantom OS stem from the limitations of traditional OS architectures, such as state loss during reboots, data fragmentation in file-based storage, and the inefficiencies of object serialization for complex, interconnected data structures. These issues often lead to significant developer effort—up to 30-75% of code dedicated to handling saves, loads, and recovery—complicating and increasing error risks in long-running applications. Phantom OS seeks to transform the operating system into an "" that facilitates direct sharing of persistent objects among programs, thereby streamlining and fostering a more efficient . Key benefits include reduced development complexity, as programmers no longer need to manage explicit state persistence, allowing focus on core logic and potentially cutting costs by 30% or more. This approach enhances reliability for embedded and wearable devices through efficient resource use and automatic state recovery, while supporting continuous operation in critical systems like medical or banking applications by ensuring instant restoration after power failures or crashes without lengthy reboots. The philosophical basis of Phantom OS reflects Dmitry Zavalishin's vision of a "never-dying" persistent system, articulated in early discussions on redefining OS resilience to prioritize uninterrupted application lifecycles over traditional shutdown procedures.

History and Development

Origins and Early Development

Phantom OS originated as a personal research project initiated by Dmitry Zavalishin in the early , drawing inspiration from paradigms and earlier research on persistent systems from the , particularly concepts of orthogonal persistence that enable uniform treatment of data across lifetimes without explicit save operations. Zavalishin, a programmer with prior experience at from 2002 to 2005, envisioned Phantom as a way to eliminate traditional state loss during system reboots, addressing limitations in conventional OS architectures for applications requiring high reliability, such as medical and military software. In August 2005, Zavalishin founded the software company Digital Zone, initially focused on scalable web-based systems. Early development of Phantom OS transitioned to Digital Zone around 2010, where it was pursued as a foundational research effort. Initial implementations targeted the x86 () architecture, with core components written to build a basic capable of maintaining object states across power cycles. These prototypes emphasized seamless persistence mechanisms, allowing programs to resume execution without , in contrast to file-based storage in existing systems. The work was primarily conducted by a small team of Russian programmers at Digital Zone, operating initially as a research endeavor without external funding details publicly disclosed. By , Phantom OS gained public attention through articles highlighting its "" feature, where powering off the system preserves program states for immediate resumption upon restart. This announcement marked the project's transition toward broader visibility, though core development remained internal to Digital Zone. Open-source elements were introduced later under the GNU Lesser General Public License (LGPL) version 3.0, facilitating community contributions while retaining the company's control over key components.

Key Milestones and Releases

Phantom OS saw its first public demonstrations in the late 2000s and early 2010s at major Russian IT conferences, showcasing the kernel's orthogonal persistence capabilities. A notable occurred at the Application Developer Days (ADD) conference in 2010, where lead developer Dmitry Zavalishin discussed the system's design and demonstrated basic functionality, emphasizing how applications could survive reboots without explicit state management. Similar demos were presented at Chaos Constructions events in 2009 and 2010, highlighting early prototypes focused on persistent to illustrate the OS's core innovation of seamless state retention across power cycles. During the , development progressed through internal betas centered on demonstrations, with incremental improvements to the kernel and userland components available via the project's source repositories. These betas prioritized proving the viability of orthogonal , allowing objects in memory to remain accessible post-reboot as if the system had never shut down. Contributions from collaborators, including Innopolis University, supported these efforts following the open-sourcing. By late , the project reached an alpha stage, providing a bootable system with a basic kernel implementing essential VM classes for low-level operations and initial userland support, including a bytecode execution environment compatible with bytecode for importing applications from JVM-targeted languages. This alpha also incorporated a simple compatibility subsystem to run legacy applications, such as a Quake port, alongside native persistent components. Post-alpha development has been sustained through the official repository, phantomuserland, where ongoing commits address stability, driver enhancements (e.g., SVGA support for and Parallels), and UI elements like fonts and controls with alpha blending. In 2020, a integrating Phantom OS with the framework was initiated to leverage Genode's modularity for improved component isolation and hardware support, using Genode's build system to embed Phantom's persistent kernel. As of November 2025, activity persists with experiments in hardware portability, notably an active but unstable port that compiles and boots minimally, alongside nascent MIPS support, reflecting efforts to expand beyond the primary architecture. These updates address persistence challenges, such as snapshot reliability tested over hundreds of cycles, while the project's and source remain the primary avenues for community contributions.

Design Principles

Orthogonal Persistence

Orthogonal persistence in Phantom OS ensures that the entire , including code, data, and execution state, remains automatically durable across system reboots or failures, independent of any program lifecycle events such as termination or restarts. This eliminates the need for explicit save or load operations, allowing applications to resume exactly where they left off without perceiving the interruption. The core mechanism relies on a persistent subsystem that captures continuous snapshots of the object graph, paging all memory contents to disk in a manner that preserves their in-memory form for full restoration on subsequent boots. Pointers to objects are maintained intact through a unified global , enabling direct referencing without or remapping after recovery. This paging engine operates orthogonally to the virtual machine's execution, ensuring coherence even during abrupt power loss or crashes. In Phantom OS, is uniquely orthogonal to object types, applying equally to kernel-implemented internal objects and user-defined entities, in contrast to selective persistence models in databases that target only designated structures. This uniform treatment integrates seamlessly with the system's object model, where all entities share the same addressable space. Key advantages include simplified development, as programmers avoid managing files or explicit durability, and reboot-transparent operation that reduces setup overhead for user interfaces and states. However, maintaining snapshot consistency requires locking the during writes—via functions like vm_lock_persistent_memory() and vm_unlock_persistent_memory()—which can introduce thread delays and performance overhead if access patterns are not optimized. Uncontrolled paging may also lead to efficiency issues, necessitating disciplined memory design to prevent degradation.

Object Model

Phantom OS employs a unified object-oriented where everything is an object, encompassing files, devices, processes, and kernel services, each equipped with methods and for interaction. This model eliminates distinctions between traditional components, treating them uniformly as instances of classes within the operating . Notably, there are no primitive types outside of objects; all data is encapsulated within this object structure, ensuring a consistent and type-safe environment. The system utilizes a single global for addressing, where objects are referenced directly via pointers in a global rather than conventional identifiers like file paths or process IDs (PIDs). This approach facilitates direct object sharing for (IPC), allowing applications to interact by passing references to mutable objects without the overhead of , thereby enhancing and reducing latency. In contrast to designs such as seL4, which rely on message-passing for isolation, Phantom OS embraces shared mutable objects to promote seamless collaboration, while the managed environment prevents unauthorized access. This object model has significant implications for development and system management. By unifying all resources under objects, it simplifies programming by abstracting away low-level details, enabling developers to focus on object interactions rather than managing disparate system elements. However, it necessitates automated through garbage collection mechanisms, including fast for immediate deallocation and periodic mark-and-sweep cycles for comprehensive cleanup; note that the GC implementation is incomplete for large-scale 64-bit scenarios, such as 20 TB . Additionally, objects support versioning, where multiple class versions coexist; newly created objects adopt the latest version, while existing ones retain their original implementation, allowing for evolutionary updates without breaking compatibility. Orthogonal persistence is applied to these objects, ensuring their state survives reboots by storing them in a persistent space.

System Architecture

Kernel Design

Phantom OS features a microkernel architecture that minimizes the core kernel's footprint while implementing essential low-level services through internal classes, enabling direct access to hardware and system resources without extensive abstraction layers. These internal classes, written in C, form the kernel's object-oriented foundation, handling critical operations such as thread management and interrupt processing. The design emphasizes modularity, with the kernel providing a small trusted computing base that supports preemptive multitasking, including priority-based scheduling and synchronization primitives like mutexes and semaphores. A key aspect of the kernel is its hybrid integration with a bytecode virtual machine (PVM), which blurs traditional boundaries between kernel and user space by executing managed code directly in . The kernel manages object creation using memory pools with , while the PVM oversees higher-level persistent objects, allowing applications to run as seamless extensions of the system without explicit . is achieved through a driver subsystem that includes support for PCI enumeration, block devices, network interfaces, and graphics, all operating within the persistent environment. This hybrid approach eliminates conventional syscalls, replacing them with object invocations that maintain system coherence across operations. Persistence is guaranteed at the kernel level via a paging engine that creates periodic snapshots of the entire state, ensuring at least two copies are maintained on disk for . Upon , the kernel restores the most recent valid snapshot, restarting non-persistent kernel components from scratch while reviving userland objects in their prior state, thus avoiding data loss from power failures or crashes. The architecture supports a global for via direct pointer access in managed code, enhancing efficiency over message-passing models. The kernel's evolution began with a C-based focused on x86 stability, later incorporating Java-like execution through the PVM for higher-level services and language support, including experimental ports to , MIPS, and AMD64. A notable development is the fork, which integrates Phantom's persistent model into the framework to incorporate mechanisms, enhancing isolation while preserving the core persistence features.

Memory and Persistence Mechanism

Phantom OS employs a virtual memory model centered on a huge, single that extends directly into persistent storage, such as SSD or NVMe drives, treating the entire system as a unified persistent RAM environment. This model leverages orthogonal through transparent swapping, where all pages are paged to disk via a persistent paging engine, ensuring that the remains consistent and accessible across system restarts without traditional abstractions. The absence of a separate layer allows storage to function as a direct extension of , eliminating serialization overhead for . The implementation relies on continuous checkpointing through asynchronous snapshots of the entire virtual memory, performed regularly without halting system operations or "stopping the world." These snapshots capture the state of object graphs in the persistent memory allocator, which manages allocation using dedicated arenas for object types, such as integers, to optimize storage. On or recovery, the system restores the last consistent snapshot, enabling applications to resume execution seamlessly as if no interruption occurred, with a syscall restart engine re-executing any pending system calls. Multiple snapshots (typically two or more) are maintained incrementally to support efficient backups and state preservation. Coherence is maintained through a combination of object-level garbage collection and memory access controls during snapshotting. The system features two garbage collectors: a fast reference-counting mechanism for immediate cleanup and a slower mark-and-sweep collector for comprehensive traversal, both operating on persistent objects to prevent dangling pointers and ensure integrity. During snapshots, functions like vm_lock_persistent_memory() and vm_unlock_persistent_memory() restrict thread access to the persistent , guaranteeing a consistent state without concurrent modifications. This approach supports (NVM) integration for accelerated persistence where available, enhancing overall reliability. To address challenges like power failures, Phantom OS uses atomic updates within the snapshot process and maintains redundant snapshots for recovery, allowing the system to revert to the most recent viable state upon abrupt shutdowns. This mechanism ensures and application continuity, with the kernel's persistent pager handling paging operations to mitigate risks from incomplete writes. No additional recovery protocols are needed beyond snapshot restoration, as the model inherently avoids transient states vulnerable to crashes.

Programming and Development

Supported Languages

Phantom OS primarily supports its native programming language, known as the Phantom language, which is an object-oriented language designed specifically for persistent programming environments. This language is compiled using the Phantom Language Compiler (PLC), producing bytecode that executes on the . The Phantom language incorporates features for orthogonal persistence, allowing objects to remain active across system reboots without explicit , and its syntax and structure draw parallels to managed languages like C# while extending them for seamless integration with the OS's persistent memory model. In addition to the native Phantom language, the OS provides experimental support for other languages to broaden its development ecosystem. Java programs can be executed through an experimental bytecode translator that converts JVM class files to Phantom bytecode, though this implementation remains basic and incomplete. Python support is in preliminary stages, utilizing an AST connector to translate Python code into Phantom bytecode, enabling limited scripting capabilities within the persistent runtime. For low-level system components, such as kernel internals and drivers, is used, with code compiled directly into the kernel space to interface with hardware and core services. Programs in supported languages are compiled to either Phantom bytecode for managed execution or native objects for kernel-level code, eliminating traditional linking steps as objects are dynamically loaded directly into the OS's persistent space. This process leverages the global , where applications share objects without file I/O for , ensuring data across sessions. A key constraint is the prohibition on pointer arithmetic in userland languages to maintain and persistence integrity, enforced by the PVM. Furthermore, garbage collection is tightly integrated with the persistence mechanism, allowing automatic while preserving object lifetimes indefinitely unless explicitly terminated. As of the latest available and repository activity in 2023, these features remain experimental.

Development Tools and APIs

Phantom OS provides a specialized development environment tailored for persistence-aware programming, where applications operate within a persistent space, eliminating the need for explicit state or deserialization. Developers can write code that assumes data structures remain intact across system reboots, leveraging the operating system's orthogonal persistence model to focus on rather than I/O management. This approach is facilitated by a that integrates compilation, building, and runtime execution directly with the persistent object store. The primary compiler in the Phantom OS ecosystem is the Phantom Language Compiler (PLC), which handles native code generation for the system's proprietary Phantom programming language. PLC parses Phantom source code and produces bytecode executable by the kernel's , enabling seamless integration with persistent objects. For broader language support, PLC includes translators for and Python, though these remain works in progress; code is adapted via a JVM class file loader that converts to Phantom-compatible bytecode, while Python uses preliminary AST processing for similar translation. These tools ensure that developers can port or write applications in familiar languages while benefiting from persistence. As of the latest available and repository activity in 2023, these features remain experimental. The build system uses Make, with the PHANTOM_HOME , for automated compilation and building of both kernel components and userland applications. This setup supports incremental builds that preserve object states across iterations, reducing development overhead in long-running projects. At the core of application development are object-oriented APIs provided through the .internal and .phantom packages, which expose system services without relying on traditional system calls. Instead, developers invoke methods directly on kernel objects, such as creating persistent instances via Object.create() or handling events through EventQueue.process(). Examples include .internal.[window](/page/Window) for graphical interface management and .internal.tcp for network operations, all designed to operate transparently on persistent data. This method-based interface promotes a uniform across user and kernel spaces, where is inherent to object lifecycles. Debugging tools emphasize live inspection of persistent objects, with facilities like pvm_object_print and pvm_object_dump for runtime examination of memory states, complemented by macros such as LOG_FLOW for tracing execution flow and SHOW_ERROR for error reporting. There is no full-fledged integrated akin to GDB, but these utilities allow developers to probe object graphs non-destructively, even across simulated reboots. For testing persistence behaviors, serves as the primary emulator, enabling isolated execution of Phantom OS images to verify state retention without hardware dependencies. Documentation is hosted on ReadTheDocs, offering comprehensive guides with code examples for both kernel modules and user applications, including persistence-specific patterns like snapshot-aware threading. Despite these capabilities, the ecosystem has notable gaps, including limited support for modern integrated development environments (IDEs), with most development occurring via command-line tools or basic editors. Community-driven extensions on GitHub address porting challenges, such as adapters for cross-compiling from standard toolchains, but official IDE integration remains underdeveloped. This reliance on lightweight, specialized tools aligns with Phantom OS's focus on simplicity and persistence but may pose a learning curve for developers accustomed to feature-rich environments. As of the latest available documentation and repository activity in 2023, these features remain experimental.

Features and Capabilities

Security and Protection

Phantom OS employs a model, where access to persistent objects is mediated through capabilities. This approach ensures that is enforced at the object level, with permissions defined by the capabilities held by threads or processes, preventing unauthorized access without explicit delegation. The global address space allows direct object sharing across applications. Key mechanisms include memory isolation at object boundaries, achieved through the persistent system that treats objects as , with locks for consistency (e.g., vm_lock_persistent_memory). Class versioning allows old objects to retain their original while new ones use updated versions, supporting program updates without breaking existing state. The orthogonal persistence of Phantom OS introduces unique security implications, as security states and object permissions survive reboots and power failures, necessitating robust error isolation to prevent cascading failures across persistent sessions. The system's design limits error propagation through thread-bound object handling. To address persistent defects, the system supports class versioning and snapshots, enabling to prior states. Phantom OS includes user account support via classes like .phantom.user linked to threads, combined with object ownership via capabilities for . A project from 2020 to build as a component within the OS framework exists but has seen no updates since then, as of November 2025. It uses 's build system for integration but does not deeply merge architectures.

In , (IPC) supports direct sharing of objects within a global, persistent , alongside port-based mechanisms using message queues for coordination. Objects remain accessible across process boundaries and system reboots without explicit . Processes can communicate via shared objects or ports, with the kernel managing allocation and access. IPC includes synchronous operations via ports (e.g., phantom_port_read/write with blocking), and asynchronous UI events (e.g., ui_event_t for mouse/key inputs). These support coordination patterns mediated through object interfaces or port messages. Advantages include efficient data referencing in shared objects and persistence of communication state across restarts. Consistency is maintained through atomic updates and locks. This contrasts with conventional OSes by leveraging persistence, though ports involve buffering. Implementation is handled by the kernel, which oversees object and , reference tracking, and sharing. is enforced via access checks during invocations or deliveries, restricting interactions to authorized principals. As of November 2025, these features remain at a proof-of-concept level with no major recent developments.

Compatibility

Hardware Platforms

Phantom OS primarily supports the (x86 32-bit) architecture as its initial and most mature platform, though the system is designed for 64-bit architectures requiring a 64-bit for full resource utilization, with 32-bit operation possible. The kernel and userland components have been extensively developed and tested for stability on this architecture, enabling core features like persistent to function reliably on standard x86 hardware. Experimental ports to (AMD64) exist but remain incomplete, with compilation issues preventing full operation. Development efforts have extended to other platforms, including an port that was underway as of 2020 but remains unstable and without recent progress, suitable for basic testing rather than production use. The MIPS port is in very early stages as of 2020, capable only of initial compilation and brief runtime execution without full functionality. No dedicated optimizations for GPUs or mobile-specific hardware have been implemented, limiting the system's applicability to specialized embedded or wearable scenarios at present. As of November 2025, the project shows no significant recent development activity across platforms. Porting efforts involve kernel adaptations for , such as PCI enumeration and bus I/O interfaces, to facilitate cross-architecture compatibility. The persistence mechanism relies on block device drivers for snapshotting to disk, with support tuned for modern storage like SSDs through operations, though advanced controllers like NVMe lack dedicated drivers. These adaptations draw from the kernel's layers, as detailed in the system's design. Compared to established systems like , Phantom OS offers limited driver support, focusing on a minimal set of peripherals—such as basic disk, network, and devices—primarily to demonstrate features on essential hardware. This approach prioritizes conceptual validation over broad hardware coverage, with ongoing needs for porting additional drivers to expand usability.

Software and POSIX Subsystem

The POSIX subsystem in Phantom OS provides an emulation layer for Portable Operating System Interface () APIs, enabling the porting of applications by translating traditional file operations and system calls into accesses within Phantom's object-oriented, persistent memory model. This layer supports the execution of POSIX-compatible ELF executables compiled from C or other languages, allowing developers to adapt existing Unix and source code with minimal modifications to leverage Phantom's persistence features. Phantom OS achieves partial compatibility with legacy software through this subsystem, including native execution of via a dedicated that interprets class files in a manner similar to the (JVM), though the implementation remains basic and incomplete. Support for C libraries is facilitated via wrappers within the POSIX layer, permitting the use of standard C code but requiring recompilation rather than direct binary execution. However, there is no full binary compatibility, as the system does not emulate Linux's ABI or kernel interfaces directly. Additionally, an experimental Python runtime exists, utilizing an AST-based translator to convert Python code for execution on Phantom's machine, though this feature is still in early development and lacks full maturity. A key limitation of the POSIX subsystem is its non-persistent nature by default, meaning applications running under it do not automatically benefit from Phantom's orthogonal persistence; developers must explicitly adapt code to interact with persistent objects for state survival across reboots or power failures. This requires modifications to file I/O and to align with Phantom's "everything is an object" paradigm, potentially limiting seamless integration for unmodified Unix applications. Basic support was introduced in early development releases, with ongoing refinements to improve emulation fidelity. Enhancements to compatibility have been pursued through community efforts, notably a Genode-based port initiated around 2020, which integrates Phantom OS as a scenario within the framework's native build system using Genode version 22.05. This fork enhances alignment with standards, potentially improving modularity and security for POSIX-emulated applications by leveraging Genode's component-based architecture, but it has been inactive since 2023 without full production stability.

Current Status

Latest Developments

Since 2020, a Genode-based fork of Phantom OS has been in development, enabling integration with the Genode framework for improved modularity and hardware support, with the last updates occurring in September 2023. This fork facilitates building Phantom within Genode's native system, potentially extending compatibility to platforms like ARM through Genode's existing support, though specific ARM enhancements remain in early stages without major commits post-2023. Community discussions, including threads on Lobsters and in 2022 and a Genode forum thread in April 2025, underscore active interest in leveraging modern (NVM) technologies, such as Intel Optane, for enhanced persistence, though no dedicated NVM optimizations have been released as of 2025. These forums highlight ongoing work on error recovery, particularly through snapshot-based mechanisms to mitigate persistent state bugs, where corrupted data could otherwise become permanent without traditional reboot fixes. Efforts to improve documentation and testing continue via the official Read the Docs site, which provides updated guides on internals and development, addressing prior criticisms of incomplete features like the garbage collector. As of November 2025, no major releases have occurred since 2019, but the project's repositories show sporadic maintenance, with the last commit to the main repository in 2024.

Community and Forks

The open-source community surrounding Phantom OS is relatively small and centered around its primary repository, dzavalishin/phantomuserland, where development occurs through pull requests and issue tracking. The project has six contributors listed on , reflecting a modest team primarily composed of Russian developers led by founder Zavalishin, with occasional international participation. Discussions and support are facilitated via issues, a chat room at gitter.im/PhantomOS/HowTo, and a Group at groups.google.com/forum/#!forum/phantom-os, though activity levels remain low. External conversations occur on platforms like Reddit's r/osdev subreddit, where users explore its persistent design concepts, and , featuring threads on its object-oriented architecture and potential challenges. Forks of Phantom OS are limited, with one notable experimental integration into the Genode operating system framework initiated around 2020 to leverage Genode's modularity and security features for building Phantom as a ported component. This effort, documented in the S7rizh/phantom_build_env repository, uses Genode's native build system but has seen minimal updates since approximately 2023, indicating stalled progress. Other ports, such as experimental efforts for MIPS and ARM architectures, are hosted within the main repository rather than as separate forks, though they lack recent advancement. Adoption of Phantom OS remains confined to research and embedded systems niches, where its orthogonal persistence model appeals for applications requiring state survival across reboots, such as in prototype environments. The project's LGPL-3.0 license supports this by permitting derivative works and encouraging contributions without imposing strict on linked software. However, its visibility is primarily within OS development circles, with limited broader uptake as of late 2025. Calls for community contributions to develop additional userland applications and drivers continue.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.