Linux kernel programming algorithms and structures of version 2.4 (Addison-Wesley, 2002)