Многопроцессорное планирование и планирование реального времени
Автор: bayarhanovaaa • Январь 31, 2022 • Лекция • 5,024 Слов (21 Страниц) • 297 Просмотры
562 ГЛАВА 10. МНОГОПРОЦЕССОРНОЕ ПЛАНИРОВАНИЕ И ПЛАНИРОВАНИЕ РЕАЛЬНОГО ВРЕМЕНИ
Планирование с предельными сроками
Большинство современных операционных систем реального времени разработаны таким образом, чтобы задания реального времени начинали работу как можно быстрее, а следовательно, особое внимание уделяют вопросам быстрой обработки прерываний и диспетчеризации заданий. На самом деле это не очень практичный критерий оценки операционной системы реального времени. Обычно приложения реального времени не так интересует абсолютная скорость выполнения заданий, как их своевременное завершение (или начало) - не слишком рано и не слишком поздно, несмотря на любые требования к ресурсам и могущие возникать конфликты, перегрузку процессора или аппаратные либо программные сбои. Отсюда следует, что система приоритетов - довольно слабый инструмент, который не может обеспечить гарантированное выполнение заданий в необходимые сроки.
Имеется ряд интересных подходов к планированию, более мощных и лучше приспособленных для работы с заданиями реального времени. Все они основаны на дополнительной информации о заданиях, которая может включать следующее.
• Время готовности. Время, когда задание становится доступным для выполнения. В повторяющемся или периодическом задании время готовности представляет собой последовательность заранее известных времен. В непериодическом задании это время может быть известно заранее, но может быть и так, что операционная система узнает его только в тот момент, когда задание станет действительно готовым к выполнению.
• Предельное время начала выполнения. Время, когда должно начаться выполнение задания.
• Предельное время завершения выполнения. Время, когда задание должно быть полностью завершено. Обычно задания реального времени имеют ограничение -либо по предельному времени начала выполнения, либо по предельному времени завершения выполнения, но не оба ограничения одновременно.
• Время выполнения. Время, необходимое заданию для полного выполнения. В некоторых случаях это время известно, а в некоторых система сама оценивает взвешенное среднее значение. В других системах планирования эта величина не используется.
• Требования к ресурсам. Множество ресурсов (отличных от процессора), требующихся заданию при его выполнении.
• Приоритет. Мера относительной важности задания. Жесткие задания реального времени имеют "абсолютный" приоритет, приводя к сбою системы при нарушении временных ограничений этих заданий. Если система продолжает работу несмотря ни на что, то как жесткие, так и мягкие задания получают относительные приоритеты, использующиеся в качестве указаний планировщику.
• Структура подзадач. Задача может быть разбита на обязательные и необязательные подзадачи. Жесткие предельные сроки при таком разделении имеют только обязательные подзадачи.
Можно показать, что для заданной стратегии вытеснения и использования либо предельного времени начала выполнения, либо предельного времени завершения при-10.2. ПЛАНИРОВАНИЕ РЕАЛЬНОГО В РЕМ ЕНИ 563 менение планирования, выбирающего для выполнения задание с наиболее ранним предельным временем, минимизирует долю заданий с нарушенными временными ограничениями [33].
Это заключение справедливо как для однопроцессорной, так и для многопроцессорной конфигураций. Еще одним критическим вопросом является вытеснение. Если определяется предельное время начала работы, то имеет смысл применение невытесняющего планирования. В этом случае желательно, чтобы задания реального времени после завершения обязательной или критической части самостоятельно блокировались, позволяя выполняться другим заданиям реального времени с предельным временем начала работы (см . рис. 10.4, б). Для системы с предельным временем завершения более подходит вытесняющая стратегия (рис. 10.4, в, г). Например, если выполняется задание Х, а задание У находится в состоянии готовности, то может возникнуть ситуация, когда единственным способом удовлетворения ограничений обоих заданий будет вытеснение Х, выполнение У до завершения и возобновление выполнения Х.
...