Real Time Terms

Revision as of 15:25, 7 June 2007 by Tim Bird (Talk | contribs) (add page from CELF RT spec)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following terms were copied from the Terminology section of the Realtime Technologies Specification of the CELF. See

Context switch 
the act of replacing the running task A by another task B. The state of task A is saved, and A is placed in the ready queue; the state of task B is restored, and B becomes a running task.
Critical section 
a brief interval during which a task accesses shared data. During this interval, no other tasks are allowed to access the same data. One way of ensuring this is to prevent preemption during the critical section. If the critical section defers preemption for a bounded interval, the resulting priority inversion is bounded.
Deadline-monotonic priority setting 
the task with the shortest relative deadline is assigned the highest priority.
Deadline requirement 
a real-time requirement that requires the response to be completed within a fixed time interval from the triggering event. A relative deadline is the duration of the above mentioned interval; an absolute deadline is the moment in time at which the response must be completed.
Fixed priority preemptive scheduling 
the task with the highest priority is always running. If a task with a higher priority becomes runnable, the running task will be preempted immediately. The priority of a task, process or Interrupt Service Routine (ISR) is explicitly determined at creation, or by an explicit set-priority command. No implicit priority changes by the scheduler are assumed. For an exception to this rule see Priority inheritance.
Note: Fixed priority scheduling is typically designed to be used for a single coherent application. 
the time range of a certain interval. We can talk about the granularity of a timing requirement, of a non-interruptible code segment, etc.
Hard deadline requirement 
missing the deadline is considered an error.
Hard real-time system 
system with hard real-time requirements.
Hybrid real-time system 
system with both hard and soft real-time requirements. CE systems are expected to be of this kind. The challenge in designing a hybrid real-time system is to get good soft real-time performance while meeting the hard real-time requirements. This is typically achieved by using a technique called reservation.
Interrupt latency 
time passed between interrupt occurrence and activation of interrupt handler.
Interrupt masking 
Making certain interrupts invisible to the software.
Interrupt response time (worst-case) 
(worst-case) time passed between interrupt occurrence and either completion of interrupt service routine (ISR) or wake up of dependent task.
Jitter – absolute 
deviation of the occurrence of an event (e.g. completion of frame) from expected occurrence.
Jitter – relative 
deviation of the interval between two successive occurrences of an event (e.g. completion of frame) from expected interval.
Mutual exclusion 
prevent multiple tasks or ISRs from accessing the same data
concurrently. Mutual exclusion is used to protect the integrity of the data. 
a running thread or process can be temporarily suspended. The state of the thread or process (including e.g., program counter, and register values) is saved. Until the thread is resumed, it remains runnable (active, ready). When the process or thread is later resumed, the saved state is restored.
Priority inheritance 
if a high priority-task blocks for a critical section, a low-priority task that has holds the lock for the section gets a priority boost. It inherits the priority of the blocked task. This prevents the unbounded priority inversion that could occur if medium priority tasks would preempt the lower-priority task that holds the lock. Note that, with priority inheritance, the medium-priority tasks suffer priority inversion as well. But, and this is important in real-time systems, the priority inversion for all tasks is bounded (can be determined without knowing the exact run-time schedule)
Priority inversion 
the highest priority task is not running. There can be several reasons for priority inversion. One of them is the absence of full preemption. Priority inversion is one of the main reasons for deadlines being missed.
Real-time requirement 
a requirement on the completion time of a response, generally measured relative to the event that triggered the response.
Real-time system 
system with one or more real-time requirements.
Response time (worst-case) 
(worst-case) time passed between event occurrence
and completion of the response to that event. The event may be an interrupt.
The response typically involves an interrupt handler and one or more synchronized tasks. 
Runnable task 
(also ready/active task) a task that can run from a logical perspective, but is prevented from running physically.
a synchronization primitive often used to achieve mutual exclusion.
Soft deadline 
missing deadlines is sometimes acceptable. Compared to hard
deadlines, where there is no reason to consider the value of a late result,
the value of a late result for a soft deadline is of interest.  The value of
the result may, for instance, decrease linearly after the deadline. 
Soft real-time requirement 
soft deadline, or average-case response time requirement.
Note that hard and soft real-time requirements are orthogonal to the temporal granularity
that is required. Meeting a soft requirement in the microsecond domain may be more difficult
than meeting a hard requirement in the milliseconds domain. 
Soft real-time system 
system with soft real-time requirements