LINUX.ORG.RU

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


1

1

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

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

★★★

Проверено: Shaman007 ()

Ответ на: комментарий от CrazyClaus

>Ухохотаться holywar в действии :LOL:

эх молодежь. вот когда макнили называл мелкомягких империей зла и трихобезоаром, ото был holywar

anonymous
()

"Time for some serious flamefesting!" LBT

Микроядра победят. Позиция Таненбаума не так уж слаба.

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

> честно говоря позиция у таненбаума хиленькая

Кстати, да. Аргументы у него из разряда "я не буду замечать ничего плохого, буду говорить только о хорошем про микроядра". "Время показало", что правда на стороне Линуса. Раньше Таненбаум говорил, что не поставил бы Линусу зачёта, а теперь говорит "приятный и очень умный", и говорит, что "очень уважает его за то, чего он достиг". В общем, типично для профессора :)

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

> Да? В каком месте они победят, интересно?

как ось для сaерического коня в вакууме :)

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

мыкроядро

успокойтесь, горячие финские парни!
истина посредине, как всегда,
просто Линус немного схитрил, не став бежать впереди паровоза,
а реально многие фишки мыкроядра - уже в linux kernel, например, подгружаемые модули и автомонтирование flash'ек.

mumpster ★★★★★
()
Ответ на: мыкроядро от mumpster

автомонтирование флэшек микроядреная фича ?
надо же - винда же лет 10 как стала микроядерной а мы и не знали

Tester ★★★
() автор топика
Ответ на: мыкроядро от mumpster

> а реально многие фишки мыкроядра - уже в linux kernel, например, подгружаемые модули и автомонтирование flash'ек.

Жжошь!

anonymous
()

Судя по тексту в скором времени появится Debian GNU/MINIX 3.

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

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

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

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

Про ядро винды товарищ Т. говорит следующее:

Microsoft also has interest in microkernels. It understands the maintenance headache of monolithic kernels like no one else. Windows NT 3.1 was a half-hearted attempt at a microkernel system, but it wasn't done right and the performance wasn't good enough on the hardware of the early 1990s, so it gave up on the idea for a while. But recently, it tried again on modern hardware, resulting in Singularity. Now I know that a lot of people assume that if Microsoft did it, it must be stupid, but the people who drove the Singularity project, Galen Hunt and Jim Larus, are very smart cookies, and they well understand that Windows is a mess and a new approach is needed. Even the people working on Vista see they have a problem and are moving drivers into user space, precisely what I am advocating.

вот так то.

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

AFIAK самое близкая к микроядру(из всех виндузов) была windows nt 3.5, там вроде даже gui из ядра вынесен был. Правда была заметна потеря производительности и после этого выпустили nt 3.51 в которой gui вернули обратно в ядро.
Поправте меня если я неправ.

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

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

Это не так. См Соломона и Руссиновича, где они явно пишут, что win2k монолитно. Там все еще смешнее: для совместимости с DOS, OS/2 и POSIX адресные диапазоны пришито намертво.

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

> после этого выпустили nt 3.51 в которой gui вернули обратно в ядро.

GUI в ядре появился с NT 4.0

annoynimous ★★★★★
()

Я лично за микроядро. Общие (shared) структуры данных в ядре, конечно, быстрее, но накладные расходы на синхронизацию оных уже превышают все допустимые границы (особенно это заметно на примере freebsd, где уже пару лет усиленно пытаются избавиться от giant-lock'ов).

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

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

>Я лично за микроядро. Общие (shared) структуры данных в ядре, конечно, быстрее, но накладные расходы на синхронизацию оных уже превышают все допустимые границы (особенно это заметно на примере freebsd, где уже пару лет усиленно пытаются избавиться от giant-lock'ов).

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

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

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

При чем здесь posix и linux-only? posix - это набор userspace интерфейсов, монолитность ябра здесь не при чем.

>swizard (*) (16.05.2006 10:48:56)

rtc ★★
()

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

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

>Ну что, кто ублажит Таненбаума и напишет новое микроядерное ядро?

сначала прочитал вместо "ядро" - "ведро"

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

>Да? В каком месте они победят, интересно?

не ради флейма: может как подложка при виртуализации? хотя можно и монолить обкорнать для такого дела :)))

AcidumIrae ★★★★★
()

Гыгыгыг, вот так списочек.

* QNX * Integrity * PikeOS * Symbian * L4Linux * Singularity * K42 * Mac OS X * HURD * Coyotos

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

