Re: Mark Russinovich's reponse Was: [OT] Comments to WinNT Mag !!

Stephen C. Tweedie (sct@redhat.com)
Thu, 6 May 1999 18:52:47 +0100 (BST)


Hi,

On Wed, 5 May 1999 08:37:33 +1000, Richard Gooch <rgooch@atnf.csiro.au>
said:

>> Ugh. I liked the VMS model here. When you queue an I/O request,
>> one of the things you can attach to it is the address of a
>> procedure. When the request completes, the kernel creates a
>> temporary thread to execute the I/O rundown code, and part of that
>> rundown is to call the procedure you supplied.

> What was the cost of creating the "temporary thread"?

There isn't one: the AST is scheduled in the context of the calling
process/thread. AST delivery is an integral part of the scheduler, much
like signal delivery is on Unix.

> Anyway, we can do much the same thing with signals, except we don't
> need to create a temporary thread.

Yes --- ASTs are very similar to posix.4 queued signals.

--Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/