VKernel progress update - 8 Jan 2006 (milestone reached!)
Simon 'corecode' Schubert
corecode at fs.ei.tum.de
Wed Jan 10 06:00:11 PST 2007
Matthew Dillon wrote:
:how about using O_ASYNC and SIGIO for console and network, etc?
:
:we could build a device tree (starting with a nexus), where drivers could register filedescs as "interrupt" resources. or something like that...
It would work, but it wouldn't be fun. Signals are very expensive. Very
very expensive.
Kqueue or select for the network would work, the provisio being that
I would need to create some sort of mechanism to break out of an
emulated user context based on a kqueue event occuring. I don't think
that would be too hard to do.
Okay, but I guess no other subsystem would benefit from this. However, how do you manage to "break out"? You'd have to have some kind of context switching, right?
Second, we need some sort of
pseudo-DMA to handle the transfer... maybe a kernel thread. We have
the advantage that the transfers to and from the disk only occur
from the virtual kernel's 'memory' (which itself is just a memory mapped
file), so it would be fairly easy to write a real-kernel kernel thread
to help out there.
I think that's called aio and is even in POSIX. I think aio should be pursued further, just the implementation could need some polishing.
cheers
simon
--
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low â¬â¬â¬ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
Attachment:
signature.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00004.pgp
Type: application/octet-stream
Size: 252 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/kernel/attachments/20070110/fbfa3ebb/attachment-0020.obj>
More information about the Kernel
mailing list