LINUX.ORG.RU

Таненбаум против Торвальдса - часть вторая


1

1

В продолжение недавних дебатов о микроядре, в очередной раз разгоревшихся между Торвальдсом и Таненбаумом, последний опубликовал свои комментарии к аргументам Торвальдса. В частности он перечисляет различные микроядерные ОС с указанием их применения.

>>> Подробности

★★★

Проверено: Shaman007 ()
Ответ на: комментарий от Sun-ch

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

Но Линус написал ОС. Работающую ОС, которая уже известна всему миру. А профессор до сих пор теоретизирует и пишет игрушки для второклассников.

Xellos ★★★★★
()
Ответ на: комментарий от swizard

> Ну как я могу вам это сказать однозначно и авторитетно, если в данной сфере у меня опыта пока весьма мало? :)

Заметно.

> Могу только рассказать, в какую бы сторону начал копать я, основываясь на прочтенной статье. Сделал бы vm-server модуль, который бы занимался маппингом виртуальных адресов к физическим, а во всех функция API был бы обязательным параметр с ID процесса. Такой модуль - что-то типа синглетона в OO.

Афигеть. И с какой скоростью это будет работать ? Изменение pagetable это очень-очень-очень частая операция

Кстати кто будет маппить страницы для самого vm-server'а ? vm-super-server ?

anonymous
()
Ответ на: комментарий от anonymous

> Дружище, флогистон и сегодня успешно описывает распределение температуры в системах без конвекции и излучения. Так шта ...

Так я и говорю, что описывает экспериментальные факты :) Так и микроядерные ОС - существуют же! :)

annoynimous ★★★★★
()

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

ddo
()
Ответ на: комментарий от annoynimous

Из OSF/1 вроде как сделали Digital Unix, которая использовалась в промышленности. И вообще надо понимать, что эпоха однопроцессорных или сильно связанных SMP систем клонится к закату, будущее за массово-параллельными системами, и не факт, что монолитный линакс там выживет.

Sun-ch
()
Ответ на: комментарий от Xellos

>Работающую ОС, которая уже известна всему миру

Вообще то Unix уже написали и до г-на Линуса. Я понимаю, если бы он написал что-нибудь типа виндовс, да это была бы принципиально другая система.

Sun-ch
()
Ответ на: комментарий от anonymous

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

> И монолитный дизайн ядра к этому не имеет никакого отношения.

Господин Умный и Знающий ананимус, прочтите, пожалуйста, статью в сабже.

swizard
()
Ответ на: комментарий от anonymous

>> Ну как я могу вам это сказать однозначно и авторитетно, если в данной сфере у меня опыта пока весьма мало? :)

> Заметно.

Да, но я-то опыта еще наберусь, благо тема мне интересна, а вот вы так и останетесь надменным и желчным анонимусом, которого никто не любит :))

> Кстати кто будет маппить страницы для самого vm-server'а ? vm-super-server ?

Ну он уже напрямую с аппаратной частью будет работать, а как - зависит от архитектуры, под которую он скомпилен. CPU x86, например, сам, вроде бы, умеет маппить и следить за тем, чтобы процессы друг к другу не лезли

swizard
()
Ответ на: комментарий от Sun-ch

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

а ты на своем месте помолчи, последуй своему совету. ты же не сделал для комьюнити столько сколько сделал Линус.

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

anonymous
()
Ответ на: комментарий от Sun-ch

> будущее за массово-параллельными системами, и не факт, что монолитный
> линакс там выживет.

и уж тогда то все оценят прелести микроядерности соляриса :)

тот же таненбаум просто не смог не заметить на l4linux но саныч ведь не читает статьи по ссылкам

Tester ★★★
() автор топика
Ответ на: комментарий от Tester

Looking at the PC world we find L4Linux, which was written by Hermann Härtig's group at the Technical University of Dresden. It runs all of Linux in user space on top of the L4 microkernel with a performance loss of only a couple of percent. But using the microkernel allowed the TUD people to build new systems such as DROPS (real time) and NIZZA (security) on top of L4 but still have access to full Linux without having to modify it for these new features. In this way, they can experiment with new facilities and still run legacy programs.

