Обсуждение UNIX систем

Вопросы программного кода и архитектуры Linux

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Olej » 12 мар 2012, 23:14

bose писал(а):Вот днём читал похожее только про другого героя (отсюда - http://eax.me/freebsd-vs-linux/):
Не удивительно, что именно серверы под управлением FreeBSD славятся большими значениями uptime. Железо, на котором работает ОС, выходит из строя быстрее, чем появляется необходимость обновиться и презагрузить машину. Высокий аптайм серверов на FreeBSD подтверждает (на момент написания этих строк) NetCraft:
упс... :-?
Я тоже про FreeBSD наслышан много хорошего.

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

FreeBSD, по отзывам, обладает высокой живучестью (заметьте: высокой, но не экстремальной). Но это качество обеспечено не архитектурой, а качеством исполнения, которое, при той организации самого проекта FreeBSD, должно быть заметно выше, чем у Linux. Здесь же должны "в плюс" играть культура и традиции линии вообще BSD систем.

Могу предположить, что надёжность + живучесть Solaris должна быть не ниже FreeBSD. Опять же: из соображений дисциплины в организации проекта.

Но архитектурно: Linux, FreeBSD, Solaris - близнецы братья.

bose
Писатель
Сообщения: 107
Зарегистрирован: 23 фев 2012, 14:41
Откуда: Киев
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение bose » 12 мар 2012, 23:27

Olej писал(а):Но вы же должны понимать, что экстремально высокой живучестью могут обладать только микроядерные ОС. Это принципиальная особенность, потому, что она обусловлена архитектурой. Такие системы самовосстанавливающиеся.
Но архитектурно: Linux, FreeBSD, Solaris - близнецы братья.
Да я понимаю это. И сам когда то интересовался архитектурой микроядра (естественно благодаря Таненбауму, наивно полагая что архитектуру ОС можно понять прочитав его книгу (как это сделал Торвальдс ;-) )) и Миникс "щупал".
Но вот же в чём дело. Всё это похоже на историю Моцарта и Сальери. Трудяга Сальери без внимания и лентяй Моцарт обласканый славой - QNX идеальная ОС, но мало кто ей интересуется, и "дрянной" Linux нужный всем. Что то здесь не так... где-то подвох

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Olej » 12 мар 2012, 23:44

bose писал(а):Но вот же в чём дело. Всё это похоже на историю Моцарта и Сальери. Трудяга Сальери без внимания и лентяй Моцарт обласканый славой - QNX идеальная ОС, но мало кто ей интересуется, и "дрянной" Linux нужный всем. Что то здесь не так... где-то подвох
Это хорошее наблюдение ;-) .

off-topic ;-) :
Но не везде ли, не во всех ли областях происходит точно так же?
Давайте я вам назову целый ряд имён блестящих авторов в русской художественной литературе, из таких, которые появились только после 2003-2005г.г. ...
Многим ли из читающих тему кто-то из них покажется по имени знакомым?
Итак: Алексей Иванов, Павел Крусанов, Захар Прилепин, Михаил Елизаров, Александр Иличевский ... я не слишком чащу? :lol:
Ну? и сколько знакомых кто насчитал? ;-)

Вот так и здесь... - а Бориса Акунина все слышали :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Olej » 12 мар 2012, 23:52

bose писал(а):И сам когда то интересовался архитектурой микроядра (естественно благодаря Таненбауму, наивно полагая что архитектуру ОС можно понять прочитав его книгу (как это сделал Торвальдс ;-) )) и Миникс "щупал".
Э.Таненбаум сослужил микроядерной архитектуре очень дурную службу ... хоть и слыл везде её популяризатором:
- он, как настоящий профессор из кругов академических ;-), всё носился (и носится) со своей Minix 3 ... так, что невооружённым глазом видно, как всё ожидает в нетерпении: кто же "пробашляет" его творение...
- и при том при всём не дал себе труда хотя бы познакомиться (как он сам об этом и пишет: мол, проприетарная она ... "зелен виноград"(с) :lol: ) с реальной системой QNX, которая на 15 лет опередила его умозрительный Minix, и взамен показала целый ряд изящных решений (одна "сетевая прозрачность" + сеть QNET чего стоят! чего подобного просто не может быть в моноядре).

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Ali » 13 мар 2012, 01:09

