Hardware Reference
In-Depth Information
DEVICE MANAGEMENT
In SHARK, device management is performed outside the kernel, so that the device
manager will not steal execution time from the application code. To allow precise
resource accounting, SHARK distinguishes between device drivers and device man-
agers . Device drivers are the hardware dependent part of the device management
code, implementing the routines necessary to perform low-level accesses to the de-
vices. Drivers can easily be inherited from other free operating systems (e.g., Linux)
that support most of the current PC hardware. The driver code is compiled using some
glue code, which remap the other system calls to the Generic Kernel interface.
The device manager is hardware independent and only performs device scheduling,
taking device management costs into account to provide some form of guarantee on
hardware accesses. For this purpose, the manager can be implemented as a dedicated
thread, or as an application code. If the thread is handled by server implementing
temporal protection, the first solution ensures that the device management will not
influence the other system's activities. The second solution, however, allows a better
precision in accounting the CPU time used by the device manager to the application
using the hardware resource.
12.4.3
MARTE OS
Marte OS 15 (Minimal Real-Time Operating System for Embedded Applications) is a
real-time kernel for embedded applications that follows the Minimal Real-Time Sys-
tem Profile (PSE51) defined in the POSIX.13 standard [POS03]. The services pro-
vided by the kernel have a time-bounded response, so hard real-time requirements can
be supported. It allows executing concurrent real-time applications on a bare PC and,
with some limitations, in a Linux box. MaRTE OS is distributed under a modified-
GPL free-software license.
Most of the internal code of MaRTE OS is written in Ada with some C and assembler
parts. Nonetheless, application program interfaces (APIs) for different programming
languages are provided, allowing for the development of concurrent real-time applica-
tions written in Ada, C and C++. It is even possible to mix different languages in the
same application, for instance with coexisting (and cooperating) C threads and Ada
tasks running under a coherent real-time scheduling policy.
MaRTE OS was initially designed to support embedded applications running on a bare
computer. Currently, the supported architecture is a bare PC using an 80386 processor
15 Marte OS: http://marte.unican.es/
Search WWH ::




Custom Search