> Это как это - незначимая? Это же в 5 раз! В инженерии бьются за 10%!- Петька, приборы.
- Десять!
- Чего десять?
- А чего приборы?
Ну просто вылитый анекдот :)
Никто не бъётся в инженерии за десять, вы что-то путаете. Если специалист будет биться за десять в инженерии, то он долго в специальности не задержится. Заказчики люто не любят когда их $ расходуются на борьбу с неведомыми показателями.
> Блин, в науке 5 раз - значимая величина, а в инженерии - тем более.
Откуда такие шаблоны берутся? Наука слишком обширная область, есть области где разница в тысячи раз не играет роли, а есть где важны миллионные доли.
> Хе. Своих-то значительно меньше, чем ядерных! Размер одного драйвера раз в 10-ть меньше, чем размер всего монолита - ядро + другие драйвера. Поэтому тут тоже вероятность вылетания будет очень велика.
Между микроядром и монолитом есть ещё промежуточные варианты, в зависимости от архитектуры процессора возможны различные варианты изолязий в ядре (на i386 их, например. 4 штуки), ну и в конце концов в ядре применимы многие подходы из юзерспейса - виртуализация адресов и sparse аллокаторы групп страниц. Всё это в совокупности снижает вероятность попасть "нитуда" в разы.
И от размера драйвера ничего не зависит, испортить можно только динамические данные, а их объём зависит от подсистемы. Сетевой стек, например, на нагруженных каналах будет иметь огромнейшие размеры по сравнению со всем остальным.
> Ну микроядро - это же не панацея от всего. Сейчас, собственно, всё выглядит ровно так же.
По крайней мере это не решение проблем стабильности, тезис которым я начал эту подветку.
> Опыт Microsoft говорит, что драйверописатели совершают массу детских ошибок.
Опыт M$ интересует меньше всего. M$ это M$, а мир юниксоподобных ОС это ... совсем другое, с разными целями, моделями и подходами.
> С микроядром этого бы не было.
С микроядром вы бы имели мёртвые иксы, карточку в нерабочем программном состоянии и необходимость перезагрузки ОС. Всё тоже самое, разве что успели бы корретно выключить систему.