Микроядро породит неизбежные проблемы IPC взаимодействия между процессами, что более медленно из-за частой смены уровней привелегий в рамках процессов и сохранения контекста вызовов. Интерфейсы механизма IPC между процессами и микроядром только усложнят код и породят ещё больше ошибок. При этом не нужно забывать, что ядро Linux имеет хорошую модульность и продуманную архитектуру, не смотря на монолитность, в угоду простоте и скорости работы.Проблема не в архитектуре ядра - проблема в устаревшей технологии программирования и разработки, когда используется прямой доступ к памяти с ручным опасным управлением её сегментами (ещё и c оператором goto) в привелегированном режиме процессора и это считается нормой в системной и embedded разработке! Опасная технология системной разработки в среде Linux возводится в ранк фетишизма, как бритьё с опасным лезвием.
Но есть альтернативы - языки Rust и D.
Взять Rust.
Rust более сложный general purpose язык чем Си (позиционируется как безопасная альтернатива C++), безопасность заложена концептуально в основу языка, при этом язык по настоящему системный, с прямым и безопасным! доступом к памяти, благодаря умным runtime указателям и деструкторам, которые подчищают неиспользуемую программно память, используя подсчёт ссылок и представлены как типы данных в языке, т.е. указатели типизированные! и всего их два вида, но есть и возможность небезопасного доступа к памяти через объявление unsafe блока кода.
https://doc.rust-lang.org/std/rc/struct.Rc.html - умный указатель с подсчётом ссылок для однопоточного кода
https://doc.rust-lang.org/std/sync/struct.Arc.html - tread-safe тип умных указателей с подсчётом ссылок для многопоточного кода
В Rust используется весьма эффективная давно забытая конструкторно-деструкторная техника программирования, называемая RAII в C++, изобретённая в конце 80-х.
В разной литературе она также называется CADR (Constructor Acquires, Destructor Releases, CADRe) или SBRM (Scope-based Resource Management).
https://en.wikipedia.org/wiki/Resource_acquisition_is_initia...
https://en.wikipedia.org/wiki/Automatic_variable
На Rust можно безопасно писать любые системные программы - драйверы, работающие с оборудованием, подключенным к компьютерным шинам, модули ядра, как интерфейс между двайверами и системными вызовами, API ОС, с её ядром, можно даже своё ядро написать - проект микроядерной ОС Redox на Rust уже есть.
https://redox-os.org
https://github.com/redox-os/redox/