так что не надо ля-ля про смерть монолитного линукса - он уже обеспечил себе загробную жизнь в массово-параллельном мире

Tester ★★★
() автор топика

из них реально живой и микрокернельнй только QNX.
ни симбиан ни тем более MaxOS не "микро" кернел.

dimav123
()
Ответ на: комментарий от Sun-ch

А что интересного и нового в написании привареной наглухо к x86 архитектуре системы ?

dimav123
()

йййй

2all:

посоветуйте статью, где сравнивается идеология ядер Linux, minix3 и DragonFlyBSD.

binr ★★
()
Ответ на: комментарий от anonymous

>>Кста, win2k использовала микроядро, XP имеет уже смешаный тип

NT (3.51)с самого начала имеет смешаный тип ! и ближе всего к микроядру было именно 3.51 -там драйвер видеокарты был вынесен в пользовательское пространство, затем микрософт для увеличения произодительности(была ещё эра 386-486) внесла в пространство ядра виодрайвер и началась эра синих экранов :),может в висте будут опять подвижки к микроядру, вообще было бы здорово если можно было выбирать конечно пользователю -нужна надёжность -микроядро, нужна произодительность для игрушек -используй монолит, а драйвера дожны быть оди на всех

EasyLinuxoid ★★
()
Ответ на: йййй от binr

[Douglis et al., 1992] Douglis, F., Kaashoek, M.F., and Tanenbaum,
A.S.: "A Comparison of Two Distributed Systems: Amoeba and Sprite,"
Computing Systems, vol. 4, Fall 1991.

[Tanenbaum, 1995] Andrew S. Tananbaum, "A Comparison of Three Microkernels",
The Journal of Supercomputing, vol 9, number 1, ISSN 0920-8542, 1995.

Sun-ch
()
Ответ на: комментарий от anonymous

>Я так понимаю, что в реальности надо оставить всего лишь два примера - QNX и MacOS X - все остальное либо то потухнет, то погаснет, либо уже сдохло. А symbian то как, все еще используют?

Ну про Integrity так сказать может только чукча.

"Be sure brain is in gear before engaging mouth" - это нужно написать КРУПНЫМИ буквами на главной странице лора.

anonymous
()
Ответ на: комментарий от Xellos

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

> Но Линус написал ОС. Работающую ОС, которая уже известна всему миру. А профессор до сих пор теоретизирует и пишет игрушки для второклассников.

Науку в жизнь двигают как раз инженеры. Иногда даже - выпускники ПТУ :) Известный конструктор АК-47 вообще был - сержант, а его избретением до сих пор весь мир успешно пользуется.

> Из OSF/1 вроде как сделали Digital Unix, которая использовалась в промышленности.

В Digital Unix нет микроядерности, её сделали из Ultrix. Впоследствии стала True 64 Unix. А OSF/1 почила в бозе.

anonymous
()
Ответ на: комментарий от swizard

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

> > И монолитный дизайн ядра к этому не имеет никакого отношения.

> Господин Умный и Знающий ананимус, прочтите, пожалуйста, статью в сабже.

Ну и какое тайное знание по вашему заключено в этой статье ?

Ничего кроме перечисления существующих (и по большей части мертвых) микроядерных ОС и двести раз пережеванных сугубо теоретических аргументов в их пользу я там не вижу.

По части производительности в основном бла-бла-бла, а местами так просто откровенное вранье (вроде ссылки на использование QNX в роутерах Cisco)

anonymous
()
Ответ на: комментарий от anonymous

Финда начиная с NT5 имеет гибридное ведро, оное у 2k ближе к микроядру, в xp модульность была принесена в жертву производительности. Но ни в коем случае не монолит!

anonymous
()
Ответ на: комментарий от rtc

>у да, а в микроядре локи не нужны? Там их еще больше, т.к. доступ происходит из всегда равноправных контекстов.

Вы бы Щекодувов почитали бы Татенбаума то, а потом бы и щеки надували. Или клоуном нравится работать?

>Или же копировать данные? Это еще медленнее.

Полная невменяемость...

anonymous
()
Ответ на: комментарий от anonymous

