Posted Feb 3, 2007 18:09 UTC (Sat) by mikov
Parent article: Fibrils and asynchronous system calls
In the Windows driver model all calls are asynchronous. Every user mode request is represented by an IRP structure which can be linked in various lists, etc, and completed asynchrounsly.
I have always liked that approach - it can be complicated to grasp and implement, but it is consistent and after all is the natural way for handling IO operations at the low level:
- User mode makes a request to the driver
- An operation is submitted to the hardware
- The hardware starts executing it
- At some later time the hardware completes and generates a completion interrupt
- The user mode request is completed asynchronously
Fibrils seem like an awful patch to me.
to post comments)