> Потому, что вы теорию навели куцую. А полная теория включает в себя
> и утверждение, что из-за консерватизма отрасли "программирование" мы работаем на ОС
> 30-25-ти летней давности разработки.А это не плохо и не хорошо: удачные решения могут работать десятками а иногда и сотнями лет. Вот колесо например предмет древний, а используется до сих пор. Придумано много чего еще, более современного. Ну а колесо не собирается уступать свое место.
> L4 скорость была бы значительно выше.
Ну вот когда и если будет - тогда и поговорим. Линукс кстати в последних ядрах использует весьма эффективные механизмы системных вызовов, обеспечивая очень небольшой оверхед на гейтование юзермода в кернелмод.
> FUSE показывает, что ОТЛАДКА драйверов, работающих не в ядерном пространстве,
> значительно проще.
Честно говоря не заметил особой разницы по времени создания драйверов ФС для фуза и ядра. Так, если понаблюдать, примерно один фиг - уйма времени тратится, так что тезис надо бы еще как-то доказать, IMHO. Тем паче что в эпоху виртуалок это ни о чем - в виртуалке ядерное пространство доступно так и сяк через гипервизор. А то что оно там упало - так это не хост упал а гуест :). Ну и программеру соответственно все доступно и ничего не факапается.
Так что если вы хотели об этом вспоминать - это надо было делать ...цать лет назад, пока виртуализация еще не пошла в массы. А в эпоху когда простой смертный может отцепить PCI контроллер с всеми дисками на нем от железки и ее драйвера и отдать сие виртуалке и ее ядру и тамошнему драйверу - все это уже как-то менее актуально. По сути гипервизоры и откусили ряд ниш на которые микроядра претендовали.
> НО FUSE не работает с микроядерной скоростью, поэтому как оценка
> производительности, FUSE служить НЕ может.
Ну вот когда и если сделают - тогда и посмотрим.
> Диалектика и логика, понимаете.
Я понимаю что пока рассказывается про некую сферическую скорость в вакууме. Ибо несмотря на то что разрабатывать файловые системя для L4 "якобы проще", по факту драйверов нет. Так что мало того что сравнить не с чем, так еще и тезис про "якобы проще" остается недоказанным. Если бы кто в ударные сроки и/или мизерными ресурсами... но чуда то не случилось.
> Не отхватывают. Вы знаете, сколько времени народ работал на Windows 9x?
И как ни странно, в конечном итоге драйвера основного оборудования таки были доведены до стабильности которая требовалась в повседневной деятельности. Если б это было не так - тут же выиграли бы конкуренты. Это кстати должно бы навести на мысли на то что массовому покупателю нафиг не упала супернадежность. Если вы еще не заметили, в обществе потребления товар вообще оптимизируется в сторону потребительских свойств а не супернадежности. У микроядер все наоборот, так что в этом мире они инопланетяне.
>> Вот только программы != драйвера.
> Проблемы те же - ошибка доступа к памяти есть, но не проявляется.
Это далеко не единственная проблема. Драйвера как правило не очень активно работают с памятью и используют для этого системные услуги. По поводу чего это наврядли самая злободневная проблема. По моим наблюдениям проблемы нынче разве что у дров GPU и в основном потому что GPU сложный агрегат, в нем бывают аппаратные глюки (errata), часть из которых даже в доках не описана. Плюс надо генерить код под экзотичную архитектуру. На лету и по брейнфакерским правилам. Т.е. проблемы с отладкой именно логики поведения драйвера, а не чего-то еще. Как-то не совсем понятно чем микроядра тут помогут, а все остальное вроде и так хорошо работает и каши не просит.
>> Вот только для драйвера может быть нужно сделать такой маневр совершенно штатно.
>> Для работы с memory-mapped девайсами, например.
> Там есть маленькая область памяти, куда стоит лезть драйверу. А в остальную
> память ему путь заказан.
Эти области памяти могут быть и маленькие и большие и раскиданные черти-как. Они могут быть и в каком-то отдельном адресспейсе, и в общем, а то и вовсе это может быть территория отдельного процессора с своим собственным кодом. В монолитах с этим удается работать относительно просто и брутально - делая описанные в даташитах действия в кернелмоде которому все можно. Проще особо некуда. А вот сложнее - запросто. Хотя я совсем не против если кто делом докажет обратное, накатав поддержку чего-нибудь хардкорненького и сложного, одной левой, быстрее тех же линуксоидов.