Spec-Zone.ru › Ada 2012
Справочник Ada 2012

Точность задержки

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

Динамическая семантика

Эффект заявления о задержке для Real_Time.Time определяется в терминах Real_Time.Clock:
  • Если C1 — значение Clock, считанное до того, как задача выполняет заявление о относительной задержке с длительностью D, и C2 — значение Clock, считанное после того, как задача возобновляет выполнение после этого заявления о задержке, то C2 – C1 >= D.
  • Если C — значение Clock, считанное после того, как задача возобновляет выполнение после заявления о задержке до со значением Real_Time.Time T, то C >= T.
Простое заявление о задержке со значением времени истечения, равным отрицательному или нулю, не приводит к блокированию вызывающей задачи; тем не менее, это потенциально блокирующая операция (см. 9.5.1).
Когда заявление о задержке появляется в альтернативе задержки вызова ввода-вывода, попытка выбора вызова ввода-вывода предпринимается независимо от указанного времени истечения. Когда заявление о задержке появляется в альтернативе выбора, и вызов помещен в очередь на одном из открытых вводов-выводов, выбор этого вызова ввода-вывода продолжается независимо от значения выражения задержки.

Требования к документации

Реализация должна документировать минимальное значение выражения задержки заявления о относительной задержке, которое приводит к фактическому блокированию задачи.
Реализация должна документировать минимальную разницу между значением выражения задержки заявления о задержке до и значением Real_Time.Clock, которая приводит к фактическому блокированию задачи.

Метрики

Реализация должна документировать следующие метрики:
  • Верхняя граница времени выполнения, в циклах процессорного такта, заявления о относительной задержке, значение выражения задержки которого меньше или равно нулю.
  • Верхняя граница времени выполнения, в циклах процессорного такта, заявления о задержке до, значение выражения задержки которого меньше или равно значению Real_Time.Clock в момент выполнения оператора. Аналогично для Calendar.Clock.
  • Верхняя граница опоздания заявления о относительной задержке для положительного значения выражения задержки в ситуации, когда задача имеет достаточный приоритет для прерывания процессора, как только она станет готовой, и не должна ждать других ресурсов выполнения. Верхняя граница выражается как функция от значения выражения задержки. Опоздание получается путем вычитания значения выражения задержки из фактической длительности. Фактическая длительность измеряется от момента непосредственно перед выполнением задачи заявление о задержке до момента непосредственно после того, как задача возобновит выполнение после этого оператора.
  • Верхняя граница опоздания заявления о задержке до в ситуации, когда значение запрошенного времени истечения наступает после того, как задача начинает выполнение оператора, задача имеет достаточный приоритет для прерывания процессора, как только она станет готовой, и она не должна ждать других ресурсов выполнения. Верхняя граница выражается как функция от разницы между запрошенным временем истечения и значением значения часов в момент начала выполнения оператора. Опоздание заявления о задержке до получается путем вычитания запрошенного времени истечения из реального времени, когда задача возобновляет выполнение после этого оператора.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API