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

Reply via email to