http://www.tldp.org/LDP/lkmpg/2.4/html/x579.html
http://derekmolloy.ie/writing-a-linux-kernel-module-part-1-introduction/
Kernel export a symbol: http://tuxthink.blogspot.it/2011/07/exporting-symbols-from-module.html
Sharing semaphores between kernel and user spaces: http://stackoverflow.com/questions/17391276/shared-semaphore-between-user-and-kernel-spaces
Kernel space semaphores: http://www.makelinux.net/ldd3/chp-5-sect-3