Перейти к содержанию
    

Распределение времени между задачами

Цитирую Андрея Курница

http://easyelectronics.ru/img/ARM_kurs/FreeRTOS/Kurniz.pdf

Вам уже написали что ОС общего назначения это не 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 показывается что будет если у задач одинаковый приоритет (или разные приоритеты).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам уже написали что ОС общего назначения это не FreeRTOS...

 

И в моей ссылке и в ваших название статей:"FreeRTOS — операционная система для микроконтроллеров."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не автор статей, но могу сказать что ОСРВ и ОС общего назначения это разные вещи.

http://omoled.ru/publications/view/20

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цепляться за терминологию в данном случае не важно. Любая ОС в тех или иных условиях может работать как ОСРВ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цепляться за терминологию в данном случае не важно.

Цепляться надо, ибо иначе в голове каша, как у ТС в которой он плавает и зацепится мыслью не может.

Любая ОС в тех или иных условиях может работать как ОСРВ.

А это уже схоластика :(. Да может, если, например, времени настолько много, что и делить его не надо.

Да, и трактор и велосипед оба транспорные средства.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример - в осциллографе Agilent (номер наизусть не помню) используется ОС Windows.

 

У каждой задачи должен быть приоритет и допустимое время выполнения. Да и приоритета не нужно, это просто средство для выполнения задачи в требуемое время. Если ОС способна выполнить все задачи вовремя, то она ОСРВ.

Может оказаться, добавили еще одну задачу, и ОС уже не справляется. Мой мобильник на Андроиде разрешает ответить на звонок секунд через 8. Убил бы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Логично предположить, что время выделяемое на них будт прямо пропорционально приоритету.

Но никак не могу найти прямого указания о рспределении времени.

 

Фриртос устроена не так. Она дает две возможности

* если приоритет у задач разный, то задача с более высоким приоритетом будет работать, пока она готова (не заснула, не ждет данных из очереди и т.п.)

* если приоритет у задач одинаковый, то они будут работать друг за другом (каждый тик управление будет переходить к следующей задаче)

 

Если вам нужно чтобы все задачи работали пропорционально приоритету, то во фриртос это придется делать вручную. Но возможно если вы опишите проблему, которую пытаетесь решить, вам подскажут как это правильнее сделать с фриртосом и не придется изобретать свой шедулер

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример - в осциллографе Agilent (номер наизусть не помню) используется ОС Windows.

Пример "ни в .... ни в Красную Армию" :). То, чем там занимается Windows это ОДНА ИЗ ЗАДАЧ выполяемых на ОТДЕЛЬНОМ компьютере. Все реальное время НА ОТДЕЛЬНОМ ЖЕЛЕЗЕ.

У каждой задачи должен быть приоритет и допустимое время выполнения. Да и приоритета не нужно, это просто средство для выполнения задачи в требуемое время. Если ОС способна выполнить все задачи вовремя, то она ОСРВ.

Отлично! Ну и где в Windows назначение этих самых приоритетов и допустимых времен выполнения для пользовательских задач? То, что-то успевает за время, которое Вас устраивает, не означает, что что это сделано благодаря операционке имеющей средства обеспечения реального времени.

 

 

 

 

Если вам нужно чтобы все задачи работали пропорционально приоритету....

Вопрос не в том, можно сделать или нет. Вопрос какого хрена такое нужно? Какая-такая уникальная задача стоит? Это есть ключевой вопрос, котрый следует обсуждать а не чудесатые требования к RTOS неведомо отчего и зачем возникшие.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример - в осциллографе Agilent (номер наизусть не помню) используется ОС Windows.

И Вы думаете, что там все операции с оцифровкой сигнала (под ГГц) реализованы на x86 под управлением Windows!? Нет же, Вы прекрасно знаете, что там внутри еще куча всего стоит, а Windows это вершина айсберга и ОС для удобства пользователя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я считаю, что другой ОС в том осциллографе нет.

А приоритеты в Windows есть.

И она вполне себе справляется с функциями RTOS в данном примере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я считаю, что другой ОС в том осциллографе нет.

 

Там скорее всего какая-то отдельная железка рулит собственно измерениями, а на винде - только GUI, анализ, настройки, экспорт/импорт и т.п.

 

 

Вопрос не в том, можно сделать или нет. Вопрос какого хрена такое нужно? Какая-такая уникальная задача стоит? Это есть ключевой вопрос, котрый следует обсуждать а не чудесатые требования к RTOS неведомо отчего и зачем возникшие.

 

Да, тут хотелось бы услышать ТСа. Мне на ум приходят какие-то длинные чисто вычислительные задачи, ничего не ждущие, которым хочется задать приоритет друг относительно друга так, чтобы даже низкоприоритетная иногда что-то делала :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там скорее всего какая-то отдельная железка рулит собственно измерениями, а на винде - только GUI, анализ, настройки, экспорт/импорт и т.п.

Конечно. Но назначение осциллографа - захватить сигнал и нарисовать его на экране. Вот со второй частью ОС справляется.

 

Повторяю, что хочу сказать. Какая-то ОС больше нацелена на гарантированное выполнение задач в заданное время, какая-то меньше. Но очень много зависит от изделия, в котором ОС используется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какая-то ОС больше нацелена на гарантированное выполнение задач в заданное время, какая-то меньше.

Не наводите тень на плетень - либо механизмы для обеспечения этого есть, либо нет. От того, что, "windows" попадет на железо, которое превосходит требуемую ПИКОВУЮ производительность он не станет RTOS - либо у дедушки есть яйца, либо он бабушка.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не наводите тень на плетень - либо механизмы для обеспечения этого есть, либо нет. От того, что, "windows" попадет на железо, которое превосходит требуемую ПИКОВУЮ производительность он не станет RTOS - либо у дедушки есть яйца, либо он бабушка.

И каковы же эти яйца-механизмы, конкретно? :biggrin: Что есть, к примеру во FreeRTOS, что делает ее RT? Кроме простоты (примитивизма)? :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И каковы же эти яйца-механизмы, конкретно? :biggrin: Что есть, к примеру во FreeRTOS, что делает ее RT? Кроме простоты (примитивизма)? :rolleyes:

Предлагаю Вам начать думать с другого конца - а хоть какие-то механизмы обеспечения приоритетов у того-же windows для ПРИЛОЖЕНИЙ вообще есть? Кроме изменения через анус абстрактого (не говорящем ни о каких ни временных параметрах, ни о даже относительном уровне приоритета относительно других задач ) ГРУППОВОГО уровня "приоритета". Механизмы-же той-же FreeRTOS описаны в ее документации ДЛЯ ПОЛЬЗОВАТЕЛЯ в отличие от "windows".

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...