Ядро является базой LINUX. Вы можете как угодно переставлять
любую из библиотек, но пока есть ядро есть и LINUX. Оно включает в
себя драйвера устройств, механизм распределения памяти, управление
процессами и связями. Разработчики ядра стараются следовать рекомендациям
POSIX, которые иногда осложняют, а иногда упрощают программирование. И если
ваша программа поведет себя иначе на новой версии ядра, то вероятнее всего, в
этой версии учтена еще какая-нибудь рекомендация POSIX. Информацию о ядре для
программиста можно найти в Linux Kernel Hacker's Guide (Справочное
руководство по ядру LINUX для программиста).