реклама на сайте
подробности

 
 
> Параметры оценки архитектуры ОС, предлагаю
TMX
сообщение Feb 21 2005, 08:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Хочу обзор сделать, по существующим на рынке ОС для мк.
Не просто краткую аннотацию, такие уже есть,
например:
http://www.realtime-info.be/encyc/buyersgu...tos/Dir228.html
http://www.dspconsulting.com/rtos.html
(это просто первые в моем URL-album)
, а хочу обзирать именно конкретные подходы к построению архитектур.

Предлагаю сокращенный набор параметров для оценки архитектуры:
(их больше, просто, чтобы показать принципы)

-. Многозадачность (есть, нет, кооперативная, вытесняющая, набор примитивов для cycl.exec и т.д.)
-. Приоритеты задач (стат, динам, несравниваемые и др.)
-. Особенности переключения задач (контекст, стеки и т.д.)
-. Реализация планировщика.
-. Реализация диспетчера.
-. Оценка преимуществ и недостатков методов планирования/диспетчеризации для конкретных задач.
-. Предотвращение инверсии приоритетов (есть, нет, методы)
-. Реализация искл. доступа к ресурсам.
-. Контроль задач (события, таймеры и др.)
-. Запуск системных и доп. процессов (методы для таймеров, ISR и т.д.)
-. Реализация HAL.
-. API - предоставляемые возможности.
-. Доп. средства (GUI, TCP/IP и т.д.)
-. Общая оценка.

Результаты желаю выложить в интернет.
Примерная производительность - 4 ОС/мес, если не попрет.
Предлагаю это из шкурных соображений:
1. закончились новые идеи, а спросить не у кого.
2. последняя моя ОС получилась хороша, но вдруг изобрел велосипед?

Поэтому объявление:
Приму в дар исходники коммерческих ОС для исследовательских целей, (это не пиратство, это промышленный шпионаж).
Особо интересуют:
-. Integrity - как реализовано переключение задач без выкл. прерываний,
-. PORTOS - реализация приоритетных функций,
-. smx - реализация связных стеков задач
-. все остальные.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xyzzy
сообщение Apr 11 2005, 04:53
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 95
Регистрация: 10-04-05
Пользователь №: 4 003



Цитата(TMX @ Feb 21 2005, 01:46)
-. Многозадачность (есть, нет, кооперативная, вытесняющая, набор примитивов для cycl.exec и т.д.)
*


Как насчет многопроцессорности? SMP, NSMP, NUMA, etc..
Еще интересный фактор - меж-процессное взаимодействие (включая методы синхронизации, в том числе распределенные.)

--zzyxy


--------------------
--xyzzy
Go to the top of the page
 
+Quote Post
TMX
сообщение Apr 11 2005, 06:52
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Цитата(xyzzy @ Apr 11 2005, 07:53)
Цитата(TMX @ Feb 21 2005, 01:46)
-. Многозадачность (есть, нет, кооперативная, вытесняющая, набор примитивов для cycl.exec и т.д.)
*


Как насчет многопроцессорности? SMP, NSMP, NUMA, etc..
Еще интересный фактор - меж-процессное взаимодействие (включая методы синхронизации, в том числе распределенные.)

--zzyxy
*



Не, я в межпроцессорном взаимодействии не компетентен. А методы синхронизации и в однопроцессорных системах не оптимальны - например:
Если есть счетный семафор на ресурс (например блоки памяти) - часто используется при формировании сетевых сообщений, например, при реализации OSEK/NMI, при этом используется Priority Ceiling, как рекомендуется в том же OSEK/VDX. И что получается? - сообщение, захватившее ресурс, автоматически становится наиболее приоритетным, а остальные ждут его, т.е. реально используется всего один ресурс. Если сделать Priority Inheritance, то при N ресурсах высокоприоритетное сообщение будет ждать всех низкоприоритетных в худшем случае. Эта проблема, на мой взгляд, интересна для обсуждения, если ставить задачу действительно разработать систему жесткого реального времени (т.е. предсказуемую).
А многопроцессорные системы слишком сложны для моего мозга.
Go to the top of the page
 
+Quote Post
RVlad
сообщение Apr 12 2005, 16:02
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 15-03-05
Пользователь №: 3 378



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

Чтобы сделать "предсказуемую" систему жесткого RT вам в случае однопроцессорной конфигурации необходимо просчитать все возможные комбинации состояний ваших задач с учетом статических и динамических приоритетов, блокировки ресурсов, блокировки каналов обмена, переключения контекста и пр. Другими словами для задач реальной сложности обеспечить жесткий RT на однопроцессорной конфигурации практически невозможно. Я уже не говоря про обработку сбоев, отказов и реализацию м-мов контрольных точек. В соостветствующей литературе ральные конфигурации обычно включали несколько процессорных эл-тов с теми или иными средствами аппаратного мажорирования. Так что придеться изучать многопроцессорные системы.
Go to the top of the page
 
+Quote Post
TMX
сообщение Apr 13 2005, 16:21
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Цитата(RVlad @ Apr 12 2005, 19:02)
Чтобы сделать "предсказуемую" систему жесткого RT вам в случае однопроцессорной конфигурации необходимо просчитать все возможные комбинации состояний  ваших задач с учетом статических и динамических приоритетов, блокировки ресурсов, блокировки каналов обмена, переключения контекста и пр. Другими словами для задач реальной сложности обеспечить жесткий RT на однопроцессорной конфигурации практически невозможно. Я уже не говоря про обработку сбоев, отказов и реализацию м-мов контрольных точек.  В соостветствующей литературе ральные конфигурации обычно включали несколько процессорных эл-тов с теми или иными средствами аппаратного мажорирования. Так что придеться изучать многопроцессорные системы.
*


Вот-вот, я и Вас не понимаю :-). То что, все просчитать нельзя (т.е. NP-трудность), насколько я знаю, известно давно (Мок, 1984). Поэтому были предложены определенные ограничения (обзор Одсли, 1992) Зачем динамические приоритеты считать, если их не делать?
Предсказуемость, с моей точки зрения, это возможность расчета времени реакции на событие. Ну и как переключение контекста влияет на предсказуемость? В uCOS II, например переключение контекста очень быстрое, ну и что - она не предсказуема, поскольку м.б. инверсия приоритетов.
О многопроцессорных системах я читал (например, статьи Тинделла об организации обмена в таких системах), но эта область с практической точки зрения меня не интересует - просто не имею достаточной подготовки и нет реальных задач.
А ОС, как средство управлять разделяемыми ресурсами по каким-то законам, позволяющим сделать расчет времени - достойная на мой взгляд задача.
Насчет контроля сбоев ничего сказать не могу.
Мне кажется, что расчеты для многопроцессорных систем гораздо сложнее.
Go to the top of the page
 
+Quote Post
RVlad
сообщение Apr 14 2005, 14:52
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 15-03-05
Пользователь №: 3 378



Я думаю , что в значительной степени то - о чем мы говорим - это вопрос терминологический.
- Если говорить в терминах определений RTOS - то существует точка зрения, готорая гласит - RTOS - система ориентированная на конкретное приложение:=> если для приложения можно выполнить некоторые определнные требования real-time-a , то и система на основе которой построено это приложение является RTOS. Соответственно различные коммерческие RTOS и делаются для того , чтобы улучшить показатели (и расширить сферу применимости данной OS как RTime).
- Другой вопрос, что при проектировании достаточно сложных RT приложений значительно легче разбить его на несколько слабосвязанных задач (если это получаеться) и разместить их на отдельных процессорах. Уменьшение сложности проектирования достигаеться из -за того , что вместо одно большого графа - получаются неслько графов меньшего размера , ну и соответственно ...В этом варианте и требования к OS .для реализации этих подзадач - соответственно снижаются(латентность, мертвое время и пр...).
- А вот если не получаеться слабосвязанных задач - то это проблема не RTOS а проблема алгоритма и/или архитектуры вычислений. RTOS здесь уже совсем не поможет.. Тут начинаются всякие MIMD &SIMD и прочие Data flow навороты.
Вот тогда при построении DFSG задачи на таких распределенных вычислителях вопрос real-time определяется латентностью переключения этого графа из одного сотояния в другое и соответственно латентностью конвейера данных, обрабатывающих то или иное событие от его появления до выработки решения (результата).
Т.о. сначала спецификация на RT приложение - потом выбор архитектуры - а затем уже (если можно и нужно ) спецификация на RTOS. Таак мне кааажется..
Ну а всякие FPGA+(NIOS+command extensions)+Linux и дают эту возможность ..реализовывать целевую архитектуру приложения. smile.gif
Go to the top of the page
 
