Live data from Hacker News

Phantom OS: Persistent Operating System

github.com

21–30 of 69 posts

Re: Phantom OS: Persistent Operating System

#21

> Its primary goal is to provide environment for programs thatsurvive OS reboot. Such an environment greatly simplifies software development Simplifies? I can't even imagine such a program. To me a program is something that starts and ends and can also re-start with a fresh state in case something goes wrong.

What about some middle ground? I’d like my IDE to remain constant between reboots, my browser to some degree is already (if it crashes, it reopens all current tabs on start, which is effectively the same). I would have thought some clever hacks on an existing kernel would be reliable enough rather than an entirely new OS just for one feature, though.

Isn't that what Hibernation offers on Windows?

Re: Phantom OS: Persistent Operating System

#22

This kind of system will suffer from the ratchet problem. A single bug that negatively impacts state is no longer fixable by rebooting. Instead, you have to format/reinstall. Unintended state becomes permanent, and upgrade paths constrained to the point where you must do intentional damage. I'd also be leery of fragmentation. The project is falling into the "simplification trap", where all it's doing is moving inhere…

Similar issues when using object databases (not to be confused with document stores, though they have somewhat similar problems to a lesser degree)

Re: Phantom OS: Persistent Operating System

#23

This kind of system will suffer from the ratchet problem. A single bug that negatively impacts state is no longer fixable by rebooting. Instead, you have to format/reinstall. Unintended state becomes permanent, and upgrade paths constrained to the point where you must do intentional damage. I'd also be leery of fragmentation. The project is falling into the "simplification trap", where all it's doing is moving inhere…

Isn't that what snapshots are for? If rebooting breaks then rollback to a previous snapshot of the kernel or core components but keep all the users data intact.

Re: Phantom OS: Persistent Operating System

#24

This kind of system will suffer from the ratchet problem. A single bug that negatively impacts state is no longer fixable by rebooting. Instead, you have to format/reinstall. Unintended state becomes permanent, and upgrade paths constrained to the point where you must do intentional damage. I'd also be leery of fragmentation. The project is falling into the "simplification trap", where all it's doing is moving inhere…

Isn't that what snapshots are for? If rebooting breaks then rollback to a previous snapshot of the kernel or core components but keep all the users data intact.

Now find out when your problem was introduced. Your very, very lucky if that was 30 minutes ago. But there will also be hidden issues that can lie dormant for weeks or months. Good lucky using rollback for those.

Re: Phantom OS: Persistent Operating System

#25

I remember reading about another, pretty old, microkernel OS which had persistent processes. It was probably a capability based OS. Anyone know what that was?

You are probably thinking of EROS https://en.wikipedia.org/wiki/EROS_(microkernel)>

But there have been several others also based on similar ideas, such as Mungi.

In recent years, there is Twizzler, intended for NVRAM. https://www.youtube.com/watch?v=0Ix5DYKxzLI>

Re: Phantom OS: Persistent Operating System

#26

Earlier quoted context omitted.

What about some middle ground? I’d like my IDE to remain constant between reboots, my browser to some degree is already (if it crashes, it reopens all current tabs on start, which is effectively the same). I would have thought some clever hacks on an existing kernel would be reliable enough rather than an entirely new OS just for one feature, though.

Isn't that what Hibernation offers on Windows?

Good point. I’ve not even tried to hibernate a Linux machine in 10 years though so I have no idea if it works there

Re: Phantom OS: Persistent Operating System

#27
I studied some persistent object store databases in the past - which seemed like an incredibly good idea and I think the AS400 used such a database and was very popular.

It removed the need for a filesystem or any of the usual patterns for retrieving data like SQL so a whole class of programming that people think of as "normal" today just vaporised.

Persistent programs seem like a logical-ish next step but I wish the first step could have been taken because it was very nice to program in.

Re: Phantom OS: Persistent Operating System

#28

This kind of system will suffer from the ratchet problem. A single bug that negatively impacts state is no longer fixable by rebooting. Instead, you have to format/reinstall. Unintended state becomes permanent, and upgrade paths constrained to the point where you must do intentional damage. I'd also be leery of fragmentation. The project is falling into the "simplification trap", where all it's doing is moving inhere…

Rebooting does not fix any bugs, it just resets the state. I'm not sure this is really the better solution because many bugs never get fixed because "Have you tried turning it off and on, again?"

Resetting the state is a necessary step when the state is corrupted. You can’t work around this with “don’t corrupt the state”. So many developers are running the other way: isolate state; reduce dependence on state; eliminate side effects; crash only software; etc. The state doesn’t need to be preserved because it simply isn’t that valuable.

Re: Phantom OS: Persistent Operating System

#29

I'm not sure this actually solves the real problem that people have. Sure, reboots are annoying and pretty much all current OSes could be improved in this regard. Back in the 90s, it's interesting that SunOS supported live kernel upgrades, so at the same time the kernel on disk was updated, the running system was also patched so it would act the same way as-if rebooted, but without any disruption to the live system.…

It's even more essential in IoT and mobile devices, where reboot is often necessary, sometimes just to restore broken connection, like modem. Nobody works now on stable software, everyone tries to ship it as fast as possible. It's not necessarily bad thing, but it is certainly orthogonal to the persistence.

Re: Phantom OS: Persistent Operating System

#30

> Its primary goal is to provide environment for programs thatsurvive OS reboot. Such an environment greatly simplifies software development Simplifies? I can't even imagine such a program. To me a program is something that starts and ends and can also re-start with a fresh state in case something goes wrong.

What about some middle ground? I’d like my IDE to remain constant between reboots, my browser to some degree is already (if it crashes, it reopens all current tabs on start, which is effectively the same). I would have thought some clever hacks on an existing kernel would be reliable enough rather than an entirely new OS just for one feature, though.

The IDE I use, QtCreator, works like this: if you reboot or it crashes you can just restore the previous session on startup and it will bring you exactly where you were.
Post reply on HN