LINUX.ORG.RU
ФорумTalks

Типы ядер

 , , , , тёрки


0

2

Всем привет!
Вот залез я тут в википедию и читаю в этой статье https://ru.wikipedia.org/wiki/Монолитное_ядро, что Linux, FreeBSD и NetBSD - являются операционными системами с монолитным ядром, а потом в этой статье https://ru.wikipedia.org/wiki/Гибридное_ядро, что Windows и DragonFly BSD - являются операционными системами с гибридным ядром. Я понимаю, что викиненавистники и радетели терминологий сейчас морщатся, но оставим это в стороне, лучше порассуждаем.
Тип ядра - это и есть основное отличие Windows от Linux или нет? А как же микроядро на котором построены так называемые «идеальные ОС»: Minix и QNX. Почему они не стали такими же популярными как Windows, Linux и FreeBSD. Есть ли вообще задачи более подходящие для монолитного или для гибридного или для микроядра?

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

Очевидно их устраивает текущая производительность QNX.

Ну да. Потому что это не, условно говоря, HTTP-серверы статики, в которых TCP-стек решает.

Я не спец, но недавно читал, что в авиации WindRiver VxWorks и QNX

Авиация разная бывает. Насколько я читал, в управляющих системах там вообще суровая экзотика типа Integrity; есть VxWorks (хотя ХЗ насчет конкретной модификации), специализированные Linux. Про QNX, не слышал, но в infotainment - вполне возможно ;)

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)

Есть ли вообще задачи более подходящие для монолитного или для гибридного или для микроядра?

man latency. Вопрос в том, найдешь ли ты задачу (а на практике несколько задач), где latency для приложения должно быть меньше долей наносекунды. С учетом того, что таких задач крайне мало и они узкоспециализированны (высокоточное оборудование), то в 95% случаев разницы, какое ядро использовать — нет.

Почему пихают в машины, роутеры и т.п. прочий треш qnx (vxworks)? Ну потому что: а) видимо дешевле б) стабильная поддержка, а не тогда, когда у GPL-разраба найдется время или он соберет донайт под свое «новое никому ненужное очень-нужно» в) проверено временем vs 2.4 != 2.6 != 3.х; тоже самое для фряхи: 4 != 5 != 6 != 7 != 9-10; тоже для винды: NT 4 != 2000 != 2003 != 2008 != 2012

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Гибридные ядра - маркетинговый буллшит

обоснуй.

Lincor
()

А как же микроядро на котором построены так называемые «идеальные ОС»: Minix и QNX.

Minix разрабатывается под руководством мужика, который так ничего и не понял. (с) Роб Пайк

QNX - все поминания про микроядро этой системы, нужно относить к QNX4, сейчас QNX6 в ходу, у него не микро ядро.

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

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

Я бывал на технических выставках, в том числе на тех на которых выставляются роутеры и ни разу не слышал ни от одного стендиста, что в данных моделях используется операционная система QNX. Я всегда думал, что производители железа «прошивки» пишут сами, а не используют что-то готовое. В цисках разве не «Cisco IOS» стоит?

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

Это из серии «слышал звон» (что подтверждается, кстати, требованием ссылки на большую важность и нужность ASIC в деле Ciscoстроения).

grim, скорее всего, слышал, что в суперэкстрасверхтоповых железках Cisco (названия которых я даже и не помню за ненадобностью - и в портфолио компании их с наскоку не найдёшь, надо знать, куда идти) используется QNX. И распространил этот слух на все железки от Cisco. А на самом деле в подавляющем большинстве этих самых железок используется тот самый обычный Cisco IOS - который не QNX.

P.S. Не посмотрел, что это не ответ на сообщение от grim. Но сути это не меняет.

P.P.S. Суперэкстрасверхтоповые железки называются CRS-X.

Cyril ★★
()
Последнее исправление: Cyril (всего исправлений: 3)
Ответ на: комментарий от grim

Хе-хе-хе... Наш грамотей, безусловно, сможет привести номера версий IOS (полные), которые построены на QNX? Ж;-) Привести номенклатуру ЦП, используемых в, скажем, сериях 2800 и 2900? А потом показать, как на обычных сетевых картах, без ASIC и с сетевым стеком QNX, приблизиться с аналогичным процессором и количеством памяти к результатам маршрутизатора по производительности?

А цель... Цель была проста. Показать вам, милейший, что ваше пальцесосание на песке построено. Бывает - не переживайте. Ж;-)

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

QNX - все поминания про микроядро этой системы, нужно относить к QNX4, сейчас QNX6 в ходу, у него не микро ядро.

Лолшто? В QNX 6 микроядро меньше, чем в QNX4, за счет выноса кода менеджера процессов.

в современных процессорах еще и MMU выпиливать начали, для экономии :)

Бред.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от grim

