Phantom OS, will take the basis of Genode and will be ready by the end of the year

Recently Information about the project was released to port the operating system virtual machine Phantom to work on the microkernel operating system environment genode.

The information was disclosed in an interview in which it is pointed out that the main version of Phantom OS is now ready for pilot projects, and the Genode-based version will be ready for use by the end of the year. At the same time, so far only a viable conceptual prototype has been announced on the project website, the stability and functionality of which have not been brought to a level suitable for industrial use, and among the closest plans is the formation of a version alpha.

Since the early 2000s, the Phantom OS has been developed as a personal project of Dmitry Zavalishin and since 2010 it is transferred under the wing of the Digital Zone company created by Dmitry.

The system is noted for its focus on high reliability and use of the "everything is an object" concept instead of "everything is a file", which eliminates the use of files due to preservation of memory state and a continuous cycle of work.

Apps in Phantom are not terminated, just paused and resumed from where they stayed. All variables and data structures can be stored for as long as the application needs it, and the programmer does not have to take special care to save the data.

The applications in Phantom are compiled into bytecode, which runs in a stack-based virtual machine, similar to the Java virtual machine. The virtual machine provides application memory persistence: the system periodically downloads snapshots of the virtual machine state to persistent media.

After a shutdown or crash, work can continue from the last saved memory snapshot. Snapshots are created asynchronously and without suspending the virtual machine, but a snapshot captures a single segment, as if the virtual machine were stopped, saved to disk, and started again.

All applications run in a common global address space., which eliminates the need for context switches between the kernel and applications, and greatly simplifies and speeds up communication between applications running in a virtual machine that can exchange objects via reference passing.

Migrating Java Programs to Phantom is considered a of the main ways to develop applications, which is facilitated by the similarity of the Phantom virtual machine with the JVM. In addition to the bytecode compiler for the Java language, the project foresees the creation of compilers for Python and C#, as well as the implementation of a translator from the intermediate code of WebAssembly.

Traditional Phantom OS, plus virtual machine, includes its own kernel with thread implementation, memory manager, a garbage collector, synchronization mechanisms, an I/O system and drivers for working with equipment, which significantly complicate bringing the project into readiness for widespread use.

Separately, components with a network stack, a graphical subsystem, and a user interface are being developed. It should be noted that the graphics subsystem and the window manager work at the kernel level.

To improve the stability, portability and security of the project, attempted to port the Phantom virtual machine to work using the components open microkernel operating system genode, the development of which is supervised by the German company Genode Labs. For those who want to experiment with Phantom based on Genode, a special build environment based on Docker has been prepared.

The use of Genode will make it possible to use already proven microkernels and controllers, as well as bringing the drivers into user space (in their current form, the drivers are written in C and run at the Phantom kernel level).

In particular, it will be possible to use the seL4 microkernel, which has passed the mathematical reliability check, confirming that the implementation fully complies with the specifications specified in the formal language. Consideration is being given to preparing a similar trustworthiness test for the Phantom virtual machine, which will allow the entire operating system environment to be verified.

The main application area of ​​the Genode-based port is the development of applications for various industrial and embedded devices.

Currently, a changeset has already been prepared for the virtual machine and hooks have been added that run on top of Genode for the kernel's persistence components and the main low-level interfaces.

It is noted that the Phantom VM can already work in a Genode 64-bit environment, but the VM has not yet been deployed in persistence mode, the driver subsystem needs to be reworked, and components with a network stack and graphics subsystem have to be adapted for Genode.

If you want to know more about the work of the system, you can consult the details in the following link


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.