Планирование анализа систем реального времени
Термин «анализ планирования» в вычислениях в реальном времени включает анализ и тестирование системы планировщика и алгоритмов, используемых в приложениях реального времени. В информатике анализ планирования в реальном времени — это оценка, тестирование и проверка системы планирования и алгоритмов, используемых в операциях в реальном времени. Для критических операций система реального времени должна быть протестирована и проверена на работоспособность.
Система планирования в реальном времени состоит из планировщика, часов и элементов аппаратного обеспечения. В системе реального времени процесс или задача имеют возможность планирования; задачи принимаются системой реального времени и выполняются в соответствии с установленным сроком выполнения задачи в зависимости от характеристики алгоритма планирования. [1] Моделирование и оценка проблемы системы планирования в реальном времени заключается в анализе способности алгоритма уложиться в сроки процесса. Срок определяется как время, необходимое для обработки задачи.
Например, в алгоритме планирования в реальном времени крайний срок может быть установлен в пять наносекунд. В критической операции задача должна быть обработана за время, указанное в сроке (т.е. пять наносекунд). Задача в системе реального времени должна быть выполнена «ни слишком рано, ни слишком поздно;..». [2] Система называется непланируемой, если задачи не могут уложиться в указанные сроки. [3] Задачу можно классифицировать как периодический или апериодический процесс. [4]
Классификации [ править ]
Критерии реального времени можно разделить на жесткие , твердые и мягкие . Планировщик задает алгоритмы выполнения задач в заданном порядке. [4] Существует несколько математических моделей для представления системы планирования, большинство реализаций алгоритма планирования в реальном времени моделируются для реализации однопроцессорных или многопроцессорных конфигураций. Более сложный алгоритм планирования встречается в мультипроцессорах. Не всегда возможно реализовать однопроцессорный алгоритм планирования в мультипроцессоре. [4] Алгоритмы, используемые в анализе планирования, «можно классифицировать как упреждающие и невытесняющие» . [1]
Алгоритм планирования определяет, как задачи обрабатываются системой планирования. В общих чертах, в алгоритме системы планирования в реальном времени каждой задаче присваивается описание, срок выполнения и идентификатор (указывающий приоритет). Выбранный алгоритм планирования определяет, как распределяются приоритеты для конкретной задачи. Алгоритм планирования в реальном времени можно разделить на статический и динамический. Для статического планировщика приоритеты задач определяются до запуска системы. Динамический планировщик определяет приоритеты задач во время их выполнения. [4] Задачи принимаются аппаратными элементами в системе планирования реального времени из вычислительной среды и обрабатываются в режиме реального времени. Выходной сигнал указывает состояние обработки. [5] Срок выполнения задачи указывает время, установленное для выполнения каждой задачи.
Не всегда возможно уложиться в требуемый срок; следовательно, необходимо провести дальнейшую проверку алгоритма планирования. Две разные модели могут быть реализованы с использованием алгоритма динамического планирования; Крайний срок задачи может быть назначен в соответствии с приоритетом задачи (самый ранний срок) или время завершения каждой задачи назначается путем вычитания времени обработки из крайнего срока (наименьшая неточность). [4] Сроки и необходимое время выполнения задачи должны быть поняты заранее, чтобы обеспечить эффективное использование времени выполнения элементов обработки.
Тестирование и проверка [ править ]
Проверка работоспособности и выполнение алгоритма планирования в реальном времени осуществляется путем анализа времени выполнения алгоритма. Проверка производительности планировщика реального времени потребует тестирования алгоритма планирования в различных сценариях тестирования, включая время выполнения наихудшего случая . Эти сценарии тестирования включают наихудший и неблагоприятный случаи для оценки производительности алгоритма. Расчеты времени, необходимые для анализа систем планирования, требуют оценки алгоритма на уровне кода. [4]
Для тестирования системы планирования в системе реального времени можно применять различные методы. Некоторые методы включают в себя: проверки ввода/вывода и анализ кода. Один из методов — тестирование каждого входного условия и наблюдение за выходными данными. В зависимости от количества входных данных этот подход может потребовать больших усилий. Еще один более быстрый и экономичный метод — это подход, основанный на риске, при котором для тестирования выбираются репрезентативные критические входные данные. Этот метод более экономичен, но может привести к неоптимальным выводам о достоверности системы, если используется неправильный подход. Требования к повторному тестированию после внесения изменений в Систему планирования рассматриваются в каждом конкретном случае.
Тестирование и верификация систем реального времени не должны ограничиваться проверками ввода/вывода и кодов, но выполняются также при запуске приложений с использованием интрузивных или неинтрузивных методов.
См. также [ править ]
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б Люнг, Джозеф; Чжао, Хайронг (ноябрь 2005 г.). Анализ планирования в реальном времени (PDF) (Технический отчет). DOT/FAA/AR-05/27.
- ^ Лю, Чжимин; Джозеф, Матаи (17 февраля 2001 г.). «Верификация, уточнение и планирование программ реального времени». Теоретическая информатика . 253 (1): 119–152. CiteSeerX 10.1.1.50.2896 . дои : 10.1016/s0304-3975(00)00091-8 .
- ^ Сорин, Манолаче; Петру, Элеш; Зебо, Пэн (ноябрь 2004 г.). «Анализ планирования приложений со стохастическим временем выполнения задач» (PDF) . Транзакции ACM во встроенных вычислительных системах . 3 (4): 706–735. дои : 10.1145/1027794.1027797 . S2CID 17526360 . Проверено 4 декабря 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б с д и ж Одсли, Н.; Бернс, А. (1990). Планирование системы в реальном времени (PDF) (Технический отчет). Йоркский университет, Великобритания.
- ^ Кастанье, Р.; Лоренсо, П. «Тестирование систем реального времени» . 15-я Всемирная конференция по неразрушающему контролю . АИПнД . Проверено 4 декабря 2015 г.