Прааавильно... Ж;-) А теперь воспользуйся поиском и найди, в каких именно железках он применяется - это в той же статье написано. Потом можешь, в порядке обучения чтению, освежить в памяти содержимое моего первого сообщения.

Ну и неплохо бы было научиться пользоваться поиском в достаточной мере для того, чтобы найти информацию про ASIC. Или уже?!.. и именно поэтому тема тихо замята? Ж;-Р

Cyril ★★
()
Ответ на: комментарий от post-factum

Там стабильность на первом месте, а не производительность.

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

Дитя, зачем мне это нужно?
Я написал, что Cisco делает раутеры на QNX, что вы начали поливать выделениями своего мозга.

Cсылку вам привел, даже не вспомнив о IOS Software Modularity.

Но вы все равно продолжаете выделять мозговые фекалии.

IMHO это диагноз.

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

Дитя, зачем мне это нужно?
Я написал, что Cisco делает раутеры на QNX

Мальчик, ты даже не способен запомнить то, что сам пишешь. После упоминания маршрутизаторов Cisco, работающих на QNX, ты начал требовать ссылок про ASIC. То есть, ты знаешь какие-то факты - но далеко не все. И при этом строишь на основе своего очевидно неполного знания какие-то выводы.

До постановки диагнозов тебе так далеко, что жизни не хватит дойти.

Cyril ★★
()
Последнее исправление: Cyril (всего исправлений: 2)

Тип ядра - это и есть основное отличие Windows от Linux или нет?

Нет. Отличия:

1. Ядро

2. Модель разработки

3. Структура и организация системы

4. Направление развития

5. Области применения

И ещё много чего

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

andrew667> далеко не всегда лучшие в техническом плане решения успешны в широких кругах.

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

andrew667> Интересен факт популярности архитектуры intel x86, хотя на тот момент были решения и получше

Вот на тот момент решений получше как раз не было. Они появились параллельно с развитием x86. Напомню, что x86 берёт свои корни в самом первом в мире микропроцессоре - i4004 (можешь называть его x04). Ну и важно ещё и то, что IBM PC появился как открытое решение на x86, а RISC в то время был в разработке. Вот и всё объяснение феномена популярности x86.

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

sunny1983> Так кто же прав? В Linux драйверы хоть и существуют в виде отдельных модулей, но всё же грузятся в единое с ядром адресное пространство. Значит всё же - монолитное.

Ничего - скоро Linux будет выполнять роль гипервизора, а микроядром будет systemd.

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

У симбиана задачи были совершенно недесктопные.

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

Ничего - скоро Linux будет выполнять роль гипервизора, а микроядром будет systemd.

Вот ты так не шути.

Нет. Отличия: 1. Ядро 2. Модель разработки 3. Структура и организация системы 4. Направление развития 5. Области применения И ещё много чего

Так в Windows ядро какое? Модульное? Там ведь драйвера работают не в ядерном адресном пространстве, а в своём собственном? Если тип ядра не отличие, тогда что отличие? Направление развития - это не отличие, а просто - разные исторически-сложившееся направления развития. Области применения - это не отличие - потому что и Linux отлично работает на десктопах, и Windows на серверах и встраиваемых системах. Типы лицензий - это не отличие, а просто разные типы лицензий. Форматы исполняемых файлов - это не отличие, а просто - различные форматы исполняемых файлов. Ну так АРХИТЕКТУРНЫЕ отличия Linux от Windows вообще есть или нет?

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

Да. Удаки они просто. Это же надо, SDK не открыть и так тивоизировать девайсы!

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

Мальчик

Да мне как-то пофиг на ваше сексуальное образование.

После упоминания маршрутизаторов Cisco, работающих на QNX, ты начал требовать ссылок про ASIC.

Почему вас это беспокоит?
Видимо потому, что вы не поняли зачем я это написал, но это ожидаемо при вашей уственной организации :)

То есть, ты знаешь какие-то факты - но далеко не все.

А вы БОГ и знаете все факты?
0_0
Вероятнее у вас мания величия, что типично для вашего типажа.

Только к чему все эти ваши мозговые выделения?
Боль замучила?

До постановки диагнозов тебе так далеко

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

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

Ты опять забыл, что писал в предыдущем сообщении. И даже к концу последнего сообщения забыл, что писал его начале. Ты настолько уныл, что это даже весело. Ж;-)

Про роль ASIC в маршрутизаторах Cisco (да мне только в их, и не только в маршрутизатора) уже прочитал? Или гордость не позволяет? Там много интересного...

Cyril ★★
()
Последнее исправление: Cyril (всего исправлений: 1)
Ответ на: комментарий от Cyril

Ты опять забыл, что писал в предыдущем сообщении.

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

Ты настолько уныл, что это даже весело. Ж;-)

У нас симбиоз.
Вы вы веселите меня а я вас.
Это-же просто праздник какой-то.