>Финда начиная с NT5 имеет гибридное ведро, оное у 2k ближе к микроядру, в xp модульность была принесена в жертву производительности. Но ни в коем случае не монолит!

ЧИТАЙТЕ ПЕРВОИСТОЧНИКИ НА РУССКОМ ЯЗЫКЕ!!! ВЫЗЫВАЮЩЕ НЕВЕРНАЯ ИНФОРМАЦИЯ.

Shaman007 ★★★★★
()
Ответ на: комментарий от swizard

> Да, но я-то опыта еще наберусь, благо тема мне интересна,

Вот когда наберетесь, тогда и будете выдвигать идеи вселенского масштаба.

> а вот вы так и останетесь надменным и желчным анонимусом, которого никто не любит :))

У кого чего болит ? :P

> Ну он уже напрямую с аппаратной частью будет работать, а как - зависит от архитектуры, под которую он скомпилен. CPU x86, например, сам, вроде бы, умеет маппить и следить за тем, чтобы процессы друг к другу не лезли

Упростим вопрос, по вашей задумке vm-server будет отдельным процессом-сервером ?

anonymous
()
Ответ на: комментарий от Sun-ch

>Вообще то Unix уже написали и до г-на Линуса. Я понимаю, если бы он написал что-нибудь типа виндовс, да это была бы принципиально другая система.

А при чём здесь это? Он написал хороший unix для PC. Рабочий, а не игрушку для второклассников. Именно благодаря ему концепция "говорим компьютер - подразумеваем windows" скоро станет устаревшей.

Xellos ★★★★★
()
Ответ на: комментарий от Shaman007

Самая прямая, монолитное ядро слишком жырное, чтобы исполняться, например, на узлах транспьютерной матрицы.

Sun-ch
()

Профессор по большей части не прав. То, что драйвер аудио, видео, принтера, сканера не могут прибить систему - это хорошо, но на критических системах обычно нет этих драйверов и нет (и драйверы принтеров/сканеров и так не в ядре). А баг в драйвере диска или ФС прибьет и MINIX тоже.

Вот для _отладки_ userspace-драйвера - это здорово (наверное).

userspace файловые системы в Linux есть. И даже userspace-драйверы (в виде экспериментального патча) были.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

>Науку в жизнь двигают как раз инженеры. Иногда даже - выпускники ПТУ :) Известный конструктор АК-47

А вот например, ночной прицел, он уже изобрести не смог бы, это просто задача другого уровня.

Sun-ch
()
Ответ на: комментарий от Sun-ch

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

Саныч, транпьютеры мертвы и похоронены. А ядро Linux, пропатченное соответствующим образом (linux-tiny), исполняется в 2-х метрах памяти вместе с необходимым userspace'ом. Причем в этом ядре есть ФС и поддержка сети (TCP/IP), которые на транспьютере нах не нужны.

Вообще-то на T414 и более ранних моделях не было MMU, так что для них предназначен ucLinux ;), требования которого к памяти совсем невелики 8-P

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> То, что драйвер аудио, видео, принтера, сканера не могут прибить систему

В том-то и дело что СМОГУТ !!!! По крайней мере на PC и вообще на любой системе без IOMMU. О DMA слышали или его запретим чтоб не порочил светлые идеалы микроядра ?

anonymous
()
Ответ на: комментарий от anonymous

>> То, что драйвер аудио, видео, принтера, сканера не могут прибить систему

>В том-то и дело что СМОГУТ !!!! По крайней мере на PC и вообще на любой системе без IOMMU. Таки да, смогут. Это я тормознул. Но шансов всё-таки гораздо меньше, А к тому времени, как микроядра доведут до ума, везде будет IOMMU.

>О DMA слышали или его запретим чтоб не порочил светлые идеалы микроядра ?

О DMA слышал, и даже программировал 8-P. А вы до конца мой пост дочитали ? ;)

tailgunner ★★★★★
()
Ответ на: комментарий от Xellos

Ну во первых линакс - это не юникс, а во вторых и до него уже работали на x86 UnixWare, BSD/OS - промышленные системы.

Sun-ch
()
Ответ на: комментарий от anonymous

