OSDev

для всех
Текущее время: 20 апр 2024, 15:06

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 100 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10
Автор Сообщение
СообщениеДобавлено: 29 сен 2010, 20:35 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
В чём отличие от микроядерной системы тогда? Тем более что изобретатели экзоядра утверждают, что их система должна работать существенно быстрее, чем микроядерная. А я в принципе не вижу никаких путей для реализации того, о чём они заявляют: по-любому либо монолит получается (малые накладные расходы, но все системные функции в одном адресном пространстве), либо микроядро (системные функции разделены между разными адресными пространствами, но накладные расходы высоки). "Степень микроядерности" может меняться (самое микроядерное микроядро концептуально вообще только сообщения разруливает, т.е. обеспечивает коммуникацию между остальными компонентами системы и между прикладными программами и системой, и больше ничего не делает), но смысл не меняется.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2010, 20:54 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
В чём отличие от микроядерной системы тогда?

Наверно в том, что экзоядро не требует аппаратной изолированности модулей. По ссылке от Groms в описании Aegis говорится о загружаемых в ядро драйверах, которые работают в общем адресном пространстве. При этом обрабатывают прерывания и рассылают сообщения без переключений контекстов. Ну в общем, какие-то межпроцессные оптимизации, невозможные в микроядре. Хотя я и сам читал описание Aegis по диагонали, слишком много букв :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2010, 21:00 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Если нет "аппаратной изолированности модулей", это монолит.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2010, 22:50 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Если нет "аппаратной изолированности модулей", это монолит.

Такая вот загогулина. Аппаратная изолированность модулей есть, но модули могут работать и без изоляции. Мне кажется, что классификация в чёрно-белых тонах к современным архитекрурам уже не применима. Поэтому я и считаю, что экзоядро надо рассматривать просто как экзоядро, без старых идеологических штампов. Сейчас всё смешано, и вообще приобрело иной смысл (как в Singularity).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2010, 22:54 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Ну так _что это такое_? Из тех описаний, что я вижу, у меня вывод абсолютно однозначный: такого быть не может! Т.е., попросту говоря, экзоядро -- это демагогия бездельников, делающих вид, что занимаются "инновациями".

Пы.Сы. И причём здесь "идеологические штампы"? Это не идеология, это технология. Объясните мне, тупому, как это самое экзоядро может работать. Вот есть две пользовательские задачи, А и Б. Обе читают файл с диска. Как всё это происходит в экзоядерной системе?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2010, 23:01 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Ну так _что это такое_?

Я уже описывал своё видение. Концепция экзоядра так же проста, как и концепция микроядра "только обмен сообщениями". У экзоядра концепция "только обмен ресурсами". А для машины Тьюринга ресурсы - и есть самое главное. Всё остальное - программная инжинерия на усмотрение программиста.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2010, 23:08 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
chizh писал(а):
Я уже описывал своё видение. Концепция экзоядра так же проста, как и концепция микроядра "только обмен сообщениями". У экзоядра концепция "только обмен ресурсами". А для машины Тьюринга ресурсы - и есть самое главное. Всё остальное - программная инжинерия на усмотрение программиста.


А я эту концепцию не понимаю: при попытке осмысления она у меня неизбежно либо превращается в аналог монолитного ядра, либо в аналог микроядерной системы, и всё тут. Ну или оказывается неработоспособной в принципе. Поэтому и прошу: объясните мне, как две пользовательские задачи будут читать файлы в экзоядерной системе (какой путь проделывают при этом соответствующие запросы ввода-вывода).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2010, 23:40 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Вот есть две пользовательские задачи, А и Б. Обе читают файл с диска. Как всё это происходит в экзоядерной системе?

Файловая подсистема работает стандартно, поэтому нет смысла описывать. Тут дело в возможностях приложения оптимизировать работу ФС через низкоуровневой интерфейс. Я так понял, есть возможность переупорядочивать чтение/запись секторов; управлять работой кэша; производить пакетное чтение файлов.

SII писал(а):
А я эту концепцию не понимаю: при попытке осмысления она у меня неизбежно либо превращается в аналог монолитного ядра, либо в аналог микроядерной системы, и всё тут.

Это может быть и аналогом монолитного ядра, и аналогом микроядра.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 сен 2010, 00:12 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
chizh писал(а):
SII писал(а):
Вот есть две пользовательские задачи, А и Б. Обе читают файл с диска. Как всё это происходит в экзоядерной системе?

Файловая подсистема работает стандартно, поэтому нет смысла описывать. Тут дело в возможностях приложения оптимизировать работу ФС через низкоуровневой интерфейс. Я так понял, есть возможность переупорядочивать чтение/запись секторов; управлять работой кэша; производить пакетное чтение файлов.


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

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

Цитата:
SII писал(а):
А я эту концепцию не понимаю: при попытке осмысления она у меня неизбежно либо превращается в аналог монолитного ядра, либо в аналог микроядерной системы, и всё тут.

Это может быть и аналогом монолитного ядра, и аналогом микроядра.


Нет уж, позвольте. Это какой-то "третий путь", иначе зачем придумывать новое название (если не рассматривать всерьёз мою версию о распиливании грантов "на протирку оптической оси")? У меня есть мысля, что же это может означать на практике, и я позже её опишу (сейчас уже лениво), но, во-первых, эта мысля отнюдь не нова (ей порядка 40 лет), а во-вторых, она отнюдь не даёт заявленных изобретателями экзоядра преимуществ простым приложениям.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 сен 2010, 02:22 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Ну а теперь представьте, если каждое приложение будет оптимизировать эти операции под себя, не считаясь с другими приложениями.

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

SII писал(а):
Нет уж, позвольте. Это какой-то "третий путь", иначе зачем придумывать новое название

Это не полноценная архитектура, а просто концепция. Да, если завтра Линукс станет поддерживать такие низкоуровневые функции, то будет называться "экзоядерный монолит". Если Миникс приобретёт свойства экзоядра, то будет называться "экзоядерное микроядро". Я так думаю :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 100 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB