Phantom OS
{{Short description|Orthogonally persistent managed-code general purpose operating system}}
{{Use dmy dates|date=May 2021}}
{{Infobox OS
| name = Phantom OS
| logo =
| screenshot = Phantom screen 17.10.2019.png
| caption = OS Phantom screenshot for 17 October 2019
| developer = Digital Zone
| family = RTOS
| source model = FOSS
| latest release version = latest
| latest release date = {{Start date and age|2019|10|17}}
| latest preview version =
| repo = {{URL|github.com/dzavalishin/phantomuserland}}
| latest preview date =
| marketing target =
| programmed in = C, Phantom, Java
| language = Russian, English
| supported platforms = IA-32
| kernel type = Microkernel
| default ui =
| license = LGPL
| working state = Active
| website = {{URL|phantomos.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".{{cite web |url=https://www.theregister.co.uk/2009/02/03/phantom_russian_os/ |title=Russian rides Phantom to OS immortality |last=Dziuba |first=Ted |date=2009-02-03 |publisher=The Register |access-date=2011-04-27 |quote=The iPhone that never dies}}
Overview
Phantom was founded by {{ill|Dmitry Zavalishin|ru|Завалишин, Дмитрий Константинович}} 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.{{cite web |title=Прототип отечественной ОС Phantom на базе Genode будет готов до конца года |url=https://www.opennet.ru/opennews/art.shtml?num=56565 |website=www.opennet.ru |access-date=9 November 2023 |date=24 January 2022}}
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.
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.
Compatibility
Two ways to migrate code are offered:
- 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|2019|10}}, 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,[http://addconf.ru/event.sdf/ru/add_2010/authors/114/160 Dmitry Zavalishin reports on ADD 2010] {{webarchive|url=https://archive.today/20120707040950/http://addconf.ru/event.sdf/ru/add_2010/authors/114/160 |date=2012-07-07 }} CC 2010,[http://video.yandex.ua/users/chaos-constructions/view/1/ Dmitry Zavalishin reports] on Chaos Constructions’2010 (Saint-Petersburg, Russia) {{webarchive|url=https://web.archive.org/web/20120323101401/http://video.yandex.ua/users/chaos-constructions/view/1/ |date=2012-03-23}} and 2009.
A Genode-based fork has been in development since 2020.
See also
{{Portal|Free and open-source software}}
References
{{Reflist}}
Sources
- {{cite web |url=https://github.com/dzavalishin/phantomuserland |title=Source codes of Phantom OS |date=2009 |publisher=Digital Zone |access-date=2011-04-27}}
- {{cite web |url=https://phantomdox.readthedocs.io/en/latest/ |title=Phantom OS Internals book |date=2019}}
- {{cite web |url=https://www.openhub.net/p/phantomoperatingsystem |title=Phantom OS on OpenHUB |date=2019}}
External links
- {{Official website|phantomos.org}}
- {{GitHub|dzavalishin/phantomuserland|Phantomuserland}}
- {{GitHub|S7rizh/phantomuserland|Genode port}}
{{Microkernel}}
{{Hobbyist operating systems}}
{{Russian operating systems}}
Category:Hobbyist operating systems
Category:Real-time operating systems
Category:Free software operating systems
Category:Microkernel-based operating systems
Category:Object-oriented operating systems