comp.lang.ada
 help / color / mirror / Atom feed
From: "Brian Catlin" <briancatlin@mindspring.com>
Subject: Re: Ada OS Kernel features
Date: Wed, 5 Sep 2001 10:58:55 -0700
Date: 2001-09-05T17:58:58+00:00	[thread overview]
Message-ID: <9n5p52$isr$1@slb6.atl.mindspring.net> (raw)
In-Reply-To: 3B965086.B9D8E007@nbi.dk

"Jacob Sparre Andersen" <sparre@nbi.dk> wrote in message
news:3B965086.B9D8E007@nbi.dk...
> Alfred:
>
> > Brian Catlin wrote:
> > >
> > > What sort of features would be desirable/required in the kernel?
> [...]
> > You should be able to load/unload a driver dynamically (I hate rebooting
> > because of driver change).
>
> And it would be nice if the kernel was prepared for kernel
> updates on-the-fly (load new kernel image, copy process
> information to the new kernel image, hand over operations to
> the new kernel).

  A hugely difficult problem.  Think about any running program.  Your want to
replace it, while it is running, with a new and updated version of itself.  The
new version has different data structures.  How do you stop the running program
(which a user might be using), and start up the new one transparently to the
user, with the same state as the old program?

 It is possible to do, however, the notion of a checkpoint needs to be added to
the system and applications.  When a checkpoint happens, all internal state
needs to be saved somewhere, then the new program/system has to be loaded, and
then the old state information needs to be interpreted to put the new
program/system in the same state.  This will not be an instantaneous process.

 I've been thinking about how to implement this for the last few years, and I've
been looking for the opportunity to implement it.  One of the ramifications of
implementing this type of checkpointing, is that you now have the ability to
move running processes (applications) from one system to another (of the same
architecture) at run-time.  This opens the door for true "compute servers".  You
could start an application on your system, and then decide to move it off to
another machine if its taking too long, or you needed to reboot your machine.
Obviously, there are many constraints to such a thing, but the 24x7 crowd would
love it.

 -Brian






  reply	other threads:[~2001-09-05 17:58 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-05  5:58 Ada OS Kernel features Brian Catlin
2001-09-05 10:15 ` Jacob Sparre Andersen
2001-09-05 11:16 ` Larry Kilgallen
2001-09-05 17:06   ` Brian Catlin
2001-09-06 14:35     ` Marin David Condic
2001-09-07  9:31       ` Tarjei T. Jensen
2001-09-05 17:55   ` David Starner
2001-09-05 18:42     ` Darren New
2001-09-12  6:47   ` Mats Karlssohn
2001-09-05 14:04 ` Ted Dennison
2001-09-05 17:23   ` Brian Catlin
2001-09-05 20:17     ` Ted Dennison
2001-09-05 21:10       ` Brian Catlin
2001-09-06  6:45         ` Tarjei T. Jensen
2001-09-06  6:56           ` Brian Catlin
2001-09-06 14:05             ` Ted Dennison
2001-09-05 16:02 ` Alfred Hilscher
2001-09-05 16:19   ` Jacob Sparre Andersen
2001-09-05 17:58     ` Brian Catlin [this message]
2001-09-05 17:44   ` Brian Catlin
2001-09-05 17:58     ` Darren New
2001-09-05 18:51     ` Larry Kilgallen
2001-09-05 19:25     ` chris.danx
2001-09-05 20:07       ` Darren New
2001-09-05 20:14       ` Larry Kilgallen
2001-09-06 13:45         ` Alfred Hilscher
2001-09-06 18:06         ` chris.danx
2001-09-06 19:41           ` Larry Kilgallen
2001-09-06 22:32             ` chris.danx
2001-09-07 11:04               ` Larry Kilgallen
2001-09-07  8:04           ` Dmitry Kazakov
2001-09-07  8:18             ` Mattias Svensson
2001-09-07 12:40               ` Dmitry Kazakov
2001-09-12  7:12               ` Mats Karlssohn
2001-09-05 20:18       ` Brian Catlin
2001-09-06  6:48         ` Ole-Hjalmar Kristensen
2001-09-06  6:59           ` Brian Catlin
2001-09-10  7:32             ` Ole-Hjalmar Kristensen
2001-09-06 13:42     ` Alfred Hilscher
2001-09-07  8:13       ` Dmitry Kazakov
2001-09-08  3:55     ` Kenneth Almquist
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox