User-space device drivers
Posted Jan 22, 2004 19:53 UTC (Thu) by stuart2048
Parent article: User-space device drivers
What fun! Back in the days of "who's got the fastest IPC" my master's thesis project, the Raven Kernel, was based on a user level approach (for as much as I could get away with...).
I did interrupt dispatching quite differently than Gelato. In Gelato, a user thread "reads" interrupts from an open file descriptor. In Raven, I took a more asynchronous approach: the kernel interrupt handler upcalls into the user driver (essentially interrupting the user code), where it then directly executes the handler code to service the device.
My motivation here was to make the user handler code execute with as low latency as possible. There were some tricky corner cases to implement, but I eventually got it working. ;-)
But after all that, I much prefer the simplicity of Gelato's approach and will stay tuned to their progress!
to post comments)