Olej писал(а):
bose писал(а):И сам когда то интересовался архитектурой микроядра (естественно благодаря Таненбауму, наивно полагая что архитектуру ОС можно понять прочитав его книгу (как это сделал Торвальдс ;-) )) и Миникс "щупал".
Э.Таненбаум сослужил микроядерной архитектуре очень дурную службу ... хоть и слыл везде её популяризатором:
- он, как настоящий профессор из кругов академических ;-), всё носился (и носится) со своей Minix 3 ... так, что невооружённым глазом видно, как всё ожидает в нетерпении: кто же "пробашляет" его творение...
- и при том при всём не дал себе труда хотя бы познакомиться (как он сам об этом и пишет: мол, проприетарная она ... "зелен виноград"(с) :lol: ) с реальной системой QNX, которая на 15 лет опередила его умозрительный Minix, и взамен показала целый ряд изящных решений (одна "сетевая прозрачность" + сеть QNET чего стоят! чего подобного просто не может быть в моноядре).
Ojej, вы не совсем точны. ;-)
http://dare.ubvu.vu.nl/bitstream/1871/1 ... tation.pdf
http://www.nieklinnenbank.nl/download/scc.pdf
Деньги таки дали. Просто профессор всегда реально оценивал свои бизнес-потенциал, а может быть и не желал менять удобную кафедру на потенциальную прибыль/банкротство.
Не думаю, что он не видел qnx. О чём говорят его оговорки:
  • "В принципе, механизм передачи сообщений в ядре можно было бы преобразовать так, чтобы обмениваться ими через сеть и тем самым реализовать распределенную систему.
    На практике это осложняется..."
  • QNX является коммерческой UNIX-подобной системой реального времени с закрытыми кодами [17]. Хотя у нее имеется минимальное ядро, называемое Neutrino, по поводу системы опубликовано мало статей, и точные детали нам неизвестны. Однако на основе последних проспектов мы заключаем, что Neutrino является гибридным ядром, поскольку менеджер процессов работает в адресном пространстве ядра.
Второй тезис особенно замечателен. :-) Как его восстанавливать?

ЗЫ
Ojej, это правда -- менеджер процессов работает в адресном пространстве ядра?

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Ali » 13 мар 2012, 01:26

minix[1.2] не микроядерные ОС.
Andrew Tanenbaum : Never. The reason MINIX 3 didn't dominate the world has to do with one mistake I made about 1992. At that time I thought BSD was going to take over the world. It was a mature and stable system. I didn't see any point in competing with it, so I focused MINIX on education. Four of the BSD guys had just formed a company to sell BSD commercially. They even had a nice phone number: 1-800-ITS-UNIX. That phone number did them and me in. AT&T sued them over the phone number and the lawsuit took 3 years to settle. That was precisely the period Linux was launched and BSD was frozen due to the lawsuit. By the time it was settled, Linux had taken off. My mistake was not to realize the lawsuit would take so long and cripple BSD. If AT&T had not brought suit (or better yet, bought BSDI), Linux would never have become popular at all and BSD would dominate the world.

Now as we are starting to go commercial, we are realizing the value of the BSD license. Many companies refuse to make major investments in modifying Linux to suit their needs if they have to give the code to their competitors. We think that the BSD license alone will be a great help to us, as well as the small size, reliability, and modularity.
http://linuxfr.org/nodes/88229/comments/1291183

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Olej » 13 мар 2012, 01:34

Ali писал(а): Ojej, вы не совсем точны. ;-)
http://dare.ubvu.vu.nl/bitstream/1871/1 ... tation.pdf
http://www.nieklinnenbank.nl/download/scc.pdf
Деньги таки дали. Просто профессор всегда реально оценивал свои бизнес-потенциал, а может быть и не желал менять удобную кафедру на потенциальную прибыль/банкротство.
Я немного о другом, о том, что они кочевряжились 25 лет (!) со своим университетским компилятором, который всё это время был закрытым (проприетарным), и они ним компилировали Minix и всё ждали когда же все кинуться раскупать в очередь их бесценный компилятор (а открыли они его что-то около 2003г., когда он выглядел как такой рудимент ... что и сравнить не с чем) - это тогда, когда ещё с 1984г. они могли перейти на gcc ... на этом одном лет 15 потеряли!
Ali писал(а): Не думаю, что он не видел qnx. О чём говорят его оговорки:
  • "В принципе, механизм передачи сообщений в ядре можно было бы преобразовать так, чтобы обмениваться ими через сеть и тем самым реализовать распределенную систему.
    На практике это осложняется..."
Он здесь (это год 2008-2009 я так понимаю по книге) мечтательно говорит о "в принципе", когда в QNX 4 (давней) это было замечательно всё (звалось FLEET-протокол) реализовано году в 1990...
Ali писал(а): [*]
QNX является коммерческой UNIX-подобной системой реального времени с закрытыми кодами [17]. Хотя у нее имеется минимальное ядро, называемое Neutrino, по поводу системы опубликовано мало статей, и точные детали нам неизвестны. Однако на основе последних проспектов мы заключаем, что Neutrino является гибридным ядром, поскольку менеджер процессов работает в адресном пространстве ядра.
[/list]
Второй тезис особенно замечателен. :-) Как его восстанавливать?

