Планирование в системах реального времени

Системы реального времени относятся к тому разряду систем, в которых время играет очень важную роль. Обычно одно или несколько физических устройств, не имеющих отношения к компьютеру, генерируют входные сигналы, а компьютер в определенный промежуток времени должен соответствующим образом на них реагировать.
К примеру, компьютер в проигрывателе компакт-дисков получает биты от привода и должен превращать их в музыку за очень короткий промежуток времени. Если вычисления занимают слишком много времени, музыка приобретет довольно странное звучание. Другими системами реального времени являются система отслеживания параметров пациента в палате интенсивной терапии, автопилот воздушного судна, устройство управления промышленными роботами на автоматизированном предприятии. Во всех этих случаях получение верного результата, но с запозданием, зачастую так же неприемлемо, как и неполучение его вообще.

Системы реального времени обычно делятся на жесткие системы реального времени (системы жесткого реального времени), в которых соблюдение крайних сроков обязательно, и гибкие системы реального времени (системы мягкого реального времени), в которых нерегулярные несоблюдения крайних сроков нежелательны, но вполне допустимы. В обоих случаях режим реального времени достигается за счет разделения программы на несколько процессов, поведение каждого из которых вполне предсказуемо и заранее известно. Эти процессы являются, как правило, быстротечными и способными успешно завершить свою работу за секунду. При обнаружении внешнего события планировщик должен так спланировать работу процессов, чтобы были соблюдены все крайние сроки.

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

Например, если происходит т периодических событий, событие I возникает с периодом Р и для обработки каждого события требуется С секунд процессорного времени, то поступающая информация может быть обработана только в том случае, если

т С

Х§^1.

1=1 Ч

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

В качестве примера рассмотрим гибкую систему реального времени с тремя периодическими событиями с периодами 100, 200 и 500 мс соответственно. Если на обработку каждого из этих событий требуется, соответственно, 50, 30 и 100 мс процессорного времени, работа системы может быть спланирована, поскольку 0,5 + 0,15 + 0,2 < 1. Если будет добавлено четвертое событие с периодом 1 с, то система будет сохранять планируемость до тех пор, пока на обработку этого события не потребуется более 150 мс процессорного времени. В этом вычислении подразумевается, что издержки на переключение контекста настолько малы, что ими можно пренебречь.

Алгоритмы планирования работы систем реального времени могут быть статическими или динамическими. Первый из них предусматривает принятие решений по планированию еще до запуска системы, а второй — их принятие в реальном времени, после того как начнется выполнение программы. Статическое планирование работает только при условии предварительного обладания достоверной информацией о выполняемой работе и о крайних сроках, которые нужно соблюсти. Алгоритмы динамического планирования подобных ограничений не имеют. Изучение конкретных алгоритмов мы отложим до главы 7, где будут рассмотрены мультимедийные системы реального времени.

2.4.5.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Планирование в системах реального времени:

  1. Управление временем «Нам некогда делать это как следует - у нас хватает времени лишь на то, чтобы потом все переделывать».
  2. Планирование телепередач
  3. Планирование, а не планы
  4. 11. КРИМИНАЛИСТИЧЕСКИЕ ВЕРСИИ И ПЛАНИРОВАНИЕ РАССЛЕДОВАНИЯ
  5. 10.2. Планирование и организация следственных действий
  6. § 2. ПЛАНИРОВАНИЕ И СОДЕРЖАНИЕ НАБЛЮДЕНИЯ
  7. 5.4. Планирование упражнений
  8. Искусство планирования спонтанного
  9. 5.9. Планирование социальных контактов
  10. 5.2.9. Планирование сроков достижения уже определённой цели
  11. Статья 437. Планирование, подготовка, развязывание и ведение агрессивной войны
  12. Линия времени "во времени"
  13. 11.3. Понятие и основные принципы планирования расследования в зависимости от исходной информации (следственной ситуации)