4 ms·
The BSDs are far more approachable, and I recommend starting there for anyone interested in kernel development. There are books, such as The Design and Impleme
by teacup50 13y ago
The BSDs are far more approachable, and I recommend starting there for anyone interested in kernel development.
There are books, such as The Design and Implementation of the FreeBSD Operating System (by McKusick): http://www.amazon.com/Design-Implementation-FreeBSD-Operating-System/dp/0201702452 http://www.amazon.com/Design-Implementation-FreeBSD-Operatin...
There are papers, such as Jonathan Lemon's "Kqueue: A generic and scalable event notification facility" presented at Usenix 2001: http://people.freebsd.org/~jlemon/papers/kqueue.pdf http://people.freebsd.org/~jlemon/papers/kqueue.pdf
There are kernel interface man pages:
http://www.freebsd.org/cgi/man.cgi?query=SYSCALL_MODULE&sektion=9&apropos=0&manpath=FreeBSD+10.0-RELEASE http://www.freebsd.org/cgi/man.cgi?query=SYSCALL_MODULE&sekt...
http://www.freebsd.org/cgi/man.cgi?query=hhook&apropos=0&sektion=9&manpath=FreeBSD+10.0-RELEASE&arch=default&format=html http://www.freebsd.org/cgi/man.cgi?query=hhook&apropos=0&sek...
There are examples referenced by the man pages:
http://svnweb.freebsd.org/base/head/share/examples/ http://svnweb.freebsd.org/base/head/share/examples/
- justincormack 13y agoIndeed and there is a new edition of the Design and Implementation updated for FreeBSD 10/11 http://www.freebsdnews.net/2014/04/02/design-implementation-freebsd-operating-system/ http://www.freebsdnews.net/2014/04/02/design-implementation-... NetBSD is pretty approachable too. With the rump kernel you can run drivers in userspace, so you can use a normal debugger and so on, and not crash the OS you are running.
- songgao 13y agoThanks for the references! I actually started to look into FreeBSD kernel code recently. I've found that FreeBSD's ath driver code is cleaner and more straightforward compared to the ath/ath*k drivers in Linux. Not sure if this is coincidence or due to different philosophy between FreeBSD and Linux communities.
- teacup50 13y agoI've found similar across the board; I think it boils down to different philosophies/development cultures.