Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IPZ_1modul.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
611.93 Кб
Скачать

25. Особливості керування процесами в системах реального часу.

Управління процесами - це вибір процесу на виконання, виділення для нього ресурсів пам'яті і процесора і запуск процесу.

Періодичними називаються процеси, які повинні виконуватися через фіксований зумовлений проміжок часу (наприклад, при зборі даних або управлінні виконавчими механізмами). Керуюча програма системи реального часу для визначення моменту запуску процесу використовує свої годинники реального часу. У більшості систем реального часу є декілька класів періодичних процесів з різними періодами (інтервалами часу між виконанням процесів) і тривалістю виконання. Керуюча програма повинна бути здатна в будь-який момент часу вибрати процес, призначений на виконання.

Годинник реального часу конфігуруються так, щоб періодично подавати тактовий сигнал, період між сигналами становить зазвичай кілька мілісекунд. Сигнал годин ініціює процес на рівні переривань, який запускає планувальник процесів для керування періодичними процесами. Процес на рівні переривань зазвичай сам не керує періодичними процесами, оскільки обробка переривань повинна завершуватися якнайшвидше.

Дії, що виконуються керуючою програмою при управлінні періодичними процесами, показані на рис. 13.5. Планувальник переглядає список періодичних процесів і вибирає з нього на виконання один процес. Вибір залежить від пріоритету процесу, періоду процесу, передбачуваної тривалості виконання і кінцевих термінів завершення процесу. Іноді за один період між тактовими сигналами годин необхідно виконати два процеси з різними тривалостями виконання. У такій ситуації один процес необхідно призупинити на час, відповідне його тривалості.

Рис. 13.5. Действия управляющей программы при запуске процесса

Якщо керуючою програмою зареєстровано переривання, це означає, що до одного з сервісів зроблений запит. Механізм переривань передає управління зумовленою комірці пам'яті, в якій міститься команда перемикання на програму обслуговування переривань. Ця програма повинна бути простою, короткою і швидко виконуватися. Під час обслуговування переривань всі інші переривання системою ігноруються. Щоб зменшити ймовірність втрати даних, час перебування системи в такому стані має бути мінімальним.

Програма, що виконує сервісну функцію, повинна перекрити доступ наступним перериваннях, щоб не перервати саму себе. Вона повинна виявити причину переривання і ініціювати процес з високим пріоритетом для обробки сигналу, що викликав переривання. У деяких системах високошвидкісного збору даних обробник переривань зберігає для подальшої обробки дані, які в момент отримання переривання знаходилися в буфері. Після обробки переривання керування знову переходить до керуючої програмою.

У будь-який момент часу може бути кілька призначених на виконання процесів з різними рівнями пріоритетів. Планувальник встановлює порядок виконання процесів. Ефективне планування відіграє важливу роль, якщо необхідно відповідати вимогам, які пред'являються до системи реального часу. Існує дві основні стратегії планування процесів.

  1. Невитисняючих планування. Один процес планується на виконання, він запускається і виконується до кінця або блокується з якихось причин, наприклад при очікуванні введення даних. При такому плануванні можуть виникнути проблеми, пов'язані з тим, що в разі декількох процесів з різними пріоритетами процес з високим пріоритетом повинен чекати завершення процесу з низьким пріоритетом.

  2. Витісняють планування. Виконання процесу може бути припинено, якщо до сервісу надійшли запити від процесів з більш високим пріоритетом. Процес з більш високим пріоритетом має перевагу перед процесом з більш низьким рівнем пріоритету, і тому йому виділяється процесор.

У рамках цих стратегій розроблено безліч різних алгоритмів планування. До них відноситься циклічне планування, при якому кожен процес виконується по черзі, і планування по швидкості, коли при першому виконанні отримують більш високий пріоритет процеси з коротким періодом виконання [64]. Кожен з алгоритмів планування має певні переваги і недоліки, проте тут ми їх розглядати не будемо.

Інформація про призначений на виконання процесі передається адміністратору ресурсів. Він виділяє для вибраного процесу необхідну пам'ять, а в багатопроцесорної системі - ще й процесор. Потім процес поміщається в "список призначень", тобто в список процесів, призначених на виконання. Коли процесор завершує виконання будь-якого процесу і стає вільним, викликається диспетчер. Він переглядає наявний список, вибирає процес, який можна виконувати на вільному процесорі, і запускає його на виконання.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]