|From:||"Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>|
|Date:||Wed, 10 Jan 2007 14:47:02 +0100|
: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.
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.
-- 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 / \
Description: OpenPGP digital signature