Linux використовує два кільця кільця 0 називається рівнем ядра, кільце 3 називається рівнем користувача. Підключення від користувача до ядра здійснюється (як уже було сказано) за допомогою syscalls. Між ними знаходяться бібліотеки, як видно з користувальницької країни. Отже, доступ до ядра найнижчого рівня реалізований в бібліотеках з міркувань стабільності, безпеки, синхронізації, збереження проміжків тощо. Ядро-драйвер забезпечує різні інтерфейси для призначеного для користувача рівня: (IOCTL, sysfs, розеток, характер і блокових пристроїв і т.д.) в просторі користувача інтерфейсів . Отже, якщо ви хочете, ви можете реалізувати доступ до драйвера ядра, самостійно опустивши бібліотеки, або набагато простіше компілювати свій двійковий файл зі статичними пов'язаними бібліотеками.
Хорошим початковим пунктом є читання джерел libusb, вони добре задокументовані.