|
|
  |
Распределение времени между задачами, Зависимость от приоритета. |
|
|
|
Feb 20 2016, 15:03
|
Знающий
   
Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245

|
Цитата(misyachniy @ Feb 15 2016, 19:35)  Вам уже написали что ОС общего назначения это не FreeRTOS, но ... вот еще подсказка в файле FreeRTOSConfig.h (должен быть в вашем проекте) есть такой параметр configUSE_PREEMPTION который задает тип многозадачности в проекте. Вот тут http://kit-e.ru/assets/files/pdf/2011_05_97.pdf даже рассматриваются многозадачности. А в этой статье http://kit-e.ru/assets/files/pdf/2011_04_96.pdf показывается что будет если у задач одинаковый приоритет (или разные приоритеты).
|
|
|
|
|
Feb 21 2016, 06:11
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (ViKo @ Feb 21 2016, 07:35)  Цепляться за терминологию в данном случае не важно. Цепляться надо, ибо иначе в голове каша, как у ТС в которой он плавает и зацепится мыслью не может. QUOTE Любая ОС в тех или иных условиях может работать как ОСРВ. А это уже схоластика  . Да может, если, например, времени настолько много, что и делить его не надо. Да, и трактор и велосипед оба транспорные средства.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 21 2016, 09:02
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(misyachniy @ Feb 14 2016, 13:05)  Логично предположить, что время выделяемое на них будт прямо пропорционально приоритету. Но никак не могу найти прямого указания о рспределении времени. Фриртос устроена не так. Она дает две возможности * если приоритет у задач разный, то задача с более высоким приоритетом будет работать, пока она готова (не заснула, не ждет данных из очереди и т.п.) * если приоритет у задач одинаковый, то они будут работать друг за другом (каждый тик управление будет переходить к следующей задаче) Если вам нужно чтобы все задачи работали пропорционально приоритету, то во фриртос это придется делать вручную. Но возможно если вы опишите проблему, которую пытаетесь решить, вам подскажут как это правильнее сделать с фриртосом и не придется изобретать свой шедулер
|
|
|
|
|
Feb 21 2016, 10:50
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (ViKo @ Feb 21 2016, 09:21)  Пример - в осциллографе Agilent (номер наизусть не помню) используется ОС Windows. Пример "ни в .... ни в Красную Армию"  . То, чем там занимается Windows это ОДНА ИЗ ЗАДАЧ выполяемых на ОТДЕЛЬНОМ компьютере. Все реальное время НА ОТДЕЛЬНОМ ЖЕЛЕЗЕ. QUOTE У каждой задачи должен быть приоритет и допустимое время выполнения. Да и приоритета не нужно, это просто средство для выполнения задачи в требуемое время. Если ОС способна выполнить все задачи вовремя, то она ОСРВ. Отлично! Ну и где в Windows назначение этих самых приоритетов и допустимых времен выполнения для пользовательских задач? То, что-то успевает за время, которое Вас устраивает, не означает, что что это сделано благодаря операционке имеющей средства обеспечения реального времени. QUOTE (Непомнящий Евгений @ Feb 21 2016, 11:02)  Если вам нужно чтобы все задачи работали пропорционально приоритету.... Вопрос не в том, можно сделать или нет. Вопрос какого хрена такое нужно? Какая-такая уникальная задача стоит? Это есть ключевой вопрос, котрый следует обсуждать а не чудесатые требования к RTOS неведомо отчего и зачем возникшие.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 22 2016, 06:58
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(ViKo @ Feb 21 2016, 23:44)  Я считаю, что другой ОС в том осциллографе нет. Там скорее всего какая-то отдельная железка рулит собственно измерениями, а на винде - только GUI, анализ, настройки, экспорт/импорт и т.п. Цитата(zltigo @ Feb 21 2016, 13:50)  Вопрос не в том, можно сделать или нет. Вопрос какого хрена такое нужно? Какая-такая уникальная задача стоит? Это есть ключевой вопрос, котрый следует обсуждать а не чудесатые требования к RTOS неведомо отчего и зачем возникшие. Да, тут хотелось бы услышать ТСа. Мне на ум приходят какие-то длинные чисто вычислительные задачи, ничего не ждущие, которым хочется задать приоритет друг относительно друга так, чтобы даже низкоприоритетная иногда что-то делала
|
|
|
|
|
Feb 22 2016, 08:13
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (ViKo @ Feb 22 2016, 09:22)  Какая-то ОС больше нацелена на гарантированное выполнение задач в заданное время, какая-то меньше. Не наводите тень на плетень - либо механизмы для обеспечения этого есть, либо нет. От того, что, "windows" попадет на железо, которое превосходит требуемую ПИКОВУЮ производительность он не станет RTOS - либо у дедушки есть яйца, либо он бабушка.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 22 2016, 08:18
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(zltigo @ Feb 22 2016, 11:13)  Не наводите тень на плетень - либо механизмы для обеспечения этого есть, либо нет. От того, что, "windows" попадет на железо, которое превосходит требуемую ПИКОВУЮ производительность он не станет RTOS - либо у дедушки есть яйца, либо он бабушка. И каковы же эти яйца-механизмы, конкретно?  Что есть, к примеру во FreeRTOS, что делает ее RT? Кроме простоты (примитивизма)?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|