> Всё равно это незначимая цифра для ОС, Это как это - незначимая? Это же в 5 раз! В инженерии бьются за 10%!
Блин, в науке 5 раз - значимая величина, а в инженерии - тем более.
> Чего это вдруг он вылетит? Испортит точно так же структуры, но не
> ядра, а свои.
Хе. Своих-то значительно меньше, чем ядерных! Размер одного драйвера раз в 10-ть меньше, чем размер всего монолита - ядро + другие драйвера. Поэтому тут тоже вероятность вылетания будет очень велика.
> И если сильно не повезёт, то тогда только будет аналог сегфолта и драйвер будет перегружен.
Вы знаете, аналогичнейшая проблема с access violation в обычных программах - тоже, вылетает далеко не всегда. Но есть методы увеличить "хрупкость" программы - например закрывать область памяти сразу за стеком. Их используют и очень успешно. Но зачастую и без них валится.
> Пусть даже драйвер вылетит, например, дравйвер видео. Можно ли его вот так
> вот просто перегрузить на рабочей системе и при этом не нарушить
> работу прикладного ПО?
Практика показывает, что таки в современных оконных системах можно. GDI-то отдельно от драйверов.
> Можно ли точно так же поступить с драйверами ФС?
См. Minix - да, порча данных может быть, но вы более чётко знаете, что она произошла. А сейчас в Линуксе, если драйвер фс засирает пространство ядра, но не вылетает, то вы ничего не узнаете.
> Получит ваш драйвер в микроядре неожиданное сообщение от другого компонента и будет
> тоже самое - будете долго искать кто нагадил.
Ну микроядро - это же не панацея от всего. Сейчас, собственно, всё выглядит ровно так же.
> Это всего лишь убирает основную массу детских ошибок которых большинство в прикладном
> ПО и тем самым улучшает стабильность, но для относительно отлаженного системного
> ПО стабильность уже изменится на доли процентов и эффект может быть
> незаметен.
Опыт Microsoft говорит, что драйверописатели совершают массу детских ошибок. Конечно, если бы можно было заставить писать драйвера под GPL или аналогом, было бы совсем круто. Но сейчас их даже исправить-то не всегда можно. Впрочем, и драйвера с открытым кодом - это то ещё, например, я долго мучался с Интеловским видео - вывешивало мою OpenSuse исключительно ловко. С микроядром этого бы не было.