Hardware Reference
In-Depth Information
Dynamic memory management. MaRTE OS uses the TLSF 16 algorithm, which
is a fast time-bounded dynamic memory allocator with low fragmentation.
Device I/O through a simplified device name space and the standard operations,
like open/close/read/write/ioctl.
In addition to the POSIX services, MaRTE OS also provides extensions that are useful
to develop advanced real-time applications:
Timed handlers, as a lightweight mechanism to define small handlers that are
executed in interrupt context at the expiration of a timer. These handlers can also
be used in conjunction with execution-time clocks.
Earliest-Deadline-First (EDF) scheduling. This is a preemptive dynamic-priority
thread dispatching policy that can be used to maximize the resource utilization in
real-time applications. It requires an implementation of the Stack Resource Pro-
tocol [Bak91] for avoiding unbounded blocking effects when accessing protected
objects.
Thread sets or groups that can be used to create clocks for measuring the execu-
tion time of a group of threads. These clocks can in turn be used to create timers
and timed handlers to implement advanced scheduling policies or to detect and
bound the effects of timing violations by a group of threads.
Interrupt management with the ability to install interrupt handlers and manage
interrupt masking. In MaRTE OS there is separate accounting for the execution
time of interrupt handlers.
Application-defined scheduling [RH01, RH04], which is a group of services in-
tended to allow an application to install its own scheduler for the OS threads. This
feature is particularly interesting for implementing advanced scheduling policies
being defined by the real-time research community.
APPLICATION-DEFINED SCHEDULING
MARTE OS allows Ada and C++ applications to define its own scheduling algorithm
[RH01, RH04] in a way compatible with the scheduler interface defined in POSIX and
in the Ada 2005 Real-Time Systems Annex. Several application-defined schedulers,
implemented as special user tasks, can coexist in the system in a predictable way.
16 TLSF: Memory Allocator for Real-Time: http://rtportal.upv.es/rtmalloc/
Search WWH ::




Custom Search