ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
159034 Топик полностью
AlexandrY (14.06.2009 20:06, просмотров: 344) ответил Evgeny_CD на Ветка для идей по продвинутому API для RTOS
Самое прохое, что можно придумать в RTOS - это менять приоритет потоков или принцип планирования на ходу. Это приведет к потере детерминизма и вынудит применять статистические модели. А статистические модели требуют серьезной симуляции, ну и кому это нужно? Скажем SOHO роутеру на Линуксе вообщем не важно что пару раз он облажается и потеряет пакет из-за внезапной нехватки ресурсов, главное показать за некоторое время приличную производительность. А вот например спутниковому однонаправленному тюнеру потерять хотя бы один пакет даже в час будет критичной проблемой, или принтеру смазать пару пикселов на миллион тож будет равносильно браку. Вот в этих дивайсах никто не рискует экспериментировать с планировщиками. Если задаче почему-то надо менять приоритет, то стоит подумать не создать ли лучше две и больше задач. Нормально иметь по задаче на каждый датчик и сигнал в системе. Скажем в Линуксе поначалу применялся только адаптивный планировщик который на ходу пытался определить по длительности исполнения критичные задачи драйверов и малокритичные задачи фоновых процессов. Но когда в ядре 2.6 захотели иметь риалтайм, то быстро отказались от всякой манипуляции приоритетами на ходу и вставили большую шкалу градаций приоритетов и раунд-робин планировщик для одинаковых приоритетов. Такая же картина почти во всех RTOS. И еще нарезка максимального времени для задачи выраженное в N целых системых тиков. Почему большая шкала градаций? Потому что обычная практика в RTOS иметь огромную тучу задач. Когда в свое время я пытался совмещать DSP задачи и RTOS, то всегда приходил к необходимости DSP изолировать от RTOS. Т.е. выбирал железо которе по компараторам и таймерам могло как выставлять так считывать бинарные сигналы. В этом чипы TI преуспели. У ColdFire есть такой движок. Выбирал железо с многоуровневыми приоритетными контроллерами прерываний, где запрещение прерываний RTOS не запрещало прерываний подсистемы DSP задач. Счас кортексы вне конкуренции по этим фичам. Т.е. не стоит RTOS пригружать несвойственными им функциями, легче пригрузить этим железо. Откуда гетерогенная мультипроцессорность появилась? Уже в пылесосах по 3-и процессора ставят.
INDEMSYS