ЗЫ
Ojej, это правда -- менеджер процессов работает в адресном пространстве ядра?
И это тоже неправда.
В микроядре QNX 6 чуть больше 100 API:
- пересылка сообщений;
- диспетчирование потоков (там всё сделано на базисе POSIX 1003.b pthread, не процессов - это грамотно, лучше, чем в Linux);
- реакция на сигналы;
Всё это влазит в порядка 64Kb.
(в QNX 4 и того API всех <64).
Можно в такие объёмы затолкать менеджер процессов или ещё что???

Вот это всё говорит о том, что Э.Таненбаум о QNX что-то слышал только из разговоров, понаслышке...

P.S. Конечно, всё это придумала-сделала не малоизвестная фирма QSSL из Канады...
Это была очень крупная заказная проработка MIT, а Масачусетс это очень серьёзное место (откуда и X11 выросло и многое другое) + заказчик хороший был, при деньгах ;-) : ВВС США ... Потом результаты-отчёты этих исследований передали в маленькую канадскую фирму, которую специально под то создали...
Вот почему оно такое получилось.
В конечном счёте, это не пригородный голландский университет ;-)

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Ali » 13 мар 2012, 02:16

Olej писал(а):И это тоже неправда.
В микроядре QNX 6 чуть больше 100 API:
- пересылка сообщений;
- диспетчирование потоков (там всё сделано на базисе POSIX 1003.b pthread, не процессов - это грамотно, лучше, чем в Linux);
- реакция на сигналы;
Всё это влазит в порядка 64Kb.
(в QNX 4 и того API всех <64).
Можно в такие объёмы затолкать менеджер процессов или ещё что???
И я немного о другом.
Introduction
In QNX Neutrino, the microkernel is paired with the Process Manager in a single
module (procnto). This module is required for all runtime systems.
The process manager is capable of creating multiple POSIX processes (each of which
may contain multiple POSIX threads). Its main areas of responsibility include:
• process management — manages process creation, destruction, and process
attributes such as user ID (uid) and group ID (gid).
• memory management — manages a range of memory-protection capabilities,
shared libraries, and interprocess POSIX shared-memory primitives.
• pathname management — manages the pathname space into which resource
managers may attach.
User processes can access microkernel functions directly via kernel calls and process
manager functions by sending messages to procnto. Note that a user process sends a
message by invoking the MsgSend*() kernel call.
It’s important to note that threads executing within procnto invoke the microkernel in
exactly the same way as threads in other processes. The fact that the process manager
code and the microkernel share the same process address space doesn’t imply a
“special” or “private” interface. All threads in the system share the same consistent
kernel interface and all perform a privilege switch when invoking the microkernel.
http://photon.qnx.com/download/download ... s_arch.pdf
Т.е модуль procnto работает в нулевом кольце защиты и адресном пространстве ядра. Что, на мой взгляд, является разумным компромиссом между канонической правильностью и производительностью.

Вы не думали, что
пригородный голландский университет
и есть объяснение? У Таненбаума было три или четыре аспиранта и хорошо если десяток дипломников. И он всегда понимал всю непосильность задачи, даже и переход на gcc(тогда и не нужный, т.к. ОС фактически принадлежала издательству). Таненбаум не хотел делать ОС года до ~2004.


ЗЫ
В работе по портированию minix3 на SCC передачу сообщений между ядрами таки реализовали, видимо не без участия intel.
Последний раз редактировалось Ali 13 мар 2012, 03:02, всего редактировалось 1 раз.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Olej » 13 мар 2012, 02:53

Ali писал(а): http://photon.qnx.com/download/download ... s_arch.pdf
Т.е модуль procnto работает в нулевом кольце защиты и адресном пространстве ядра. Что, на мой взгляд, является разумным компромиссом, между канонической правильностью и производительностью.
Это не совсем так как написано ... этот фрагмент кочует из одного издания документации в другой, но его уже не раз критиковали за неточности и упрощенчество. Далеко не всё, что в моноядерных ОС относят к менеджеру процессов реализуется в микроядре... первоначально даже (времён версии 6.1 - ~2003г.) QSSL заявляли что можно сконфигурировать систему не включающую вообще менеджер процессов ... но потом эти выдумки из их документации исчезли.

Это и связано с тем, что многие, и самое главное, лучшие из команды начальной разработки QNX и разработчики и документаторы - ушли (где-то в период 2005-2007) ... большая потеря в этой части Р.Кёртен, написавший лучшие части документации. Всё это и есть симптомы угасания и признаки обречённости системы, о чём я высказывался выше.
Как раз с этих времён, примерно, происходит, при некотором но не сильно функциональном развитии, постянное ухудшение и прозрачности и ясности системы, и уровня документированности.

Что происходит и с Solaris тоже...

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: Обсуждение UNIX систем

Непрочитанное сообщение Ali » 13 мар 2012, 03:09

Что происходит и с Solaris тоже...
А ранее AIX, HP-UX и т.п. ...

Ответить

Вернуться в «Linux изнутри»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей