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 code of this slickly presented operating system is available on github.
I’ve always felt that these “persistent application” concepts are a big risk. It was hard enough to get OSes to the high-uptime reliability level we enjoy now, and a lot of work was poured into that.
Your average application developer isn’t going to be pouring that high amount of work into their testing.