Linux Kernel Programming | Linux Device Drivers |
Kernel Developers focus on interfaces, data structures, algorithms and optimization for the core of the operating system. | Device Drivers use the interfaces and data structures written by the kernel developers to implement device control and IO. |
Kernel programming is done using Module programming technique.There are no standard libraries available. Have to use pure C programming. | Device Drivers is done using Module programming technique.There are no standard libraries available. Have to use pure C programming. |
A very good kernel programmer may not know a lot about interrupt latency and hardware determinism, but he will know a lot about how locks, queues and Kobjects work. | A device driver programmer will know how to use locks, queues and other kernel interfaces to get their hardware working properly and responsively, but he won’t be as likely to fix a page allocation bug or write a new scheduler. |