On Mon, Jul 14, 2008 at 11:11 PM, Binu Jose Philip <binujp at gmail.com> wrote:
> > However providing a framework that can work without application awareness > is difficult. The best an OS can do is to save the current *execution image* > of > any process. Restoring such an image will restore memory leaks, active bugs > and everything you are trying to clear. > The closest to this might be hibernate in Windows and Linux. But in this case, the user has to invoke the hibernate process manually. > This is also extremely hard to do. Basic requirement from the OS would be to > provide continuos data protection, keep-alive options for various connections > and keys, and a guarantee that resources it had consumed earlier are still > available. The value add does no justify the effort. > Indeed. The only value add is what I see hibernate provide (but with manual execution). The closest that anyone could implement would be with virtualization, where one would have to modify the virtualization platform to constantly update a local snapshot of the running image. This would have performance hits, of course. The conveniences that high fidelity context/session saving would provide would have to necessarily be limited to the machine itself. If the computer were to interface with external devices (electronic, process, data storage), then transactions as well as session and process replication would be required to ensure that the process itself completes. An example would be very expensive manufacturing or control processes where failure is not an option. In such cases, multiple levels of redundancy is the norm. Context/session saving is replaced with context/session replication or even parallel execution. -- Sriram
