: . Главная . : . Форум . : . Загрузка . : . Пользователи . : . ЧаВо . : . Документация . :


Операционная система 3OS -> Форумы -> Идеология проекта
<< Предыдущая тема | Следующая тема >>   

Зачем?

Перейти к странице Предыдущая -1-2-3-4-5-6-7-8-9-10-11-12-13 Следующая
Автор Отправлено
captain cobalt
Tuesday 15.02.2005 10:56 Цитата
Зарегистрирован: Sunday 15.02.2004 03:47
Сообщений - 49
Vadim Ushakov писал(а): ...
Интересно... Где это я мог утверждать подобное, если я же неделю доказываю обратное. Если вы, captain cobalt, покажете мне цитату, где я говорю, что всю систему нужно реализовать в 0-м кольце, то я съем свою шляпу. И вашу тоже.

ОК. Не было такого.
Наверх
captain cobalt
Tuesday 15.02.2005 11:08 Цитата
Зарегистрирован: Sunday 15.02.2004 03:47
Сообщений - 49
Но пропаганда Aos была!
Наверх
may
Tuesday 15.02.2005 11:21 Цитата
Зарегистрирован: Friday 21.11.2003 02:29
Местоположение: Россия, Чита
Сообщений - 9
captain cobalt писал(а): ...
may писал(а): ...
И что делать тогда со всеми остальными 1-3?

Отбросить.
may писал(а): ...
И кто гарантирует от ошибок в коде на кольце "0"?

Trusted compiler + trusted memory manager

Аппаратный контроль доступа в процессоре появился не от хорошей жизни. Гарантий на безупречную работу ПО даже Госстрах не даст
captain cobalt писал(а): ...

may писал(а): ...
Почитать и творчески переработав "родить" СВОЮ архитектуру

А linux+mono можно использовать без "творческой переработки"?

Можно, но не интересно. Я вобще против использования этой связки для 3ОС. Цели проекта при его создании формулировались по-другому

Наверх
may
Tuesday 15.02.2005 11:27 Цитата
Зарегистрирован: Friday 21.11.2003 02:29
Местоположение: Россия, Чита
Сообщений - 9
To Vadim Ushakov :
Где-нибудь есть работающие примеры реализации Exokernel?
Наверх
captain cobalt
Tuesday 15.02.2005 11:38 Цитата
Зарегистрирован: Sunday 15.02.2004 03:47
Сообщений - 49
may писал(а): ...
Аппаратный контроль доступа в процессоре появился не от хорошей жизни. Гарантий на безупречную работу ПО даже Госстрах не даст
dotNET (и Java) идут по следам Oberon и представляют собой императивные языки программирования со сборкой мусора во время выполнения. Для того, чтобы сборка мусора была возможна, компилятор должен иметь полный доступ к тому, что превратится в указатели. Программа не должна иметь возможность "припрятать" или "подделать" указатель. Если это условие выполнено, а программа получает память только от надёжного распределителя памяти, то это гарантирует инкапсуляцию данных для объектов, находящихся в одном адресном пространстве. А значит все объекты и собственно ОС можно разместить в одном адресном пространстве в ring0.
Наверх
Vadim Ushakov
Tuesday 15.02.2005 11:43 Цитата
Зарегистрирован: Monday 07.02.2005 04:57
Местоположение: Россия, Красноярск
Сообщений - 35
Спасибо Czarker-у, что он не дает этому форуму умереть окончательно Поскольку нормальной дискуссии так и не получилось, продолжим придираться друг к другу по пустякам.

czarker писал(а): ...
Посмотрите, наконец, на доки к ядру Linux.
Если вы мне их покажете, с удовольствием посмотрю. Все, что я видел в Интернете по Линуксу, можно назвать документацией только сильно перепив.

czarker писал(а): ...
Проблема в том, что я считаю его подход неверным. Мне ближе подход ESR...
Проблема в том, что вы так и не привели ни одного аргумента. "Я так считаю, потому что я так считаю" - это очень хорошая отговорка от любых вопросов.

czarker писал(а): ...
ядро - это поток, выполняющий основную задачу системы. Если для Энглера основная задача - железо, то для ESR - это процессы. И я согласен с последним. А если ориентироваться на эту концепцию, то экзоядро - это голый IPC, а экзоядро по Энглеру - пустое множество явлений.
ПОТОК??? Какой еще ПОТОК???!!! Я уже неделю пытаюсь объяснить, что экзоядро - это просто библиотека управления ресурсами, более того, в экзоядре вообще не существует понятия потока, и уж тем более в нем нет никакой "основной задачи". Ваша основная задача реализована в отдельном процессе - хоть 3ОС пишите, хоть Windows клонируйте, экзоядру нет до этого дела.
Еще одна замечательная фраза: "экзоядро - это голый IPC, а экзоядро по Энглеру - пустое множество явлений." Если уж мы опустились на уровень политических высказываний, то "пустым множеством явлений" является ваше модульное ядро, поскольку вы так и не удосужились хотя бы в общих чертах описать пробраз и архитектуру системы, которую вы так старательно защищаете.

czarker писал(а): ...
Теперь по бонусам от экзоядра по Энглеру...
Vadim Ushakov писал(а): ...
а) увеличение устойчивости
Не вижу связи.
Если вы не видите связи между выносом кода драйвера из ядра в пользовательский процесс и повышением устойчивости системы... Извините, у меня нет слов... Я уже столько писал на эту тему, что повторяться нет смысла.

czarker писал(а): ...
Vadim Ushakov писал(а): ...
Представьте негодование пользователя, когда из-за программной ошибки модуля упадет вся система и похоронит его несохраненные данные.
Представляю. Только вот живой системы, в которой это происходит, давно не видел... По крайней мере в Linux (которая технологически из 70-ых, да?) такого эффекта нет
Значит, нет? А вы наберите в любом редакторе полстраницы текста и выключите машину ресетом (так сказать, эмулируем сбой ядра). Что, на месте остался ваш текст. Я так подозреваю, что не только текст который вы набирали, но еще и несколько файлов конфигурации как корова языком слизала. Точнее не корова, а fsck.

czarker писал(а): ...
Для увеличения стабильности мы можем устроить на базе уже имеющегося элемента ядра автовыгруз нестабильного модуля... Зачем только?
Для того, чтобы мы узнали, что модуль ядра работает нестабильно, он должен иницировать аппаратное исключение, а в этом случае уже поздно что-то "автовыгружать" - любое исключение в ядре, это BSOD.

czarker писал(а): ...
.NET - совокупность интерпретируемых языков. Это чоень тяжёлая задача. Поэтому её надо держать придельно низко.
Если есть интерпретируемый язык, то есть и интерпретатор. Естественно, интерпретатор работает в 3-м кольце в обычном процессе. Как его "держать предельно низко", у меня в голове не укладывается. Может быть кто-нибудь разрешит эту загадку?

И напоследок, очередное противоречие от Czarker-а.
czarker писал(а): ...
Vadim Ushakov писал(а): ...
Также возможно повышение производительности
А это вообще не нужно.

czarker писал(а): ...
.NET - совокупность интерпретируемых языков. Это чоень тяжёлая задача. Поэтому её надо держать придельно низко.
С одной стороны, мы плевали на производительность, с другой строны "тяжелую задачу" нужно прооптимизировать. К тому же я не понимаю, почему это код 0-го кольца станет работать быстрее, чем код 3-го. Мне кажется, что и в Intel этого не поймут.

Всвязи со всем вышеизложенным, не вижу больше возможности продолжать дискуссию с Czarker-ом.
Наверх
Vadim Ushakov
Tuesday 15.02.2005 12:03 Цитата
Зарегистрирован: Monday 07.02.2005 04:57
Местоположение: Россия, Красноярск
Сообщений - 35
may писал(а): ...
Где-нибудь есть работающие примеры реализации Exokernel?

Можно посмотреть здесь: http://www.pdos.lcs.mit.edu/, но только я так и не смог скачать архив размером 53Мб. Не знаю, что они туда затолкали, реализация exokernel со всеми исходниками наверняка не заняла бы и мегабайта...
Еще когда-то на Sourceforge.Net был такой проект Gemini, базированный на принципах, схожих с экзоядром, но проект уже несколько лет мертв.
Наверх
may
Tuesday 15.02.2005 12:05 Цитата
Зарегистрирован: Friday 21.11.2003 02:29
Местоположение: Россия, Чита
Сообщений - 9
captain cobalt писал(а): ...
все объекты и собственно ОС можно разместить в одном адресном пространстве в ring0.

Где-нибудь это уже работает?
Наверх
captain cobalt
Tuesday 15.02.2005 12:11 Цитата
Зарегистрирован: Sunday 15.02.2004 03:47
Сообщений - 49
Bluebottle?
Наверх
czarker
Tuesday 15.02.2005 17:02 Цитата

