The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"OpenNews: Интервью Эндрю Таненбаума русскоязычному сообществу разработчиков ОС MINIX 3"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Эндрю Таненбаума русско" +/
Сообщение от Алех (?), 28-Сен-08, 10:50 
>Куда более вероятный сценарий: звук работает бОльшую часть времени, в какой-то момент
>драйвер вываливается и тут же перезапускается, причем пользователь может этого даже
>не заметить.

Таких драйверов не должно быть ни в микроядерной ось ни в монолитной.

>>Монолит : В самом кривом случае кернел-паник (что не смертельно, ибо всё
>>останется живым после рестарта) итог 1 - звука нет.
>
>Если Вы считаете kernel panic "несмертельным", то наш разговор продолжать бессмысленно, ибо
>основная цель микроядра - избежать этого сценария. Кроме того, отчего Вы
>так уверены, что все "останется живым после рестарта" ? А если
>в драйвере файловой системы будет ошибка, которая приведет к непоправимой порче?

Спорить об ошибках драйверов FS, к примеру журналируемых, так же бессмысленно как и про "несмертельность" кернел-паник. Всё же это эталон качества и неотъемлемая часть монолита.
Да и не стабильный драйвер FS в микроядре создаст такую же предпосылку к потере данных.

>>Производительность будем сравнивать? Давайте хотя бы приблизительно:
>>
>>1. Микроядро. Драйвер не имеет прямого доступа к обороудованию, обращается за этим
>>к микроядру. Переключение контекста 1. Латентность самого микроядра 2.
>
>Во первых, драйвер, хоть и не имеет прямого доступа к оборудованию, зато
>имеет к физической памяти, если устройство работает через DMA.

Периодически всё же нужны порты ввода/вывода, да и окна адресного пространства менять. А прерывания от оборудования в существующей архитектуре (IBM PC) не могут обработаны напрямую за пределом RING0. Да и специфика узка - рассматриваем ведь только IBM PC. А как там на маках? Как на Sparc?

>Во вторых, современные техники оптимизации производительности предусматривают применение прямого переключения контекста от
>отправителя к получателю сообщения, например, от драйвера блочного устройства к процессу
>драйвера дискового контроллера. Это верно в тех случаях, когда в свободные
>регистры сообщение помещается полностью. Таким образом, передача сообщения происходит без двойного
>копирования из разных адресных пространств и минуя вызов планировщика. Все это
>увеличивает производительность IPC на порядок.

Данные ходят сложнее чем память/устройство. Например нужно выдеопоток отправить в сеть, это заставит мокроядро посильно участвовать в координации процесса. По крайней мере в теории. Если честно, не в курсе как это сделано в MINIX.

>[оверквотинг удален]
>этих потоков к одним процессорам с целью избежать перезагрузок кэша, поллинг,
>контроль за частотой прерываний и включением/выключением поллинга, и прочие прелести.
>
>>Интересно будет посмотреть на производительность когда USB корень задолбит микроядро >запросами от мыши и клавиатуры.
>
>Если Вы думаете, что проблем с этим нет у монолита, то Вы
>ошибаетесь. Любое немаскированное прерывание влечет за собой как минимум два переключения
>контекста - на поток, обрабатывающий прерывание, и обратно. Поэтому проблемы тоже
>есть, и решаются они точно так же, как и в случае
>микроядра.

У I386 при разных RING переключаемых контекстов требуется несколько больше тактов для применения атрибутов безопасности контекста. Но это проблема I386, хотя может в CORE этот момент оптимизировали...
Но тут уже надо в цифрах латентность сравнивать да и количество переключений...

Но это всё мелочи, ибо пока главная проблема MINIX это оборудование...

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
OpenNews: Интервью Эндрю Таненбаума русскоязычному сообществу разработчиков ОС MINIX 3, opennews, 24-Сен-08, 13:44  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру