Всё убила узкая специализация ...
Переусложнение, торможение роста железа - некая стагнация, в которой все принялись бурно имитировать и забурились в эти самые миллионы строк кода. В результате переусложнения всегда теряется универсальность - человеческий мозг просто не справляется с общей картиной.
Когда вещи были проще - подход определённо был более системным.
Ну, вот - ватком, к примеру ... вполне себе "платформо-независимый компилятор". Т.е., там доделывают нормальную версию 2.0, а не то глючное чудо, которое "выкатили" сколько-то лет назад ... и они собирают её ради развлечения в bsd, полуоси, итд, итп ...
Он писался с расчётом работы на "голом железе", в итоге дефолтная C++ либа, которая обрабатывает всё компиляторо-зависимое линкуется вообще без своего C-шного рантайма. Она хочет из него, кажется, только exit().
И это чудесно - лёгким движением руки оно линкуется в совершенно левый проект с собственным рантаймом и в итоге плюсы становятся удобным и доступным средством.
Это
нормально, но кто-то должен был
следить за этим во время разработки.
Когда вещи усложняются - про такие тонкости забывают в первую очередь.
Другой пример - NT. Ядро, NTFS, подсистемы, итд, итп ... Какой это год - 92? Больше 30 лет они живут на этом коде, весь мир живёт. Навешивают на него килотонны глупых рюшечек, а он держит. Удивительно.
Написал бы кто-то сейчас такое же? Нет.
Именно поэтому - переусложнение, сужение кругозора. Скорее всего уже нет ни архитекторов, ни кодеров которые породили бы нечто столь универсальное.
Ну и хаос железа, конечно ... То же самое переусложнение.
Вы либо принимаете чью-то модель драйверов и эмулируете её, либо остаётесь ни с чем. В итоге все и упираются в "очередной юникс".
Это самый страшный подарок человечеству от некоего финна

Почему я у себя и отказался от драйверов вообще

Концепция работы на BIOS или EFI имеет минусы, но для одного человека она разумна. Можно сделать кучу других интересных вещей - если не забуриться в ahci или usb с головой

Однопроцессорная многозадачность как работала в 80-х, так работает и сейчас

И на ней делали много разного, если вспомнить.
Это просто способ не свалиться в это самое переусложнение, которому требуются тысячи кодеров и миллионы их часов и строк кода.
Мозг реагирует на переусложнение желанием отключиться и сбросить задачу с плеч - так проекты и умирают

Надо просто ловить этот момент и сворачивать на другой путь, чаще всего он есть ....