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

 
 
> Протокол захвата/освобождения ресурсов..., какие будут предложения по реализации?
TMX
сообщение Sep 9 2005, 12:08
Сообщение #1


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

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



Вернулся к разработке РТОС для ARM на досуге...
Основной проблемой остается выбор протокола захвата/освобождения ресурсов для исключения инверсии приоритетов и, в конечном счете, достижению предсказуемости.
Может, у кого-нибудь есть какие-либо соображения по этому поводу? Любые предложения приветствуются.

Постановка проблемы:
1. В системе существуют множественные ресурсы (т.е. не единичное количество ресурсов одного вида, типа блоки памяти, слоты для сообщений и т.п.)
2. В системе существует множество задач с различными неуникальными приоритетами (т.е. задачи могут иметь одинаковый приоритет).
3. В каждый момент в системе исполняется задача с самым высоким приоритетом. Есть раунд-робин, т.е. задачи с одинаковыми приоритетами периодически переключаются.
4. Если задача обратилась к ресурсу, то она либо получает его (если есть свободный), либо становится в очередь на ожидание.
5. Если задача освободила ресурс, то из очереди ожидания ставится на выполнение задача с самым высоким приоритетом.

---Все это уже готово.

Задача: по какому протоколу управлять приоритетами задач при захвате/освобождении ресурсов?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
si21
сообщение Sep 9 2005, 13:31
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 55
Регистрация: 9-04-05
Из: г. Минск
Пользователь №: 3 984



Цитата(TMX @ Sep 9 2005, 14:08)
Вернулся к разработке РТОС для ARM на досуге...
Основной проблемой остается выбор протокола захвата/освобождения ресурсов для исключения инверсии приоритетов и, в конечном счете, достижению предсказуемости.
Может, у кого-нибудь есть какие-либо соображения по этому поводу? Любые предложения приветствуются.

Постановка проблемы:
1. В системе существуют множественные ресурсы (т.е. не единичное количество ресурсов одного вида, типа блоки памяти, слоты для сообщений и т.п.)
2. В системе существует множество задач с различными неуникальными приоритетами (т.е. задачи могут иметь одинаковый приоритет).
3. В каждый момент в системе исполняется задача с самым высоким приоритетом. Есть раунд-робин, т.е. задачи с одинаковыми приоритетами периодически переключаются.
4. Если задача обратилась к ресурсу, то она либо получает его (если есть свободный), либо становится в очередь на ожидание.
5. Если задача освободила ресурс, то из очереди ожидания ставится на выполнение задача с самым высоким приоритетом.

---Все это уже готово.
Задача: по какому протоколу управлять приоритетами задач при захвате/освобождении ресурсов?
*

Может для Вас Америку я не открою biggrin.gif , но сам бы поступил так - проштудировал описания/исходники открытых текстов существующих RTOS - часто т.о. находишь "изюминки", которые не упоминаются. Сам, когда начинал программировать (а это уже более 25 лет), т.о. получил хорошую школу.
Go to the top of the page
 
+Quote Post
TMX
сообщение Sep 9 2005, 14:57
Сообщение #3


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

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



Цитата(si21 @ Sep 9 2005, 16:31)
Может для Вас Америку я не открою  biggrin.gif , но сам бы поступил так - проштудировал описания/исходники открытых текстов существующих RTOS - часто т.о. находишь "изюминки", которые не упоминаются. Сам, когда начинал программировать (а это уже более 25 лет), т.о. получил хорошую школу.
*

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

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

 


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


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