- 
	- Я бы разделил приоритеты и количество задач на каждом приоритете. Скажем, каждая задача помнит, что ей надо сделать N отправок. Сама. А арбитр просто имеет одно слово флагов. Если какая-то задача хочет что-то отправить, то она взводит арбитру свой Николай Коровин(568 знак., 29.03.2018 10:53 - 10:56)
- я делал отдельные сервисы и к ним очереди тикетов на транзакции. перед транзакцией выполнялся поиск в очереди по приоритету. иногда делал пару очередей, в которых одна более приоритетная для "инжекций" и с выделением "полосы"(например, Vit(936 знак., 29.03.2018 09:38)
- RTOS и массивы структур - это особенности реализации, для организации обмена это совсем необязательно, нужно вначале с принципами выделения ресурса определиться - кому когда что нужно. - VLLV(29.03.2018 09:05)
			- Проанализирую, навели на одну мысль. Может и получится переиграть на более простой подход. - Dingo(29.03.2018 10:50)
 
- Элементарно. Сделать арбитра. Задачи запрашивают доступ к периферии с указанием приоритета. Ну или приоритеты уже вбиты по номеру задачи.  SciFi(152 знак., 29.03.2018 08:08 - 08:14)
			- Переосмыслил, упростил, получилось что-то такое :  Dingo(652 знак., 29.03.2018 13:40)
					- а ларчик просто открывался... - SciFi(29.03.2018 13:42)
 
- ..."Понятно, что прерывать обмен на середине нельзя"... !!! Приоритеты тут вообще не при делах.Очередь нужна. - PlainUser(29.03.2018 09:56)
					- Нужна очередь с приоритетами. То есть так примерно:  Dingo(240 знак., 29.03.2018 10:27)
							- Там целую науку навели --> - SciFi(29.03.2018 10:31, ссылка)
									- Попадались простые реализации? (пошёл читать). - Dingo(29.03.2018 10:33)
											- Можно слепить на коленке за 5 минут. Навскидку: делаем FIFO, каждый элемент - это номер задачи с приоритетом. Для выбора следующего сканируем FIFO целиком, ищем высший приоритет, потом затираем выбранный элемент, чтобы не сдвигать всю очередь. Ну  SciFi(93 знак., 29.03.2018 10:38)
													- Тогда уж связанный список. Или, чтобы с не дёргать malloc/free - массив структур, в которых есть необходимая инфа ( номер следующей структуры, приоритет, ...). Поэтому и была мысль про указатель на функцию. Или же вами предложенные ФИФО в  Dingo(81 знак., 29.03.2018 10:47)
															- Вот:  SciFi(1301 знак., 29.03.2018 11:08)
																	- При фифо непрозрачно как-то. Нужно почитать про аппаратную структуру контроллера прерываний и реализовать ее программно :) Массив структур запросов. Индекс массива - код задачи, в структуру входит номер приоритета, запрос есть/нет/выполняется, ну  VLLV(70 знак., 29.03.2018 11:32)
																			- Кому прозрачно, кому - нет... Зато дёшево, надёжно и практично. - SciFi(29.03.2018 11:39)
 
- Снимаю шляпу: я так быстро код писать не умею! :'( - Dingo(29.03.2018 11:12)
																			- Там косяк: когда сдвигаем указатель хвоста, нужно проверять, что следующий не стёрт, и при необходимости сдвигать дальше: SciFi(369 знак., 29.03.2018 11:23)
 
 
- При фифо непрозрачно как-то. Нужно почитать про аппаратную структуру контроллера прерываний и реализовать ее программно :) Массив структур запросов. Индекс массива - код задачи, в структуру входит номер приоритета, запрос есть/нет/выполняется, ну  VLLV(70 знак., 29.03.2018 11:32)
																			
 
- Вот:  SciFi(1301 знак., 29.03.2018 11:08)
																	
 
- Тогда уж связанный список. Или, чтобы с не дёргать malloc/free - массив структур, в которых есть необходимая инфа ( номер следующей структуры, приоритет, ...). Поэтому и была мысль про указатель на функцию. Или же вами предложенные ФИФО в  Dingo(81 знак., 29.03.2018 10:47)
															
 
- Можно слепить на коленке за 5 минут. Навскидку: делаем FIFO, каждый элемент - это номер задачи с приоритетом. Для выбора следующего сканируем FIFO целиком, ищем высший приоритет, потом затираем выбранный элемент, чтобы не сдвигать всю очередь. Ну  SciFi(93 знак., 29.03.2018 10:38)
													
 
- Попадались простые реализации? (пошёл читать). - Dingo(29.03.2018 10:33)
											
 
- Там целую науку навели --> - SciFi(29.03.2018 10:31, ссылка)
									
- Приоритеты есть в ТЗ, уважаемый. А очередь без приоритетов я уже делал, кстати:  SciFi(940 знак., 29.03.2018 10:04)
							- А наоборот — приоритеты без очереди, которые я выше написал? Просто не совсем понятно, нужна ли там очередь. Из задачи этого не следует. - Николай Коровин(29.03.2018 13:40)
 
 
- Нужна очередь с приоритетами. То есть так примерно:  Dingo(240 знак., 29.03.2018 10:27)
							
 
- Переосмыслил, упростил, получилось что-то такое :  Dingo(652 знак., 29.03.2018 13:40)