The OpenNET Project / Index page

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



"Релиз ОС MINIX 3.2.1"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Релиз ОС MINIX 3.2.1" +1 +/
Сообщение от Аноним (-), 25-Фев-13, 02:57 
> А-то.

Это называется "пытаться на чужом горбу въехать в рай". Ну то-есть все академики всегда знают как надо правильнее всего. Но сами это кодить почему-то не хотят. Вот если бы они с самого начала занимались еще и кодинком этих поделок всерьез - они бы поняли откуда у инженеров/кодеров берутся казалось бы столь глупые tradeoff-ы и неидеальности.

>> А виртуализация за нечто подобное не считается, кстати?
> Не считается.

Ну это идея доведенная до абсолюта - вообще ничего кроме арбитража ресурсов. Такой вот прикол над фанатами микроядер получился. Стало вообще тупым арбитром ресурсов, с ОС-метазадачами поверх.

> Более того, до нормальной виртуализации всего и всея - в стиле VM/370, ещё пилить и пилить.

Людям надо чтобы работало, а не чтобы концептуально. То что есть - уже работает и работает неплохо.

> Микроядро хорошо тем, что позволяет отлаживать драйвера в пространстве пользователя.

Я уже сто раз слышу эту теорию. Тем не менее, пока-что в сабже отладили целый EXT2, тогда как в монолитах и гибридах давно уже есть куда более навороченные файловые системы. И драйвера GPU со спеками на тысячу страниц почему-то под именно "макро" ядра. А вот где хоть один драйвер такого масштаба под микроядра? Красивая теория вообще за столько лет не подтверждена практикой.

> Это значительно проще, чем отлаживать их в пространстве ядра. Если вы программировали
> под MS DOS или микроконтроллеры, вы должны это знать.

Я программировал и под то и под другое. Под микроконтроллеры и сейчас программирую. И вы знаете, не жалуюсь как-то. Покорно благодарю за потуги "осчастливить", но мне эти услуги как-то не требуются. Я и так прекрасно себя чувствую. Вам проще? Окей, вам и флаг в руки писать драйвера. Если вам это проще - отлично. Вот и посмотрим насколько практика подтвердит теорию. Только почему-то вы хотите это подтверждать чужими руками. Вы не хотите скушать пирожок сделанный по своему рецепту? Выглядит довольно подозрительно.

> Если отлаживать драйвер проще, высококвалифицированный разработчик драйвера может потратить
> высвободившееся время на, скажем, оптимизацию драйвера. Или на разработку другого драйвера.

На борьбу с оверхедом, ограничениями апи и попытки выжимки сколь-нибудь приемлимой производительности, вы хотели сказать? Или просто сберегут рублик^W доллар, забив на это? Получив более плохой-но-как-то-же-работающий результат. Мне кажется довольно странным подход когда сначала себе создают проблемы, а потом начинают героически их преодолевать. На практике я вообще пока не вижу успехов микроядерщиков в драйверостроении. И вообще, там где ядерщик просто пойдет и запрограммит железку как ему было надо, микроядерщик будет устраивать длинные танцы с бубном. А если так получится что текущего апи ядра не хватило - это вообще попадос какой-то.

> К виртуализации это имеет отношение постольку-поскольку. Виртуализация позволяет НЕ разрабатывать
> драйвера для гостевой системы, ограничившись драйверами "по-умолчанию".

А еще можно попробовать отцепить девайс от хост-системы и пробросить его в виртуалку. И вот там отлаживать драйвер. В случае современного железа с IOMMU, которое умеет аппаратно перехватывать "неправильные" попытки доступа в память со стороны периферии - так даже можно попробовать отладить что-то с меньшим риском факапа всей системы. Если даже гуест и его драйвер факапнутся - не велика потеря, это ж не настоящий кернелмод был, а всего лишь закос под таковой. Хост не помрет. А гуеста можно препарировать как надо и вообще изучать так и сяк. А факапнуть память хоста со стороны железяки при этом по идее не даст IOMMU. Ну, теоретически по крайней мере. Как по мне - такой подход выглядит более реалистично и его уже можно попробовать использовать прямо сейчас. А до академиков через 10 лет теоретического бухтения как обычно допрет, что оказывается, у их сарая нет стены: в современном мире неверно запрограммированная периферия в два счета выносит мозг системе путем прострела памяти через DMA (ща вам не дос, скорости не те, эпоха PIO давно закончилась). А в виртуализаторах как раз хотели пробрасывать девайсы, но вот это вот свойство очень уж мешало, по поводу чего IOMMU и внедряли. Ну и сколько лет в микроядрах будут пилить поддержку виртуализации и проброса периферии таким манером? И не потребуется ли при этом перекроить дизайн в самых основах раз так эн?

>> Ну да, не в том виде как академики обещали.
> Граждане, у вас какой-то воинствующий дилетантизм. Есть теория, есть практика,
> они взаимодополняют друг друга.

Пока что я вижу махровейший пофигизм академиков к окружающим реалиям. Вот вы например вещаете о каких-то теоретических преимуществах, с полным пофигом на то что наблюдается на практике здесь и сейчас.

> Сперва делается красивая теоретическая концепция, которую потом воплощают
> и некоторым образом подрабатывают для практики. В процессе подтачивания
> напильником появляются неизбежные костыли.

Или приходит понимание что от концепции больше вреда чем пользы в таких-сяких примениях. Вон автомобилисты например ездят на конструкциях двигунов, основы которых разработаны более века назад. И ничего. При том догнали старинную технологию на современном уровне до таких высот, что новым разработкам взять эту планку не удается. А без этого они никому нафиг не уперлись. Вот и живут ДВСы более-менее классической конструкции более века уже. Конечно, изобретатели столетней давности бы удивились, увидев современные ECU и реализуемые алгоритмы, получаемые параметры, etc. Но принципы работы остались те же что и век назад. И ничего, ездит же. А заменить пытались, пытались, но ... результаты попыток как-то не впечатляет. С монолитами и гибридами наблюдается аналогичная ситуация. Эти ваши микроядра похоже постигнет участь двигателей Ванкеля и подобной экзотики. Т.е. в теории вроде все здорово, а на практике вылезает столько труднопреодолимого головняка, что проще вообще дизайн спустить в трэш и использовать его только в узкоспециализированных нишах.

> Если же концепции нет вообще, то весь проект представляет
> собой сборище костылей и подпорок.

Ну как бы концепция деления на 2 части (кернел и юзер) - вполне имеет право на жизнь и делом доказала свою работоспособность. Это какая-никакая концепция построения многозадачек. Ей уже много лет и она работает, обеспечивая работу большинства компьютеров современности. Чего ради ее надо отправлять на покой - малопонятно. Ну вон с ДВСами это люди уже который год не понимают :)

> А если изначальная концепция хороша (см. UNIX или X), то проект, несмотря
> на обрастание костылями, живёт долго и счастливо.

ИМХО довольно спорное утверждение: мир знает множество красивых на бумаге концепций которые при попытке реализации работали намного хуже чем хотелось бы и в результате успешно околели. Яркий пример - Itanium например. Теоретически вроде был задизайнен "со всеми наворотами", взяли все лучшее что пришло в голову. Практически у нового дизайна вылезло столько проблем что оказалось проще спустить его в трэш и развивать старый.

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

Оглавление
Релиз ОС MINIX 3.2.1, opennews, 22-Фев-13, 20:35  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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