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

 
 
> Параметры оценки архитектуры ОС, предлагаю
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
Ответов
merk0
сообщение May 14 2005, 09:13
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



Вы очень уж абстрактно академично рассматриваете систему.
По вашему высокприоритетная(вп) и низкоприоритетная(нп) задачи пытаются работать с одним ресурсом.
Тогда могу выдвинуть общее утверждение. В силу неизбежности разделения доступа к ресурсу, нп-задача будет в каких-то случаях блокировать вп -задачу. И ничего другого быть не может.
Вопрос решется радикально, как в теории так и в практике.
На практике задачи таких разных приоритетов живут в своих окружениях и весьма редко(если это случается - это скорее недочет разработчика) обращаются к общим разделяемым ресурсам.
Потому в практике такие блокировки не случаются. Никогда задача высокого приоритета не пытается работать с файловой системой или брать/отдавать память, если только не при инициализации и финализации.
Вы понимаете куда я клоню?
Если ваша задача - высокого приоритета, то разумеется она не должна пытаться взаимодействовать даже косвенно с низкоприоритетными так, что это может привести к блокировке на заметное время высокоприоритетной.
В противном случае, просто рассуждая, всегда можно найти такой пример, когда низкоприоритетная заблокирует высокоприоритетую.

Потому рассуждения о инверсии приоритетов - чисто академические и сделаны при слишком вольных допущениях. И даже если так вольнго рассуждать - видно, что вопрос неразрешим в принципе на системном уровне. Всегда можно найти такой алгоритм, что привдет к блокировке.
Простейший - высокоприоритетная посылает мессагу низкоприоритетной и ждет ответа. Сразу видно, что в данной точке код вп-задачи имеет эффективный приоритет - низкий, поскольку будет возобновлен только после того когда нп-код отработает. И никакими системными конструкциями вы этого не решите. Посколку то что вп-задача ждет ответа от нп, это уже семантика кода вп задачи, который невозможно проанализировать в принципе.

А ваша инверсия приоритетов - более запутанный вариант этого типа "взаимодействия".
Go to the top of the page
 
+Quote Post
bmf
сообщение Sep 3 2005, 10:11
Сообщение #3


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

Группа: Свой
Сообщений: 146
Регистрация: 6-01-05
Из: Украина
Пользователь №: 1 831



Цитата(merk0 @ May 14 2005, 12:13)
На практике задачи таких разных приоритетов живут в своих окружениях и весьма редко(если это случается - это скорее недочет разработчика) обращаются к общим разделяемым ресурсам.
Потому в практике такие блокировки не случаются. Никогда задача высокого приоритета не пытается работать с файловой системой или брать/отдавать память, если только не при инициализации и финализации.
Вы понимаете куда я клоню?
Если ваша задача - высокого приоритета, то разумеется она не должна пытаться взаимодействовать даже косвенно с низкоприоритетными так, что это может привести к блокировке на заметное время высокоприоритетной.
В противном случае, просто рассуждая, всегда можно найти такой пример, когда низкоприоритетная заблокирует высокоприоритетую.
...
Потому рассуждения о инверсии приоритетов - чисто академические и сделаны при слишком вольных допущениях.

Думаю вы в корне заблуждаесь исходя только из своего личного опыта, в реальных сложных задачах все очень даже переплетается, кроме дисковой системы может быть индикация или например разделяемая внешняя шина или доступ к какому-то контроллеру. Доступ осуществляется только через блокировки, и без решения на уровне OS проблемы инверсии приоритетов ваша OS реально не будет RTOS, и проблема инверсии не тогда когда ресурс заблокирован задачей с более низким приоритетом (в этом случае процессор освободит ее максимально и расчетно быстро), а когда в этот момент начинает выполняться другая задача скажем среднего приоритета, которая не знает что высокий приоритет ждет освобождения ресурса, в этом случае блокировка может затянутся на слишком долгое как для RTOS время. Такая блокировка может случаться не часто, но ее последствия...
Самый извесный пример из инета - потеря американцами своего марсохода как раз из-из отсутсвия инверсии.
для ознакомления наберите в google "mars priority inversion"
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
- - xyzzy   Цитата(TMX @ Feb 21 2005, 01:46)-. Многозадач...   Apr 11 2005, 04:53
|- - TMX   Цитата(xyzzy @ Apr 11 2005, 07:53)Цитата(TMX ...   Apr 11 2005, 06:52
|- - RVlad   >... Эта проблема, на мой взгляд, интересна для...   Apr 12 2005, 16:02
|- - TMX   Цитата(RVlad @ Apr 12 2005, 19:02)Чтобы сдела...   Apr 13 2005, 16:21
|- - RVlad   Я думаю , что в значительной степени то - о чем мы...   Apr 14 2005, 14:52
|- - TMX   Вы правы, я тоже стараюсь разбить систему на неско...   Apr 15 2005, 05:49
|- - 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
- - Kopa   По моему убеждению, интересной идеей реализации R...   Sep 1 2005, 20:29


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

 


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


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