Linux kernel programming: algorithms and structures of version 2.4 (Pearson, 2002)