Russia is developing a new operating system that will be a competitor to the Linux system called phantom. Its development began in 2010 and is currently in the experimental stages and will be released next year
The most beautiful feature announced in the phantom system is similar to the Quick Resume feature on Xbox devices, which is that you lock the device permanently and return to complete the place you locked.
Phantom is, basically, a virtual machine (VM) working in a huge persistent virtual memory. Part of the VM classes (some classes, called ‘internal’) are implemented in kernel, giving VM code access to low level kernel services. Persistent virtual memory is completely orthogonal to object space and VM (no relation between, for example, object boundary and virtual memory page, etc.) and is implemented so that abrupt computer failure or loss of power leaves system in coherent state. On the application code (VM bytecode) level OS shutdown (either manual or caused by failure) is not even ‘seen’ – applications and their data are ‘never die’, they continue their work after the next OS boot up as if no shutdown ever happened.
The Russian software “long-term construction” – a unique micronuclear operating system “Phantom” by Dmitry Zavalishin – is ready for use in pilots. It is expected that the project, which has been underway since 2010, will be of interest, in particular, to power engineers, the military industry, banks and will be able to compete for a place in the sun with Linux.
The incarnation of the “Phantom”
As it became known to CNews, work on the Phantom operating system, backed by the DZ Systems company of the Russian entrepreneur and programmer Dmitry Zavalishin, as well as Innopolis University, is close to completion. In 2022, the developers expect to prepare a working prototype of the system, ported to the framework for creating an OS based on Genode microkernels.
“The main version of the operating system is ready for pilot projects. The version for Genode has not yet been completed, and it is on it that work is underway. According to the plan, it will be ready for use at the end of the year,” Zavalishin said in a conversation with CNews.
Porting to Genode is handled by a special working group created in 2019 on the basis of Innopolis.
The procedure involves merging the program execution environment of this operating system with the framework’s software core, which has the ability to support multiple hardware platforms (x86, ARM, RISC-V, etc.) and hypervisors, including the formally verified seL4 system. As the head of DZ Systems emphasized, this will simplify and speed up the implementation and refinement of Phantom. It will also help to make the OS more reliable and secure, adapt it to real use in the industrial sector.
“Today, there is a basic version of the Phantom OS, which includes two layers – the traditional code layer that controls the hardware of the computer, and, in fact, the implementation layer of the OS essence,” explains Zavalishin. – The first layer is working with the processor, memory controller, device drivers, etc. All this is in any OS. Porting work consists in replacing the first layer with an analogue from Genode. The procedure includes writing a layer that implements the low-level primitives of the Phantom OS kernel, which, in turn, are implemented through similar primitives of the Genode kernel.
Unlike the “everything is a file” principle used in Unix-like systems, which include GNU / Linux, which is popular in Russia, it is on its basis that most domestic operating systems are built (Viola, Astra Linux, Red OS, etc.). .p.), “Phantom” is based on the principle “everything is an object”.
“The operating system is designed in such a way that, from the point of view of the application process, it never stops working,” Dmitry Zavalishin explains the features of his brainchild. – That is, the physical shutdown of the computer for her is the same as a pause, nothing more. And application programs continue to work with a new start, as if there was no shutdown.
Simply put, the Phantom is a virtual machine that, at a specified frequency, “resets” snapshots of its state (virtual memory) into permanent memory (in a way, it resembles hibernation in Microsoft Windows). This allows, in the event of a computer power outage or failure, to “roll back” the system to the last successful transaction and continue working as if nothing had happened.
Phantom OS running in a QEMU virtual machine
“In a situation where the OS guarantees a program to run forever, each variable of such a program is semantically turned into a file. This means that the program ceases to need, in fact, the files to store the data that is required for work. This includes both the data that comes with the program and the data generated during operation. No files – no entry point for a third-party program (virus), no way to invade “personal space” programs to modify its behavior,” Zavalishin said.
In addition to improving fault tolerance and security, this feature of Phantom simplifies the development of application software for this OS: the programmer, in particular, does not need to worry about saving data, and the system’s focus on managed code allows you to abandon manual memory management.
Another important feature of the Phantom, which is noted by the developers, is high performance. It is achieved, in particular, due to the use of the global address space and the absence of context switching between the kernel and running programs, which is typical for modern mainstream OS, which can be very resource-intensive, but necessary for security reasons.
According to the Github-wiki of the project, the bytecode of the Phantom virtual machine in many ways resembles the Java bytecode (executed by the JVM), but does not distinguish between built-in data types and user-defined (classes), that is, any object (even, for example, , representing an integer) is an instance of the class. Such similarity makes it quite easy to build a Java bytecode converter into an understandable “Phantom”, which will allow existing applications written in Java to be ported to this OS.
In addition, the developers planned to provide the ability to execute native code (having low-level, without intermediaries, access to hardware) in a separate thread (thread) attached to a special object, which can be useful when solving tasks that require high performance, for example, processing video, sound, complex calculations.
Finally, Phantom provides initial support for the POSIX standard, which, in particular, can somewhat facilitate the porting of software to this OS from other systems compatible with this standard, such as Linux.
The uniqueness of the ideas embedded in the OS “Phantom”
It is worth noting that the ideas embodied in the Phantom OS cannot be called completely new. For example, the principle of persistence is implemented in the EROS OS (Extremely Reliable Operating System), which was developed from 1991 to 2005. developed by Johns Hopkins University (USA). A system written entirely in managed code also exists – this is Singularity, authored by the research division of Microsoft.
Nevertheless, Phantom as a whole claims to be unique as a set of ideas that are quite organically linked to each other and put into practice for a long time.
“Sel4 is the only microkernel today that has been mathematically proven to be error-free in its code,” says Dmitry Zavalishin. – The Phantom code is rather simple and small in volume. If we introduce a proven correct kernel into it, we can count on the fact that as a result we will be able to prove the correctness of the code of the entire operating system as a whole. This is one of the goals that we are pursuing in our work with Innopolis University.”
According to Zavalishin, now Phantom operates on the basis of its own kernel, which directly works with computer hardware.
According to the rector of Innopolis University Alexander Tormasov, in the near future, developers, in addition to porting the OS to Genode, expect to prepare it for use in real projects, as well as add support for popular programming languages.
The main competitor is Linux
Speaking about the commercial prospects of the product, the head of DZ Systems said that it is likely to be of interest to organizations that pay special attention to security – fuel and energy companies, the military industry, critical information infrastructure (CII), such as banks.
“The main goal for today is embedded applications that require high reliability, IoT topics (Internet of things devices; – approx.) and robots,” says Zavalishin. In his opinion, Phantom OS has only one competitor in this market segment – Linux.
One of the important advantages of Linux-based operating systems is the free availability of a wide range of programs designed to solve a variety of problems. The Linux ecosystem has been shaped by decades, with the help of millions of developers and the support of the world’s largest technology companies.
Zavalishin did not answer the question of how exactly it is planned to solve the problem of the shortage of application programs for the essentially new Phantom OS. According to him, the laboratory in Innopolis, which deals with the system, is run by two university employees who involve groups of students in the work. In addition to them, several employees of DZ Systems are working on the OS.