Зарегистрирован: Monday 10.01.2005 17:26
Местоположение: Москва, т.д.
Сообщений - 48
may
may писал(а): ...
czarker писал(а): ...

.NET - совокупность интерпретируемых языков. Это чоень тяжёлая задача. Поэтому её надо держать придельно низко. А поскольку кроме неё языков не должно быть, нет оснований держать её выше 0-ого кольца.

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

Вы просто неверно поняли: в 0-ом кольце я предлагал держать виртуальную машину, а ресурсы и приложения - нет.

captain cobalt
captain cobalt писал(а): ...
may писал(а): ...
И что делать тогда со всеми остальными 1-3?

Отбросить.

Ой... Идите в BlueBottle. Или даже скорее на BlueBottle...
captain cobalt писал(а): ...
may писал(а): ...
А если надо как у BlueBottle - идем берем BlueBottle и юзаем

Хорошая идея.

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

Vadim Ushakov
Vadim Ushakov писал(а): ...
Все, что я видел в Интернете по Линуксу, можно назвать документацией только сильно перепив.
Я уверен в этом. И поэтому прошу Вас посмотреть документацию к ядру Linux. Она поставляется вместе с ядром, можете скачать с kernel.org.
Vadim Ushakov писал(а): ...
Проблема в том, что вы так и не привели ни одного аргумента. "Я так считаю, потому что я так считаю" - это очень хорошая отговорка от любых вопросов.
В каждом постинге я их муссирую, а Вы на нихъ отвечаете. Я устал повторять, что я не верблюд...
Vadim Ushakov писал(а): ...
ПОТОК??? Какой еще ПОТОК???!!!
В оригинале имелся в виду процесс, а поток - это опечатка. Впрочем микроядро должно исполняться в одном потоке - иначе оно будет медленным и глючным...
Если библиотека исполняется ВСЕГДА - она является процессом. Если нет - она не является ядром. Точка.
Vadim Ushakov писал(а): ...
Если уж мы опустились на уровень политических высказываний, то "пустым множеством явлений" является ваше модульное ядро, поскольку вы так и не удосужились хотя бы в общих чертах описать пробраз и архитектуру системы, которую вы так старательно защищаете.
В сотый раз: читайте документацию к Linux.
Vadim Ushakov писал(а): ...
Если вы не видите связи между выносом кода драйвера из ядра в пользовательский процесс и повышением устойчивости системы... Извините, у меня нет слов...
Нет, это у меня нет слов... Если драйвер падает, виснет всё, что к нему обращается, где бы он не находился. И где бы он не находился, его можно перезапустить (но это правило не действует на монолдиты типа DOS).
Vadim Ushakov писал(а): ...
А вы наберите в любом редакторе полстраницы текста и выключите машину ресетом (так сказать, эмулируем сбой ядра).
Не вижу связи между ошибкой модуля и сбоем ядра. Модули у меня вылетали неоднократно, а вот сбоя ядра до сих пор вообще не было.
Vadim Ushakov писал(а): ...
Для того, чтобы мы узнали, что модуль ядра работает нестабильно, он должен иницировать аппаратное исключение, а в этом случае уже поздно что-то "автовыгружать" - любое исключение в ядре, это BSOD.
Фактографически не верно. См. выше по этому постингу.
Vadim Ushakov писал(а): ...
Если есть интерпретируемый язык, то есть и интерпретатор. Естественно, интерпретатор работает в 3-м кольце в обычном процессе. Как его "держать предельно низко", у меня в голове не укладывается. Может быть кто-нибудь разрешит эту загадку?
Вы сами. На предыдущей страницы мы обсуждали целесообразность применения экзоядра в системе, где .NET работает в 0-ом кольце.
Vadim Ushakov писал(а): ...
С одной стороны, мы плевали на производительность, с другой строны "тяжелую задачу" нужно прооптимизировать.
Я считаю, что не нужно ускорять ядро - его ускорение обеспечено железом. Интерпретируемые языки - это другое дело. Почитайте ESR.

Но это всё, конечно, моё сугубо личное мнение.
Наверх
Перейти к странице Предыдущая -1-2-3-4-5-6-7-8-9-10-11-12-13 Следующая

Модераторы: Roman I Khimov, netwizard.

Переход:     Наверх