suppose we want to be able to hibernate a single running process rather than the entire Windows OS. I have seen claims online that in the general case this is impossible, which is why it is not supported by the OS.
Ok, so how about we wanted to find some “specific case” which would be, hopefully, as broad as possible. Or maybe we could start with a fairly narrow specific case, like how do we get Minesweeper or similar trivial apps that don’t interact with anything to hibernate.
Suppose we are writing these apps from scratch and so can impose upon the development process any needed limitations (let’s say, don’t access files directly but rather access them via some special framework that spins twice and knocks Dorothy’s magic shoes when doing that).
Suppose further that we only care about “managed” apps, let’s say .net, so that whatever wizardry needed with the memory could be more credibly implemented. If garbage collector can keep track of all the memory, maybe the hibernator can too.
Well, so what sort of restrictions would we need to impose, functionality to prohibit and rituals to establish to make a hibernatable process? Or are there some very profound aspects to the way Windows executes even managed code processes that make this 1st law of thermo type of impossible proposition?
Incidentally, if somebody out there completely did not understand what the question is about but wishes to battle the teeming millions’ ignorance of existence of the persistence framework called Hibernate, the somebody should avoid doing so in this here thread