НИР:Планирование задач в системах реального времени — различия между версиями
Материал из Кафедра Автоматики и телемеханики
Mvk (обсуждение | вклад) |
Mvk (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
[[Файл:Две задачи, выполняемые на контроллере.png|frame|слева|Рис. 1. Две задачи, выполняемые на контроллере<br /> (Д - датчик; ИУ - исполнительное устройство).]] | [[Файл:Две задачи, выполняемые на контроллере.png|frame|слева|Рис. 1. Две задачи, выполняемые на контроллере<br /> (Д - датчик; ИУ - исполнительное устройство).]] | ||
− | Каждая <math>i</math>-я задача должна периодически формировать запросы (<math>\tau_{i,1},\,\tau_{i,2},\,...</math>), и запросу требуется время выполнения (здесь для простоты оно считается постоянным) для формирования очередного воздействия на объект (см. рис. 2). В случае отдельного процессора для каждой задачи проблем не возникает, и они выполняются, как показано на рис. 2. | + | Каждая <math>~i</math>-я задача должна периодически формировать запросы (<math>\tau_{i,1},\,\tau_{i,2},\,...</math>), и запросу требуется время выполнения (здесь для простоты оно считается постоянным) для формирования очередного воздействия на объект (см. рис. 2). В случае отдельного процессора для каждой задачи проблем не возникает, и они выполняются, как показано на рис. 2. |
[[Файл:Пример выполнения задач в случае отдельных процессоров.png|frame|слева|Рис. 2. Пример выполнения задач <math>\tau_1,\,\tau_2</math> в случае отдельных процессоров.]] | [[Файл:Пример выполнения задач в случае отдельных процессоров.png|frame|слева|Рис. 2. Пример выполнения задач <math>\tau_1,\,\tau_2</math> в случае отдельных процессоров.]] | ||
Строка 18: | Строка 18: | ||
Пусть [[НИР:Начальное смещение периодической задачи РВ|начальные смещения]] (<math>O_1,\,O_2</math>) и [[НИР:Период задачи РВ|периоды]] (<math>T_1,\,T_2</math>) менять нельзя, тогда в рамках [[НИР:Планирование с фиксированными приоритетами|ПФП]] остается лишь менять [[НИР:Приоритеты задач РВ|приоритеты]] (<math>\pi_1,\,\pi_2</math>). | Пусть [[НИР:Начальное смещение периодической задачи РВ|начальные смещения]] (<math>O_1,\,O_2</math>) и [[НИР:Период задачи РВ|периоды]] (<math>T_1,\,T_2</math>) менять нельзя, тогда в рамках [[НИР:Планирование с фиксированными приоритетами|ПФП]] остается лишь менять [[НИР:Приоритеты задач РВ|приоритеты]] (<math>\pi_1,\,\pi_2</math>). | ||
− | + | Поэтому существуют только два варианта планирования: (<math>~\pi_1</math> выше <math>~\pi_2</math>), (<math>~\pi_1</math> ниже <math>~\pi_2</math>), приводящие к двум вариантам выполнения задач (см. рис. 3). | |
{{-}} | {{-}} |
Версия 01:03, 26 декабря 2011
В системах автоматизации и управления (САиУ) для отдельного вычислительного устройства часто надо осуществлять планирование задач реального времени, что предполагает разделение процессорного времени между этими задачами при условии соблюдения ограничений реального времени.
Проблема планирования задач реального времени
Поясним проблему планирования задач реального времени на следующем примере.
Пусть на однопроцессорном контроллере в составе САиУ выполняются две задачи реального времени, обозначаемые , для двух независимых контуров управления (см. рис. 1).
Каждая -я задача должна периодически формировать запросы (), и запросу требуется время выполнения (здесь для простоты оно считается постоянным) для формирования очередного воздействия на объект (см. рис. 2). В случае отдельного процессора для каждой задачи проблем не возникает, и они выполняются, как показано на рис. 2.
Однако при общем процессоре возникает взаимовлияние.
Пусть для разделения процессорного времени между задачами применяется концепция планирования с фиксированными приоритетами (ПФП).
Пусть начальные смещения () и периоды () менять нельзя, тогда в рамках ПФП остается лишь менять приоритеты ().
Поэтому существуют только два варианта планирования: ( выше ), ( ниже ), приводящие к двум вариантам выполнения задач (см. рис. 3).
Примечания