LINUX.ORG.RU

Возвращение микроядра


0

0

Эндрю Таненбаум - отец операционной системы minix, подвигнувшей Линуса Торвальдса к написанию линукса, а также один из основных идеологов микроядра, в своей статье высказал свое мнение о хрупкости нынешних ядер ОС и каким образом микроядро решает эти проблемы.
В частности он пишет (перевод мой) :
"У нынешних ОС есть две причины которые ведут к их нестабильности и небезопасности - они огромны и у них очень плохая изоляция ошибок ... Рассмотрим аналогию с кораблем - современное судно имеет много отсеков и если в каком нибудь из них случится пробоина то затопленным окажется только этот отсек. Нынешние же ОС похожи на судна произведенные до изобретения этой технологии - единственная течь может утопить судно"

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

★★★

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

Re: Возвращение микроядра

>подвигнувшей Линуса Торвальдса к написанию линукса

Глупость какая...

Cybem ★★ ()

Re: Возвращение микроядра

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

всё ничего было бы, да вот только матросов надо в 2 раза больше кормить, чтоб быстро из отсека в отсек бегали

Pi ★★★★★ ()

Re: Возвращение микроядра

Старичку все обидно?

plm ★★★★★ ()

Re: Возвращение микроядра

Мне вот это понравилось:

>One study of software reliability showed that code contains between six and 16 bugs per 1,000 lines of executable code, (1) while another study put the fault density at two to 75 bugs per 1,000 lines of executable code, (2) depending on module size. Using a conservative estimate of six bugs per 1,000 lines of code, the Linux kernel probably has something like 15,000 bugs; Windows XP has at least double that.

Научный подход однако ;)

Статистика как третья разновидность лжи. Уважаемый профессор впал не то в маразм, не то в пиар.

guardian ()
Ответ на: Re: Возвращение микроядра от Pi

Re: Возвращение микроядра

При всем уважении, Таненбаум не написал ни одной *настоящей* операционной системы.

Shaman007 ★★★★★ ()

Re: Возвращение микроядра

Юзер спей драйвера? Или на альтернативных от x86 процах тоже по 4 кольца защиты? Перфоманс конечно упадет - но глядишь можно будет и на продакшен сервере драйвера USB отлаживать :D

zZzZ ()

Re: Возвращение микроядра

Дедушка зациклился на идее молодости. Примерно как Вирт, который в сентябре 2005 на своей лекции в МГУ рассказывал о достоинствах Паскаля по сравнению с C и Algol 66

krasin ()

Re: Возвращение микроядра

Отец Эндрю Таненбаум прав, но и Отец Линус Торвальдс прав тоже.

blind ()
Ответ на: Re: Возвращение микроядра от guardian

Re: Возвращение микроядра

А вот и дальше ;)

> One study of software reliability showed that code contains between six and 16 bugs per 1,000 lines of executable code, (1) while another study put the fault density at two to 75 bugs per 1,000 lines of executable code, (2) depending on module size. Using a conservative estimate of six bugs per 1,000 lines of code, the Linux kernel probably has something like 15,000 bugs; Windows XP has at least double that.

guardian ()

Re: Возвращение микроядра

выполз старый таненбаум, пропел старую песню монолит vs. микроядро, пропиарил лишний раз микрософтовскую Singularity.

хотя главная фишка singularity вовсе не миркоядро, а SIP

anonynous ()
Ответ на: Re: Возвращение микроядра от guardian

Re: Возвращение микроядра

Не то, вот пиар

>Minix 3's reliability comes from multiple sources. First, only about 4,000 lines of code run in the kernel, so with a conservative estimate of six bugs per 1,000 lines, the total number of bugs in the kernel is probably only about 24—compared with 15,000 for Linux and far more for Windows.

guardian ()
Ответ на: Re: Возвращение микроядра от anonynous

Re: Возвращение микроядра

>> подвигнувшей Линуса Торвальдса к написанию линукса

> Глупость какая...

Почитай книгу "Just For Fun" от Линуса.

krasnoglaziK ()
Ответ на: Re: Возвращение микроядра от Vovanchic

Re: Возвращение микроядра

а че так все критикуют? по моему, мысль правильная - только вот кто ее реализует?

Toxa ()

Re: Возвращение микроядра

ИМХО Таненбаум абсолютно прав! Тем кто придерживается иного мнения ОБЯЗАТЕЛЬНО читать его книгу "Рспределенные системы, принципы и парадигмы". Затем прикинуть как на все это красиво накладывается идея микроядра.

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

iBliss ()
Ответ на: Re: Возвращение микроядра от Vovanchic

Re: Возвращение микроядра

Но сделать из эмулятора терминала ядро ОС - после того как он вместо модема позвонил на НЖМД.

Begemoth ★★★★★ ()
Ответ на: Re: Возвращение микроядра от plm

Re: Возвращение микроядра

> Старичку все обидно?

не думаю. Если правильно сделать, то микроядро может бегать быстрее текущего линуксового.

Подробности (для тех кто осилит) есть в статье Jochen Liedtke "Improving IPC by Kernel Design" http://portal.acm.org/citation.cfm?coll=GUIDE&dl=GUIDE&id=168633

vadiml ★★★★★ ()
Ответ на: Re: Возвращение микроядра от vadiml

Re: Возвращение микроядра

даже просто поискав в гугле Jochen Liedtke "Improving IPC by Kernel Design" вываливается куча рассуждений на эту тему

но чукча - писатель

vadiml ★★★★★ ()
Ответ на: Re: Возвращение микроядра от krasnoglaziK

Re: Возвращение микроядра

> Почитай книгу "Just For Fun" от Линуса.

Это не момешает, там описано как закалялась сталь :) Забавная книжка.

los_nikos ★★★★★ ()

Re: Возвращение микроядра

Интересующихся этой темой советую прочитать статью в журнале "Компьютерное обозрение" (Украина) №16, называется "Ради безопасности".

Главная мысль такова:

Разработчики микроядра Hurd признают тупиковость его развития и практически отказываются от этого. И тут на арену выходит микроядро второго поколения L3, созданное Е.Лидке еще в 1993 году думонстрировавшее впечатляющее превосходство над микроядром Mach (от 3-х кратного до 20-кратного). Все что по этому поводу сейчас реализовано, можно посмотреть в исследовательской ОС технического университета Дрездена TUD:OS, основанной на коде микроядка L4/Fiasco.

Пересказчик с меня плохой, но статья хорошая. У кого есть возможность - прочитайте, оно того стоит.

lexius ★★ ()
Ответ на: Re: Возвращение микроядра от Vovanchic

Re: Возвращение микроядра

> Линуса, помнится, на написание linux подвигла убогость терминала в minix :)

А ты, наверное, Линусу свечку держал во время этого занимательного процесса?

los_nikos ★★★★★ ()

Re: Возвращение микроядра

Цитата из комментариев на ./

Что тут ещё добавить?

I'm more than a Linux hacker. I actually worked on a commercial microkernel OS.

Kernels don't often crash for reasons related to lack of memory protection. It's quite silly to imagine that memory protection is some magic bullet. Kernel programmers rarely make beginner mistakes like buffer overflows.

Kernels crash from race conditions and deadlocks. Microkernels only make these problems worse. The interaction between "simple" microkernel components gets horribly complex. It's truly mind-bending for microkernel designs that are more interesting than a toy OS like Minux.

Kernels also crash from drivers causing the hardware to do Very Bad Things. The USB driver can DMA a mouse packet right over the scheduler code or page tables, and there isn't a damn thing that memory protection can do about it. CRASH, big time. A driver can put a device into some weird state where it locks up the PCI bus. Say bye-bye to all devices on the bus. A driver can cause a "screaming interrupt", which is where an interrupt is left demanding attention and never gets turned off. That eats 100% CPU. If the motherboard provides a way to stop this, great, but then any device sharing the same interrupt will be dead.

I note that Tanenbaum is trying to sell books. Hmmm. He knows his audience well too: those who can't do, teach. In academia, cute theories win over the ugly truths of the real world.

birdie ★★★★★ ()
Ответ на: Re: Возвращение микроядра от birdie

Re: Возвращение микроядра

Mone talks bullshit walks. Идея у микроядра красивая, да только кто реализует ее полностью, ни разу не применив костыль или грязный хак? Да и будет ли выгода, не съест ли ее сложность интеркоммуникации.

Shaman007 ★★★★★ ()
Ответ на: Re: Возвращение микроядра от anonynous

Re: Возвращение микроядра

Ой, да ладно, получится как всегда или никак. Придет менеджер, скажет быстрее, программист сделает вот так:

//OMG, fire me if I know how does it work

<code>

Shaman007 ★★★★★ ()

Re: Возвращение микроядра

Надо - не надо... Монолит - микроядро...

Работает? И ладно.

Если микроядро ко-то делает - значит оно кому-то нужно, а если не далют - значит никому не нужно. Линукс нужен многим.

А по поводу ошибок - ведь их можно и не делать...

ip1981 ☆☆ ()

Re: Возвращение микроядра

Ждем очередного ответа Торвальдса! :)

GladAlex ★★★★★ ()
Ответ на: Re: Возвращение микроядра от ip1981

Re: Возвращение микроядра

Че-то не вижу я ни одной широкоииспользуемой оси на микроядре. Не надо про винду, микроядром это назвать сложно. Идея конечно оттуда, но вот исполнение... Это скорее гибридное ядро. Как впрочем и linux.

А дискуссия эта началась еще во времена выхода первой версии ядра linux. Мужику просто завидно что его расчудесный minix никому нах... не нужен, а какой-то там студент вдруг написал довольно таки популярную ось.

Storm_ ()
Ответ на: Re: Возвращение микроядра от zZzZ

Re: Возвращение микроядра

> Юзер спей драйвера?

Продолжая аналогию - это когда каждый матрос живёт в собственной подвесной шлюпке? :)

yozhhh ★★★ ()
Ответ на: Re: Возвращение микроядра от yozhhh

Re: Возвращение микроядра

> Продолжая аналогию - это когда каждый матрос живёт в собственной подвесной шлюпке? :)

А работает в водолазном костюме. %)

Sano ()

Re: Возвращение микроядра

"Рассмотрим аналогию с кораблем - современное судно имеет много отсеков и если в каком нибудь из них случится пробоина то затопленным окажется только этот отсек."... например, Титаник...

O-Ren_Ishii ()
Ответ на: Re: Возвращение микроядра от O-Ren_Ishii

Re: Возвращение микроядра

Неа, там побоину сразу 5 отсеков получили, кроме того получился крен и вода начала перетекать на верхние палубы... Но какое это отношение имеет к микроядру? ;)

GladAlex ★★★★★ ()

Re: Возвращение микроядра

Блин, идея чертовски красивая... Только вот кажется мне, что пока железо не поменяют, ничего нового в ядрах не будет. ИМХО, микроядра будут не уступать в производительности монолитам, если коммуникацю между дровами, ядром и сервисами в железе реализуют. Только не будет этого НИКОГДА. Мы навечно застряли в x86...

Kentlinux ()
Ответ на: Re: Возвращение микроядра от guardian

Re: Возвращение микроядра

> code contains between six and 16 bugs per 1,000 lines of executable code

Это просто абзац какой-то... Что б я так писал! 6-16 ошибок на 1000 строк допустимо когда код писался, но не отлаживался при этом. Для отлаженного кода даже 1 ошибка на 1000 строк это много.

Casus ★★★★★ ()
Ответ на: Re: Возвращение микроядра от Toxa

Re: Возвращение микроядра

>а че так все критикуют?

Конечно критикуют. Привыкли на всем готовеньком.

Линукс ядро хорошо лишь тем, что временно помогло сообществу в продвижении открытого подхода. Вред Линукс ядра пока мало кто понимает. Этот вред уже гораздо больше принесенной пользы.
Как было удобнее в силу психологии человека? Развивать то, что понятнее.
Что понятнее? То, что проще.
Проще, быстрее и понятнее для большинства с самого начала было развивать монолитное ядро.
Логика бардака определяемого приспосабливаемостью Линукс ядра переползла уже не только на Линукс системы.
Это так же одна из сторон отсутствия стандартизации в мире открытых систем. Поэтому и стали возможны тучи разных проектов со сходной функциональностью. Нет смысла оценивать эффективность конкурентного развития по сравнениею с единственно верным при одинаковых ресурсах.
Мы живем в первобытное время :) , когда все еще нет системы, которая без эмоций свойственных людям, динамически подбирает, вероятно, наилучшее решение на основе всех имеющихся данных. Одним из приближений может быть, например, наиболее эффективное на каждый момент времени сочетание аппаратной и программной частей... пока такое вообще разумно :) с аналогично определенной точки зрения.

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

>по моему, мысль правильная - только вот кто ее реализует?

Уже реализовано. Я изучал ядра и оси вдоль и поперек.
У всех недостатки.
Хорошо, что самое классное микроядро и соответственно систему на нем создал наш соотечественник. Система эта uOS www.vak.ru
В ней просто не к чему придраться. Пока я не встречал более простую и красивую открытую реализацию микроядра общего назначения.

Недостаток почти всех микро- экзо- нано- и прочее ядерных систем в том, что они, так или иначе привязываются к аппаратуре.

Подход же Оберон систем на самом деле не так уж и хорош. Модуль System в Bluebottle в определенном смысле то же микроядро. Однако, все равно сложно оценить: ОС с микроядром или ОС, как среда исполнения.

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

Гуткнехт и другие в своих ОС доказывают обратное.

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

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

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

Исторический же опыт подтверждает, как зависима основная биомасса :) от сиюминутных кумиров. Как только естественные приспособленцы получают задаром нечто лучшее, чем то, что было у них до этого, они закономерно переходят в новый лагерь. Это нормально и естественно для людей. Отречение же :) почти всегда требует определенных жертв.

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

domenick ★★ ()
Ответ на: Re: Возвращение микроядра от domenick

Re: Возвращение микроядра

Может кто прямо в комментарии запостить преимущества микроядерных систем вкратце?

lexius ★★ ()

Re: Возвращение микроядра

Есть новое решение проблемы с изоляцией ошибок в ядре которое не совсем новое, но вновь вспомненое Микрософтом в их исследовательском проекте.
http://research.microsoft.com/os/singularity
Вообщем переключения контекста которые в микроядре особенно распространенны можно выкинуть вообще:)
Можно также забыть о переполнении буферов, вопрос только какая будет скорость работы и насколько хорошо будет сделана обратная совместимость.

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

Toster ()
Ответ на: Re: Возвращение микроядра от Toster

Re: Возвращение микроядра

Кстати что-то давно ничего нового о singularity не слышно. Только technical reports иногда появляются..

McGray ★★ ()
Ответ на: Re: Возвращение микроядра от Toster

Re: Возвращение микроядра

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

Куда уж смелее...

Toster... если уж пишешь... то придерживайся исторической справедливости.

То что известно про Singularity показывает, что ее идея полностью списана и слизана с Оберон ОС, с Bluebottle ОС. Их же идеи можно сказать с 60-х годов оформлялись и не Биллом далеко.
M$, как обычно в своем духе. Слямзить где-что. У них же подразделения на слежениии за всем интересным.

Я уже писал, известно та же Java - не лучшая реализация идеи Вирта. Sun не отрицает, это известный факт, что они что-то платили институту ETH, что-то безвозмездно получили. Много с Виртовской коммандой советовались. Вирт молодец, что на основе его работ в итоге появились жизнеспособные концепции.

Однако разочаровываюсь пока больше по поводу ОС, как среды исполнения. Еще более для неклассических вариантов реализации.

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

Так что, что тут догонять - бери Bluebottle и рихтуй. Это M$/у догонять и догонять... как обычно.

domenick ★★ ()
Ответ на: Re: Возвращение микроядра от vadiml

Re: Возвращение микроядра

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

Мы все ждем, а оно все не бегает. Вообще с бегом сложно справляется. Как думаешь, среди n-ти разработчиков одни дебилы? ;)

jackill ★★★★★ ()
Ответ на: Re: Возвращение микроядра от domenick

Re: Возвращение микроядра

И вообще - если почти все телефоны c явой, про остальную яву не буду пока - и это не лучшая интерпретация протооберонов. Может быть от хорошей толк посерьезней будет.

domenick ★★ ()
Ответ на: Re: Возвращение микроядра от domenick

Re: Возвращение микроядра

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

Тем не менее борьба пошла windows vs linux. А simbian пока что с каждым годом теряет долю рынка.

>Это так же одна из сторон отсутствия стандартизации в мире открытых систем. Поэтому и стали возможны тучи разных проектов со сходной функциональностью.

Конкуренция должна быть всегда.

>Я изучал ядра и оси вдоль и поперек.

И грамматику, помнится, тоже...

>Гуткнехт и другие в своих ОС доказывают обратное.

Почему тогда эти ОС все никак не могут занят рынки?

jackill ★★★★★ ()
Ответ на: Re: Возвращение микроядра от jackill

Re: Возвращение микроядра

>Мы все ждем, а оно все не бегает.

Бегает вполне себе так нормально, навскидку:
QNX
uOS

Вот здесь на русском некоторые мои заметки молодости :) по поводу осей, там почти все устарело и не правильно - перенес из старой конференции http://www.teleology.ru/1/viewtopic.php?id=109 , но кому интересно могут хоть по названиям поизучать.

domenick ★★ ()
Ответ на: Re: Возвращение микроядра от jackill

Re: Возвращение микроядра

Тебе бы Жень только поспорить, как обычно :).

>Тем не менее борьба пошла windows vs linux.

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

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

Есть народная поговорка - в политику честный не пойдет.

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

>>Я изучал ядра и оси вдоль и поперек.

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

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

>>Гуткнехт и другие в своих ОС доказывают обратное.

>Почему тогда эти ОС все никак не могут занят рынки?

Рынки...
Рынки...
Рынки...
Чувствуешь?
Приятно, что ты иногда сам на свои вопросы сразу отвечаешь :) .

Впрочем про искусство мы с тобой тоже уже говорили... тоже, помню, ничего хорошего из этого не вышло.

domenick ★★ ()
Ответ на: Re: Возвращение микроядра от domenick

Re: Возвращение микроядра

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

Это - другой уровень.

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

sin_a ★★★★★ ()
Ответ на: Re: Возвращение микроядра от domenick

Re: Возвращение микроядра

> Рынки... > Рынки... > Рынки... > Чувствуешь?

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

Где аргументы против того, что микроядро нигде особо не распространилось?

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