+Quote Post
TMX
сообщение Apr 15 2005, 05:49
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Вы правы, я тоже стараюсь разбить систему на несколько задач с четкими интерфейсами и явно выделенными состояниями.
После этого уже не имеет принципиального значения, выполняются ли они на нескольких процессорах или на одном с разделением времени между задачами. А общие ресурсы могут быть и на многопроцессорной системе.
При таком подходе вполне достаточно модели с циклическим исполнением - она легко поддается расчетам. Недостаток - необходимо разбивать задачи на состояния с жесткими временными рамками, это иногда приводит к значительным затратам времени при внесении изменений. Кроме того, обращение к общим ресурсам представляет некоторую проблему.
Для управления ресурсами ОС не обязательна - есть циклические буферы, буферы читатель/писатель, флаги, наконец. Удобно оформить все это в некоторые библиотеки со стандартным интерфейсом и пользоваться (я так и делаю).
Анализ ОС меня - гимнастика для ума, мне любопытны подходы и филисофия создания именно ОСРВ - потому что существуют жесткие рамки, это заставляет изобретать новые идеи, например, несравниваемые приоритеты (Babaoglu,1990) или протоколы захвата/освобождения ресурсов.
Когда мне нужно было написать ОС - я это сделал (для Fujitsu), и могу рассматривать эти проблемы с позиции реализации (в сущности, на мой взгляд, все сводится к алгоритмам обработки динамических очередей).
Сейчас я реализую одну свою идею (несложную) насчет оптимизации времени обработки семафоров и выбираю алгоритм захвата ресурсов.
Поэтому я рассматриваю то, что может мне пригодиться или улучшить мое понимание проблемы - это, в общем-то, не широкие рамки.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TMX   Параметры оценки архитектуры ОС   Feb 21 2005, 08:46
- - AlexandrY   Меня бы интересовали другие параметры. Более жизне...   Feb 21 2005, 10:22
|- - TMX   Цитата(AlexandrY @ Feb 21 2005, 13:22)Меня бы...   Feb 21 2005, 14:45
|- - RVlad   Мнея эта тема интересует в том числе и прагматичес...   Apr 15 2005, 11:11
|- - TMX   Цитата(RVlad @ Apr 15 2005, 14:11)Мнея эта те...   Apr 18 2005, 14:05
- - merk0   ***Мнея эта тема интересует в том числе и прагмати...   May 6 2005, 14:45
|- - TMX   Спасибо за развернутый топик. Пожалуйста, прочтите...   May 7 2005, 12:33
- - merk0   Поскольку у вас вопросов много..я отвечу пока толь...   May 7 2005, 20:52
|- - TMX   Цитата(merk0 @ May 7 2005, 23:52)Это примерно...   May 11 2005, 08:32
|- - TMX   Цитата(merk0 @ May 7 2005, 23:52)Далее, то чт...   May 11 2005, 09:53
- - merk0   ***но известное (т.е., например, в диспетчере: при...   May 11 2005, 12:04
|- - TMX   Цитата(merk0 @ May 11 2005, 15:04)Проблемы бу...   May 11 2005, 15:03
- - merk0   Если таймеры у вас в системе "жесткие", ...   May 11 2005, 12:23
|- - TMX   Цитата(merk0 @ May 11 2005, 15:23)Если таймер...   May 11 2005, 15:19
- - merk0   ***Основной вопрос - как управлять приоритетом это...   May 11 2005, 16:06
|- - TMX   Цитата(merk0 @ May 11 2005, 19:06)Зачем? Тайм...   May 11 2005, 18:08
- - merk0   теоретически вы правы, про таймеры..но практически...   May 11 2005, 19:38
|- - TMX   Таймеры в системе о которой я говорю вообще должн...   May 12 2005, 05:49
- - merk0   В той идеологии, что исповедую я, жесткие таймеры ...   May 12 2005, 10:47
|- - TMX   Цитата(merk0 @ May 12 2005, 13:47)сверху вниз...   May 12 2005, 10:59
- - merk0   я бы не стал на вашем месте концентрироваться на э...   May 12 2005, 14:27
|- - TMX   Цитата(merk0 @ May 12 2005, 17:27)я бы не ста...   May 12 2005, 15:08
- - merk0   по моему вы увлекаетесь этими приоритетами. Как по...   May 12 2005, 17:29
|- - TMX   По моему мнению, критерий РВ один - предсказуемост...   May 13 2005, 05:02
- - merk0   Вы очень уж абстрактно академично рассматриваете с...   May 14 2005, 09:13
|- - bmf   Цитата(merk0 @ May 14 2005, 12:13)На практике...   Sep 3 2005, 10:11
- - Kopa   По моему убеждению, интересной идеей реализации R...   Sep 1 2005, 20:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 03:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.05694 секунд с 7
ELECTRONIX ©2004-2016