Цитата(MiklPolikov @ Dec 9 2013, 07:15)
...что любой переход задачи...Если у меня во всех задачах либо форсированное
переключение ..либо ..переводы задачи в блокированное состояние..уверен в том что .."крутится" с максимально возможной скоростью при данной
частоте процессора, и системный квант времени .. ни на что не влияет ?
т.к. фриртос вытесняющая, если мне не изменяет память по поводу потрохов, то да. При обращении к ядру оси по делам диспетчиризации, будет произведён
анализ на предмет изменения статуса данного потока и если есть более приоритетные по условиям, то произойдёт переключения на
следующий в очереди ожидания поток.
я так понимаешь, что не было попытки заглянуть внутрь оси и разобраться
самое лучшее именно та ки поступить...
по поводу максимально возможного - тут всё верно, но немножко оговорочка: теоретически можно поставить колом и даннй механизм,
который будет конечно же дышать, но будет бОльшее выполнение кол-во кода при одном и том же конечном функционале. Но думаю
1) накладные расходы (по сравнению с полезным выполнением, будут минимальны)
2) вопрос спускается к устройству оси. И если Вы ей "доверяете" - то оставте это дело ей. Если нет - переписывайте, либо изучайте вопрос
уже более глубже(сравнивая оси, выбирая и корректируя на более оптимальный олгаритм шедуллер и иже).
3) ИМХО - достаточно при написании кода относится к оси почти как к
НЕ вытесняющей. Т.е. помнить о шедуллере и писать код
менее "жадным" к выполнению. Т.е. там где нет необходимости постоянно поллить - перейти на прерывания (идеально чтоб всё было
на прерываниях. от аппаратуры и при передачи самих данных.)
По поводу таймера:
Рекомендую посчитать в тактах МК время кванта тиканья системного таймера. если у Вас всё по умолчанию, тиканье с частотой 1ms
и частота ядра 168Мгц, то на один квант приходится около 168000 тактов МК. Что более чем достаточно для многих задач, с
"бесконечными циклами выполняющихся за 10 секунд"
т.е. вероятность того, что Вы получите прерывание потока именно таким
способом сводится к минимуму, по большому счёту... хотя зависит от задач