[coyotos-dev] Preemption again

Jonathan S. Shapiro shap at eros-os.com
Mon Feb 4 16:56:51 EST 2008


On Mon, 2008-02-04 at 16:04 -0500, Godfrey Vassallo wrote:
> Here is a knee jerk reaction.
>  
> I think that a designer would want to bind a preemptive notification
> to an important event that is somehow related to the target process.
> It seems counter intuitive to send the notification to a proxy process
> which then will need to somehow interact with target process to make
> the occurrence of the event know. I assume that proxy knows how to
> handle the event and only needs to report its occurrence to the
> target. Implicit actions seem to make debugging tricky and code
> difficult to understand, especially when the action is subtle.
> Explicitly suspending and reactivating the target process will aid
> program comprehension by both current and future maintainers.

Godfrey:

I agree with the potential for confusion that you raise, but this is
inherent in ANY preemptive signaling mechanism.

To make the issues concrete, try thinking it through for watchdog
timers. In UNIX we would send a signal, but we don't have to worry about
lost receives in UNIX. In Coyotos, what we need to do is send a message
to a helper (the proxy) which can either whack the real recipient for us
somehow or advise the recipient (perhaps via shared memory) that a
notification has arrived. The proxy probably *doesn't* know how to
handle the event specifically.

The main advantage to doing this with a proxy receiver is that all of
the delivery mechanism is taken entirely out of the kernel's hands.

Does any of this clarify anything?

shap



More information about the coyotos-dev mailing list