Book: FreeBSD Device Drivers - A Guide for the Intrepid - J. Kong I've been reading ^ this lately and it's super cool. Have been running FreeBSD 14.0 - CURRENT for a couple months and trying to learn about the kernel and drivers. The first several chapters have introduced how to use make_dev to create devices, and how to implement the d_foo functions such as d_open, d_ioctl, d_read, et cetera (a struct with pointers to all these functions is passed to make_dev, if I remember corretly). Also we've seen how to implement basic sysctl, and now chapter four we are going over thread synchronization issues and the need for various types of lock structures (mutexes and such).