Я не совсем понимаю, в чём претензии к Kernel.
Он есть - и везде есть, вот и всё.

Интерфейс один, реализации могут быть разные. Ну да, это немного "недодинамическикомпонентно". Ну так и модуль особый. Не будем забывать, что изначальная, классическая модульность такой способ заменяемости реализаций и предполагала (один интерфейс модуля - несколько реализаций). Это уж потом был придумана разного рода виртуализация, через ООП-паттерны.

У меня вот есть приложения, в которых нет ни одной строчки платформенно-зависимого кода, при этом я могу запустить и пускач .exe, и пускач ELF+SO - и всё побежит на нужной ОС. При этом приложения не прикладного, а системного назначения.