ИМХО в тексте очень много частностей, и архитектуры системы за ними не видно... о том, что представляет собой ядро, посредством каких (унифицированных) интерфейсов оно общается с драйверами и процессами, остается только догадываться.

использование специфических ф-ий set/get для работы с каждым драйвером... хммм... этак драйвера можно просто заменить на библиотеки ф-ий, все равно малейшие изменения в параметрах (к примеру, понадобится еще один параметр добавить), и придется все переписывать и пересобирать. что-то типа ioctl'ов ИМХО подошло бы больше.