Про роль ASIC в маршрутизаторах Cisco (да мне только в их, и не только в маршрутизатора) уже прочитал? Или гордость не позволяет? Там много интересного...

До вас снова не дошло.
Но вы старайтесь, пожалуйста.

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

До вас снова не дошло.
Но вы старайтесь, пожалуйста.

Хе-хе-хе... И это я слышу от человека, который применение ядра QNX в маршрутизаторах Cisco приводит как контраргумент оппоненту, утверждающему неэффективность микроядра на десктопах и при этом упоминающему положительные стороны типа стабильности (за что, кстати, микроядро QNX в Cisco и взяли - что, конечно же, не отрицает необходимость достаточной производительности ядра, но никак не отменяет, что основную полезную работу выполняет оптимизированный под это ядро код IOS). Да ещё и требующий ссылки на решающую роль ASIC в производительности топовых маршрутизаторов Cisco (на которых этот самый QNX и крутится) с постскриптумом на оптимизацию стека ПОСЛЕ лицензирования микроядра Cisco - при том, что сетевой стек QNX, с высочайшей степень вероятности, в IOS XR не используется вообще.

Даже интересно, какое продолжение последует. Какие нибудь ещё доводы против некорректности аргументации (на что я, собственно, и указывал) будут? Ж;-)

Cyril ★★
()
Последнее исправление: Cyril (всего исправлений: 2)
Ответ на: комментарий от Cyril

Спасибо, порадовали.
Особо забавна фраза знатока всех фактов:

сетевой стек QNX, с высочайшей степень вероятности, в IOS XR не используется вообще.

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

Но не переживайте, не получится - повеселимся.

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от post-factum

Рассказать про что? Про то, что все операции на уровне модулей имеют лютый оверхед? Им на это пофиг, им важнее надёжность.

derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)
Ответ на: комментарий от grim

Вы фееричны. Ну что ж - потрепыхайтесь ещё чуть-чуть на потеху публике, милейший. Изучите, что ли, картинку с сайта авторов так любимой вами ОС (саму статью осилите самостоятельно найти, полагаю?). А потом можете внимательно почитать свою же ссылку - оттуда можно попасть на страницы, на которых много интересного написано. Ж;-)

Cyril ★★
()
Последнее исправление: Cyril (всего исправлений: 1)
Ответ на: комментарий от Cyril

Вы фееричны.

Спасибо.

Изучите, что ли

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

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

С 7-го раза написать что-то разумное у вас не получилось ;)

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от Bfgeshka

Не верно. Не производительнее, а отзывчивие. Если ты запустишь какую-нибудь числодробилку, у которой I/O будет занимать ничтожно малое время от общего времени работы, то ты не заметишь разницы между микроядром и монолитом. Разница в том, что при I/O происходит несколько переключений контекстов вместо одного (например, приложение -> сервер VFS -> сервер поддержки ext4 -> сервер драйвера жёсткого диска, а потом данные идут обратно). При потоковой обработке данных это опять же не страшно. Грубо говоря драйвер Ethernet получил за свой квант времени сколько успел данных от сетевухи, передал в процесс TCP-стека, тот передал веб-серверу, он отбработал и вернул назад. При непрерывном потоке данных получится типа конвеера с буферизацией, что может даже даст плюс, чем если на каждый пакет дёргать из ядра userspace-процесс. Но на десктопе ситуация иная. Юзер мотнул мышкой - надо протаскивать это событие через кучу процессов, при том других событий нет (чтобы оптом обработать), а лаг в несколько миллисекунд может быть неприятен. В результате отношение времени переключений контекстов к времени полезной работы растёт, вопрос в том насколько это фатально.

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

Этим самым у десктопов и серверов задачи схожие - нужно быстро обрабатывать много задач одновременно в нескольких процессах. На десктопе: юзер мотнул мышкой - нужно протаскивать это событие через драйвер, ядро, hal, системный api, фреймворк и приложение; на сервере - пять удалённых пользователей одновременно запросили веб-страницу - нужно протаскивать это через nginx, apache, mysql, ядро и драйвер. А встраиваемые системы отличаются от десктопов и серверов тем что там процесс в основном один и запросы в основном приходят по одному каналу, так?
Но мне бы хотелось услышать ответ на мой прошлый вопрос: в чём архитектурно отличается Linux от Windows?

sunny1983 ★★★★★
() автор топика
Последнее исправление: sunny1983 (всего исправлений: 1)
Ответ на: комментарий от grim

С 7-го раза написать что-то разумное у вас не получилось ;)

Продолжаете выставлять себя на посмешище? Ну-ну... Ж;-)

Признайтесь - мне страшно интересно! - что именно вы не знали: то, что сетевой стек не входит в микроядро, или то, что в IOS XR от QNX только микроядро?

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

Хехе.
8й раз подряд вы пишете что-то бессвязанное.
:)
Это вы так стараетесь меня развлечь?

Премного благодарен.

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