What is that this OS about?
Phantom is, usually, a digital machine (VM) working in a tall power digital reminiscence. Segment of the VM classes (some
classes, called ‘inner’) are implemented in kernel, giving VM code gain admission to to low level kernel providers. Power
digital reminiscence is entirely orthogonal to object dwelling and VM (no relation between, to illustrate, object boundary and
digital reminiscence page, and so on.) and is implemented in divulge that abrupt laptop failure or lack of energy leaves draw in coherent
teach. On the software program code (VM bytecode) level OS shutdown (either e book or induced by failure) is never any longer even ‘considered’ –
purposes and their recordsdata are ‘beneath no circumstances die’, they proceed their work after the following OS boot up as if no shutdown ever
came about.
Power reminiscence and snapshots
Phantom does typical snapshot of your entire digital reminiscence. Snapshots are finished asynchronously and without stopping the
world, nonetheless ensuing snapshot is synchronous – the general reminiscence is being snapped on the particular identical moment in OS’s
‘private’ time. It ability that snapshot teach is captured fancy if the general draw was stopped, dumped to disk and then
disappear as soon as more. Nonetheless without stopping.
Native code
Hi there-performance code (quantity-crunching, video or sound processing, and so on) requires precise
low-level gain admission to to the processor
and reminiscence. It is supposed that Phantom will seemingly be in a position to disappear native code in a completely different binary-object-sure thread.
One
binary object will provide code (CS teach material), others will seemingly be on hand as DS/SS and, most possible, ES/FS/GS (on completely different
architectures there objects will seemingly be merely mapped in thread deal with dwelling). This also can let Phantom to enact
highly-optimised native code.
It is supposed that to back some portability it’d be that you just furthermore could can imagine to create no longer exactly native, nonetheless LLVM-level
code
for this ambiance.
Digital machine
Phantom bytecode is outmoded stack-machine bytecode. It is very fancy Java bytecode, nonetheless there could be never any such thing as a difference
between constructed-in and user kinds on the manner boundary level. Any object (even integer) is class instance. There could be about a
particular back for integer calculations though, to speedup issues.
It is supposed that Phantom bytecode can signify any Java program, and Java to Phantom bytecode converter is being
written. Assorted languages are supposed to be brought through the Java bytecode or straight, by writing particular language
frontend.
C# (CLR) bytecode converter is deliberate, nonetheless no work is in progress yet.
Kernel verbal change
There could be set of (inner) classes, which ideas are implemented in kernel. These classes
offer kernel interface in
object ambiance. Not like Java, in Phantom the general class code is either inner (native, in Java phrases), or
bytecode-level.
Drivers
Currently drivers are written in C and dwell within the kernel entirely. Future releases could well contain likelihood to write
drivers in userland by offering required kernel frameworks. Userland driver will seemingly be restricted to check with
given (by kernel) set of hardware assets absolute top, and its interrupt-handling manner will seemingly be guaranteed to no longer to be
paged out.
POSIX ambiance
There could be (relatively straightforward) POSIX subsystem in Phantom. It is no longer power (yet?). As an illustration, Quake software program is
compiled for POSIX subsystem.
JOIN US AS DEVELOPER
Veritably, most of code we add is terribly straighforward and, usually, wearisome. That, to a point,
is on motive. We are wanting to contain a working draw first and polish it next. Besides, no longer the general ideas and assemble
choices are closing, so it’s miles of no employ to finalize the general implementation desisions now as neatly.
The Register
“Russian rides Phantom to OS immortality”
Phantom is a obvious procedure on the OS than any completely different available, with the important thing purpose of being immortal. In Phantom,
powering off the laptop will no longer motive purposes to lose teach. They are able to opt up where they left off as soon as the
machine is turned back on.
Dmitry Zavalishin
concept, code
Max Filippov
Low level kernel programming
OS Day
Chaos Constructions
Yandex Demodulation
Utility Developer Days
- Why no longer Linux?
Because Linux has already existed. Phantom OS concept offer completely different tips which can no longer be passe on the recent time, nonetheless will seemingly be surely passe the following day.
- Why be part of?
Even we are in a position to no longer promise you will most possible be the creator of recent Home windows, Linux or Android, there could be ideal different to gain earth disappear a runt bit faster. There are precise innovations below the hood.
- Are you able to mask it’s no longer flawed?
Appropriate search for at code (you furthermore could can assemble and disappear it your self): github
- Your tips about persistance, objects and vm are recent ones!
Right. All the pieces passe in on the recent time’s OS was invented mainly in 1960th. The point is easy ideas to combine and employ these diagnosed tips to gain recent traits. Even identical tips works otherwise relying on the sigh epoch.