Hi Babu,

Today context-saving or session saving is implemented by many applications
including firefox and even compilation via the make process. Frameworks like
gnome or kde and most windowmanagers support session saving.

The facilities required are already provided by all OS's. This
includes providing
persistent storage and an automatic restart mechanism. The application has to
be designed to allow state saving. If you take editors like Emacs or VIM, they
track open files, active location on each file, window configuration etc. The OS
does not play any direct role in saving this state.

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.

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.

The easiest option is to provide highly available services via a
cluster framework.
Such frameworks usually have a check-pointing scheme which makes
non-idempotent operations possible. HA-frameworks only allow restarting,
state saving has to be done by the application.

Looking up "process migration" will help you appreciate some of the difficulties
in restoring a process to a given older state.

cheers
Binu

On Mon, Jul 14, 2008 at 12:38 AM, Babu N <babun at intoto.com> wrote:
> Hi,
>
> Computers need restarts in various scenarios like software upgrades,
> regaining leaked memory, system slowdown/hang etc etc. We typically postpone
> computer restarts for reasons like "loss of active state". For example, a
> user may have opened some applications at the moment & a restart means
> interrupting them, remembering all of them & their context, re-starting them
> & restoring their context again after restart.
>
> In some cases (eg: software upgrades), it looks possible to
> provide"context-restoring" computer restarts. "Context-restoring" means
>
> remembering the applications that are active before restart & starting them
> after restart without user's actions.
> Applications to remember the context & fit into this context to the extent
> possible after restart without user's actions. Examples
>
> If a user had five sites opened in firefox, we should have firefox remember
> these websites & re-open them after restart.
> If a user had a compilation going on before restart, we should have the
> application checkpoint this activity before restart & resume this
> compilation after restart.
>
> This email is to understand
>
> whether such a facility is already existing in Belenix or any other OS &
> whether any application have such support. If not,
>
> Prior art on "context-restoring" computer restarts.
>
> Useful & undesirable what kind of scenarios "context-restoring" computer
> restarts would be useful & what scenarios they are undesirable. An example
> of undesirable scenario: if we observe a system hang by opening some web
> page, "context-restoring" restart would result in a hang. Does it help if we
> let user choose the applications for which "context" should be restored.
>
> Implementation possibilities. One implementation possibility: when user
> requests "context-restoring" restart, applications can save their context
> that is appropriate across restarts & register with some module in Operating
> system which can invoke these registered applications on restart.
>
> As middleware like operating systems have a role to play in supporting this
> feature, the email is posted here. If this is not the correct alias for such
> a discussion, please ignore this thread & point me to appropriate discussion
> list.
>
>
> Thanks,
> Babu
>
>
>
>
>
>
> _______________________________________________
> belenix-discuss mailing list
> http://mail.opensolaris.org/mailman/listinfo/belenix-discuss
> http://groups.google.com/group/belenix-discuss
>
>

Reply via email to