К слову о ядре Linux — есть книжка Бовета и Чезати «Ядро Linux» (в английском варианте — Understanding The Linux Kernel). ИМХО — неплохое введение в общую архитектуру, основные идеи и «где что лежит».
Но, конечно, в случае ядра linux просто жизненно необходимо просто научиться программировать под linux, разобраться с системными вызовами, механизмами IPC и прочим, прежде чем лезть в само ядро