Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gos_2012_priborostroenie_(6,7,8).doc
Скачиваний:
6
Добавлен:
04.08.2019
Размер:
111.1 Кб
Скачать

Буферизация сообщений.

При отправке запросов Xlib с целью увеличения производительности осуществляет их буферизацию. Т.е вместо того чтобы каждый раз ожидать освобождения сети для отсылки следующего запроса, клиент формирует группы, для того чтобы отправить их в дальнейшем. Это возможно благодаря тому, что, как уже говорилось, не каждый запрос требует ответа. Отсылка запросов группами уменьшает накладные расходы на передачи пакетов по сети. Клиент отсылает буфер заполненный запросами в сторону сервера в следующих 3 случаях:

  • приложение ожидает события, а его еще нет в буфере событий

  • запрос требует ответа

  • принудительно по желанию приложения (полезно, например, для игр, где картинка на экране должна меняться и без действий пользователя)

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

Системы реального времени. Общие понятия. Крайние сроки. Мягкие и жесткие системы. Области применения систем реального времени.

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

Параметры RTS:

  • Количество типов событий. Чем больше эта величина, тем сложнее СРВ

  • Поведение событий во времени (периодические, непериодические)

  • Крайние сроки обработки событий (понятие "крайнего срока" будет введено позднее)

Области применения СРВ:

  • Системы управления технологическими процессами (например, управление реакторами на атомнымых электростанциях, переработка различных материалов/сырья и т.п.)

  • Системы медицинского мониторинга и жизнеобеспечения

  • Военные системы (системы наведения, разведки и пр.)

  • Робототехника (например, конвейерная сборочная линия)

  • Подсистемы транспортных средств (антиблокировка тормозов, управление зажиганием, автопилоты на самолетах)

  • Системы сбора данных в научных исследованиях

  • Системы охранной сигнализации

Общие понятия. Крайние сроки.

Как уже говорилось, СРВ - это программно-аппаратный комплекс, осуществляющий мониторинг какого-то объекта и/или управление им в условиях временных ограничений. Возникающие на объекте события подлежат обработке в СРВ. Будем сопоставлять каждому типу события задачу.

Определение. ЗАДАЧА (TASK) - блок программного кода, ответственный за обработку тех или иных событий, возникающих на объекте управления.

Задача может быть "оформлена" в виде:

  • Отдельного процесса

  • Потока управления внутри процесса (нити, легковесного процесса)

  • Обработчика прерывания/подпрограммы

Определение. РАБОТА ЗАДАЧИ (JOB) - процесс исполнения блока программного кода в ходе обработки события.

Аналогия...

Каждая работа задачи характеризуется следующими временными параметрами:

  • r (Release Time) - момент времени, когда возникает необходимость в передаче управления задаче; можно считать, что это момент события.

  • d (Absolute Deadline) - абсолютный крайний срок, момент времени, к которому задача должна завершить очередную работу.

  • s (Start Time) - момент времени, когда задача начала исполняться на процессоре

  • с (Complition Time) - момент времени, когда задача закончила работу, обработав событие

  • D (Relative Deadline) - относительный крайний срок. D = d - r

  • e (Execution Time) - время исполнения задачи при выполнении ею очередной работы. e = c - s

  • R (Response Time) - время отклика. R = c - r

Диаграмма ниже иллюстрирует эти параметры:

r s c d

* --------------- |

| | | |

| | | *

-+---+---+---+---+---+---+---+---+---+---+---+---+---+----> t (у.е.)

0 1 2 3 4 5 6 7 8 9 10 11 12 13

Приведенная на этой диаграмме работа задачи имеет следующие параметры:

  • r = 2

  • d = 11

  • s = 5

  • с = 9

  • D = 11 - 2 = 9

  • e = 9 - 5 = 4

  • R = 9 -2 = 7

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

Первый заключается в подсчете количества тактов процессора, необходимых на выполнение той или иной задачи. Такой подсчет чрезвычайно усложняется в случае, если процессор содержит механизмы типа конвейеров и всевозможных кэшей.

Второй подход более прост и состоит в том, что времена исполнения непосредственно измеряются. Однако, в случае процессоров с конвейерами и кэшами такие измерения не дают гарантии, что будет измерено именно МАКСИМАЛЬНОЕ время исполнения того или иного кода (надо внимательно прочитать и осознать почему). Наконец, системы, использующие механизмы подкачки страниц, также являются менее предсказуемыми и поэтому считается, что такого рода механизмы являются "врагами" систем реального времени. Недаром в различного рода стандартах, касающихся СРВ, предусмотрены средства блокировки страниц памяти.

Определение. Крайний срок называется ЖЕСТКИМ (HARD), если он ОБЯЗАН быть соблюден, при этом в системе должна существовать возможность проверки того, был ли соблюден крайний срок или нет. Несоблюдение такого крайнего срока ведет к катастрофическим последствиям (авария, гибель людей и т.п.)

Определение. Крайний срок называется МЯГКИМ (SOFT), если _иногда_ его допустимо не соблюдать. Несоблюдение такого крайнего срока не ведет к катастрофическим последствиям, а лишь к некоторому снижению производительности, ухудшению качества обслуживания, повышению стоимости результатов, бесполезной трате времени и т.п.

Для количественного выражения "иногда" используют или вероятностный подход ("допустимо несоблюдение крайнего срока в 5% случаях"), или подход, основанный на введении т.наз. "функции полезности". При этом, если полезность завершения работы после крайнего срока обращается в нуль, мягкий крайний срок называют ЧЕТКИМ.

Определение. Система реального времени называется ЖЕСТКОЙ, если все крайние сроки, характеризующие эту систему - жесткие.

Примерами таких систем могут служить системы управления ядерными реакторами на атомных электростанциях, системы автопилотирования на самолетах и т.п.

Определение. Система реального времени называется МЯГКОЙ, если хотя бы один из крайних сроков, характеризующих эту систему, является мягким.

В качестве примеров такого рода можно привести системы мультимедиа, системы связи (например, сотовой) и т.п. Отметим также, что иногда мягкие системы называют ГИБКИМИ.

Области применения СРВ:

  • Системы управления технологическими процессами (например, управление реакторами на атомнымых электростанциях, переработка различных материалов/сырья и т.п.)

  • Системы медицинского мониторинга и жизнеобеспечения

  • Военные системы (системы наведения, разведки и пр.)

  • Робототехника (например, конвейерная сборочная линия)

  • Подсистемы транспортных средств (антиблокировка тормозов, управление зажиганием, автопилоты на самолетах)

  • Системы сбора данных в научных исследованиях

  • Системы охранной сигнализации

Примеры

  • робот на конвейере

  • самолет (система автоматического пилотирования)

  • корабль (...)

  • очередь в магазине

  • мультимедиа-приложения, DSP

  • сеть, системы связи (например, сотовой)

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