Behind the Scenes
Having spent the initial chapters of this book describing the architecture of Mac OS X, and in particular stating that a modern operating system only allows hardware to be directly accessed from the kernel, you are probably wondering how this is consistent with a chapter describing user-space drivers.
Internally, user-space drivers do indeed require a kernel driver, but this is provided by the same IOUSBDevice and IOUSBInterface objects that would be used to interact with the USB device had the developer chosen to write a kernel driver for the hardware. To make these objects available to user-space applications, the IOUSBFamily publishes a user client for each instance of IOUSBDevice and IOUSBInterface that is created in the ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access