Phantom OS

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; 4 years ago (2019-10-17)
Repositorygithub.com/dzavalishin/phantomuserland
Available inRussian, English
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

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

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

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

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

References

  1. ^ a b c Dziuba, Ted (3 February 2009). "Russian rides Phantom to OS immortality". The Register. Retrieved 27 April 2011. The iPhone that never dies
  2. ^ a b c d "Прототип отечественной ОС Phantom на базе Genode будет готов до конца года". www.opennet.ru. 24 January 2022. Retrieved 9 November 2023.
  3. ^ Dmitry Zavalishin reports on ADD 2010 Archived 2012-07-07 at archive.today
  4. ^ Dmitry Zavalishin reports on Chaos Constructions’2010 (Saint-Petersburg, Russia) Archived 2012-03-23 at the Wayback Machine

Sources