> О DMA слышали или его запретим чтоб не порочил светлые идеалы микроядра ?

Конечно запретим! :) Нефиг в память без спросу лазить!

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

>ЧИТАЙТЕ ПЕРВОИСТОЧНИКИ НА РУССКОМ ЯЗЫКЕ!!! ВЫЗЫВАЮЩЕ НЕВЕРНАЯ ИНФОРМАЦИЯ.

Да, да! Наших "отцов" почитаешь, и трава не нужна. Developer документацию на языке оригинала читайте, и не несите бред.

anonymous
()
Ответ на: комментарий от tailgunner

Но это пока, сама идея объединения гиганского количества относительно слабых в вычислительном плане чипов еще как жива.

Sun-ch
()
Ответ на: комментарий от Sun-ch

> Но это пока, сама идея объединения гиганского количества относительно слабых в вычислительном плане чипов еще как жива.

Это да, но они "слабые" уже по сегодняшним меркам. Так что Linux там вполне пойдет.

tailgunner ★★★★★
()
Ответ на: комментарий от Sun-ch

>> Известный конструктор АК-47 > А вот например, ночной прицел, он уже изобрести не смог бы, это просто задача другого уровня.

Сам-то подумай, AK - это ядро и есть, а прицелы-фигелы - как раз драйверы :)

sin_a ★★★★★
()
Ответ на: комментарий от anonymous

Не комменты, а каждый о своем. Каждый пытается показать какой он спец и знает много умных слов, даже не подозревая о их смысле.

anonymous
()
Ответ на: комментарий от anonymous

> Не комменты, а каждый о своем. Каждый пытается показать какой он спец и знает много умных слов, даже не подозревая о их смысле.

Ну так запости свой комментарий, но уже точно по теме. И начнется технически интерсное обсуждение (может быть) ;)

tailgunner ★★★★★
()
Ответ на: комментарий от sin_a

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

Sun-ch
()

Если упрощенно, то микроядро — это ма-ахонький процесс-супервизор, который всего-то и умеет, что загружать/выгружать процессы ядра. А остальная функциональность ложится на другие процессы включая планирование, распределение памяти, поддержку файловой системы и т.д. Так устроены операционные системы Windows 2000, QNX, Mach. Монолитное ядро, в отличие от микроядра, представляет собой один гигантских размеров процесс, в адресном пространстве которого содержится вся необходимая функциональность. Так устроены Windows 9x (частично), FreeBSD, Linux и многие другие системы. Разница между монолитом и микроядром, опять же, в безопасности и интерактивности. Так, микроядро гораздо безопаснее монолита, потому что кривой драйвер гарантированно не сможет «подвесить» систему, ведь он находится в отдельном адресном пространстве. Кроме того, микроядро занимает меньше памяти за счет того, что загружает исключительно нужные в данный момент модули. А преимущества монолита в его скорости.

Со временем ядро Linux все больше и больше приобретало черты микроядра, и в теперешнем его виде от свойств монолита осталось, наверное, только единое адресное пространство. Дело в том, что микроядро, естественно, более современная парадигма ОС, и все системы стараются развиваться именно в сторону увеличения модульности. Так что сегодня Linux — это монолит с чертами микроядра, позволяющими на ходу загружать/выгружать в пространство ядра дополнительные модули. Один из видов модулей ядра — драйверы устройств, так что загрузка драйвера и загрузка модуля — это одно и то же. отсюда: http://www.simphony.ru/index.php?name=Pages&op=page&pid=187 половина спорящих вообще не понимает что такое микроядро и о чем спор.

anonymous
()
Ответ на: комментарий от sin_a

> Ну дак и ядро - у всех есть, а драйвер к винмодему - только у избранных.

И какое преимущество перед конкурентами :P

Evgueni ★★★★★
()
Ответ на: комментарий от Sun-ch

>до него уже работали на x86 UnixWare, BSD/OS - промышленные системы

Ну и где они? Где линукс, и где всё остальное?

Xellos ★★★★★
()
Ответ на: комментарий от Sun-ch

Вышла новая OPERA

А на инетовскую статью нет ссылки?

binr ★★
()
Ответ на: комментарий от Motiv_studenta

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.