anonymous
()
Ответ на: "Time for some serious flamefesting!" LBT от Camel

> Микроядра победят.

Про коммунизм то же самое, в таких же аргументах, такие же идиоты рассказывали.

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

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

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

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

swizard
()
Ответ на: мыкроядро от mumpster

> реально многие фишки мыкроядра - уже в linux kernel, например, подгружаемые модули и автомонтирование flash'ек.

Выходит Танненбаум все это придумал ради автомонтирования флэшек? Вот жеж неудачник то!

anonymous
()
Ответ на: мыкроядро от mumpster

>...автомонтирование flash'ек.

ахтунг! среди нас роботы! :)

каким боком это "фишка мыкроядра"? ;)

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

> Как я понял, Таненбаум просит в конце MINIX 3.0 попробовать.

Это не osnews - там у каждого на компе по 10 операционок, и они спорят какя из них лучше. ( из 10, разумеется, непригодны для работы (и не будут никогда).

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

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

сдай своего драг диллера! плиз!

по ссылке почитай, друк :) микроядро было NT3.5

NT4 и NT5 - не микроядро

AcidumIrae ★★★★★
()

Linux Kernel 4.xx будет с микроядром, не жить же ему в памперсах монолитности всю жизнь ...

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

>Как я понял, Таненбаум просит в конце MINIX 3.0 попробовать. Кто пробовал?

я пробовал. уже запускается :)

пробовал 1 и 2 - на реально железе что-то не запускалось :)))

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

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

>А зачем копировать, структуры данных вообще не шарятся. Каждый модуль работает только со своими данными, предоставляя другим только API (в статье приводится аналогия с ОО).

:) ну-ка, ну-ка, расскажите, как вы сделаете page table, чтобы у каждого пользователя была своя? Или все аппаратные шины у вас тоже будут отдельные для каждого драйвера?

Танненбаум рассказывает теории, которые в реальной жизни никогда не будут реализованы, т.к. это просто никому не нужно.

>swizard (*) (16.05.2006 11:09:07)

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

Насчет победят, не знаю, но уже долго живут и есть не просят.
В QNX-то как раз-то микроядро. Просто "каждой кобыле - свое стойло".
Не всем они нужны и не везде, а вот на RTS даже очень требуются ;)

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

> Общие (shared) структуры данных в ядре, конечно, быстрее, но накладные расходы на синхронизацию оных уже превышают все допустимые границы (особенно это заметно на примере freebsd, где уже пару лет усиленно пытаются избавиться от giant-lock'ов).

Газифицируем лужи ? freebsd страдает не от мифических недостатков монолитного ядра, а от неадекватной модели разработки.

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

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

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

> Не всем они нужны и не везде, а вот на RTS даже очень требуются ;)

реалтаймовость и микроядерность вещи перпендикулярные. Не каждая микроядерная ОС будет реалтаймовой, также, как и не каждая реалтаймовая ОС основана на микроядре.

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

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

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

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

> :) ну-ка, ну-ка, расскажите, как вы сделаете page table, чтобы у каждого пользователя была своя?

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

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

Вообще хорошая идея - скачать миникс и посмотреть как это сделано там

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

> Газифицируем лужи ? freebsd страдает не от мифических недостатков монолитного ядра, а от неадекватной модели разработки.

Ох ты, вот оно, оказывается как! А я-то думал... Ну раз анонимус сказал, значит, так оно и есть :)

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

> OSF/1, Chorus/MiX V.4 as a microkernel implementation of SVR4 - были очень серьезные системы.

ну, теория флогистона тоже некоторое время удачно объясняла экспериментальные факты :)

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

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

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

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

>> Газифицируем лужи ? freebsd страдает не от мифических недостатков монолитного ядра, а от неадекватной модели разработки.

> Ох ты, вот оно, оказывается как! А я-то думал... Ну раз анонимус сказал, значит, так оно и есть :)

Во первых регистрация на LOR не добавляет ума и знаний.

Теперь второе. Под неадекватной моделью разработки имелись ввиду "централизованная разработка" и "небольшая команда разработчиков" коими очень любят размахивать бздуны.

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

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

anonymous
()

Во, блин! Они до сих пор спорят, оказывается :) По-моему с тех пор как Линус сказал (не дословно, но что-то типа): "пусть не микроядро, пусть плохо, но линукс уже есть и оно работает, а где миникс?" ничего не изменилось.

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