(no subject) David Bakin (davidbak@Exchange.Microsoft.com)
Thu, 24 Jun 1999 09:17:11 -0700

This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible.

------_=_NextPart_001_01BEBE5D.05A291AE
Content-Type: text/plain;

charset="iso-8859-1"

Jonathon,

I have a question about how device state is restarted/recovered after a crash and checkpoint recovery.

In the ongoing thread "some very thought provoking questions" you distinguish between the kernel, which is rebooted/restarted, and the processes running, which are checkpointed and continued. And you also mentioned how 'external connections' are revoked, and a process can then get a notification and perform some recovery (like revalidate a capability).

So is it the case that on reboot the device drivers - presumably part of the kernel - reinitialize all external hardware to some known state? And then processes which talk to hardware, on discovering that their capability is now invalid, know that they need to recover which may including setting the hardware to other states? I guess part of the question may be are "device drivers" entirely kernel mode, or do they tend to be written as a kernel mode part and a process part, or what? In practice what kinds of device state are kept in the kernel and which in processes (checkpointed, and then verified?)

Thanks! -- Dave

------_=_NextPart_001_01BEBE5D.05A291AE
Content-Type: text/html;

charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Jonathon,
 
I have a question about how device state is restarted/recovered after a crash and checkpoint recovery. 
 
In the ongoing thread "some very thought provoking questions" you distinguish between the kernel, which is rebooted/restarted, and the processes running, which are checkpointed and continued.  And you also mentioned how 'external connections' are revoked, and a process can then get a notification and perform some recovery (like revalidate a capability).
 
So is it the case that on reboot the device drivers - presumably part of the kernel - reinitialize all external hardware to some known state?  And then processes which talk to hardware, on discovering that their capability is now invalid, know that they need to recover which may including setting the hardware to other states?  I guess part of the question may be are "device drivers" entirely kernel mode, or do they tend to be written as a kernel mode part and a process part, or what?  In practice what kinds of device state are kept in the kernel and which in processes (checkpointed, and then verified?)
 
Thanks!  -- Dave
------_=_NextPart_001_01BEBE5D.05A291AE--