Information Technology Reference
In-Depth Information
task or an external input is serviced in the system (Na'Cul & Givargis, 1997). In a
system with cyclic tasks and different task priorities, the response time determines
the wait time of the tasks until they are granted access to the processor and put into a
running state.
The response time for an embedded system usually will include three components,
and the sum of these three components is the overall response time of the embedded
system. 13
The components are:
1. The time between when a physical interrupt occurs and when the interrupt
service routine begins. This is commonly known as the interrupt latency or the
hardware interrupt latency
2. The time between when the interrupt service routine begins to run and when
the operating system switches the tasks to the interrupt service thread (IST)
that services the interrupt, known as scheduling latency
3. The time required for the high-priority interrupt to perform its tasks. This period
is the easiest to control
Almost all real time operating systems employ a priority-based preemptive sched-
uler. 14 This exists despite the fact that real-time systems vary in their requirements.
Although there are good reasons to use priority-based preemption in some applica-
tions, preemption also creates several problems for embedded software developers as
well. For example, preemption creates excess complexity when the application is not
well suited to being coded as a set of tasks that can preempt each other and may result
in system failures. However, preemption is beneficial to task responsiveness. This
is because a preemptive priority-based scheduler treats software tasks as hardware
treats an Interrupt Service Routine (ISR). This means that as soon as the highest
priority task ISR is ready to use the central processing unit (CPU), the scheduler
(interrupt controller) makes it so. Thus, the latency in response time for the highest
priority-ready task is minimized to the context switch time.
Specifically, most real-time operating systems use a fixed-priority preemptive
system in which schedulability analysis is used to determine whether a set of tasks
are guaranteed to meet their deadlines (Davis et al., 2008). A schedulability test
is considered sufficient if all task-sets deemed to be schedulable by the test are,
in fact, schedulable. A schedulability test is considered necessary if all task sets
that are considered unschedulable actually are. Tests that are both sufficient and
necessary are considered to be exact. Efficient exact schedulability tests are required
for the admission of applications to dynamic systems at the runtime and the design
of complex real-time systems. One of the most common fixed-priority assignments
follows the rate monotonic algorithm (RMA). This is where the tasks' priorities are
ordered based on activation rates. This means that the task with the shortest period
has the highest priority.
13 www.tmworld.com/article/CA1187159.html
14 http://www.embedded.com/columns/technicalinsights/192701173? requestid
=
343970
Search WWH ::




Custom Search