主权项 |
1. A layered device driver operating in both user and kernel space, and a hardware device comprising:
an application driver component operating in user space, wherein the application driver component is enabled to implement high-level functionality in user space instead of in kernel space, and is configured to isolate failure of the application driver component from layered device driver components operating in kernel space; one or more standard, non-proprietary debugging tools residing in the user space and configured to facilitate easy debugging of the layered device driver; a first shared memory interfacing the application component with an application, the first shared memory including an application buffer pool comprising notification buffers, the first shared memory including at least one data buffer pool comprising data buffers; a physical driver component operating in kernel space and in communication with the hardware device; a second shared memory residing between user space and kernel space and configured to queue an instruction to the physical driver component; and an interface driver component operating in kernel space, wherein the interface component is in communication with the application driver component and the physical driver component. |