Kernel 201 – Let’s write a kernel with keyboard and screen support (2014)
arjunsreedharan.org
arjunsreedharan.org
[0] http://arjunsreedharan.org/post/82710718100/kernel-101-lets-...
The QNX solution to this is that drivers are always user processes, but you can put additional programs in the boot image which start at boot. That's how the first drivers get started. This is valuable for embedded systems, which may not have a keyboard, screen, or disk drive, but may have other ways to get info to someplace useful.