5 ms·
macOS does something kinda like it. For when your battery dies you just have to boot the machine and all running apps will sort of start in their previous state
by Asmod4n 5y ago
macOS does something kinda like it. For when your battery dies you just have to boot the machine and all running apps will sort of start in their previous state.
- paxys 5y agoThat really depends on how well the app manages its own state and specifically handles restarts. No mainstream OS can restart without running apps even knowing it.
- jonhohle 5y agoIt’s possible with virtualization and containers. In those cases, to be fair, there applications are running in an environment that may not be aware it was restarted.
- FredPret 5y agoWhat if we're a simulation unknowingly getting a restart every time Johhny the alien closes and opens his laptop?
- zozbot234 5y agoA planned restart is just hibernation to disk, which is implemented in many OS's.
- Asmod4n 5y agoIf you got a Mac without a battery you can try to write something in pages and just yoink the power cable. Upon the next boot pages should open with your document and not lost anything.
- adastra22 5y agoIsn’t this exactly what hibernation is?
- checker659 5y agoHow is that any different from hibernation?
- jonhohle 5y agoMemory isn’t snapshotted and dumped, then restored by the OS in a way that user space is largely unaware. macOS/iOS has adopted a model of giving apps an opportunity to persist their own state before being terminated (which may be eagerly to reduce memory pressure or power consumption, for example) and then have the application restore its own state in whatever way is appropriate. Outside of containers, hibernation almost needs to be a system-wide operation, which makes it inappropriate for OS updates, restoring from crashes (which, I suppose is what Phantom OS is trying to resolve), or hardware changes.
- zozbot234 5y agoNote that "containers" is basically kernel-implemented namespaces, which is why a containerized app can be checkpointed and restored independently: they can preserve the semantics of kernel resources across runs. You could have just about any arbitrary app running in a "container" with it being none-the-wiser about it: it doesn't necessarily impact userspace support.