How could this work? Teorically, the OS could detect that an application crashed and start it again. But to restore the state the application was in before it crashed, it would need to scan the application's memory and derive the state from it, hopefully without also recreating the conditions that lead to the crash. While this could maybe be done, it would require the OS to know the application's internals extremely well, so it isn't feasible to apply this at scale. Or am I missing a simpler way to do this? Maybe the OS could save snapshots of the application's status. This way it wouldn't need to know the application's internals, but there would still be the problem of how to know which is the last good status that will not cause a crash a few moments afterward.