A "Bare-Machine" Implementation of Ada Multi-tasking Beneath the Linux Kernel
نویسندگان
چکیده
An Ada tasking kernel is implemented as a layer beneath the Linux operating system. This provides low overhead and precise control of execution timing for real-time Ada tasks, which execute within the Linux kernel address space, while allowing the Linux operating system to execute non-real-time tasks in the background. The Ada tasking kernel is derived from Yodaiken's Real-Time Linux kernel, with new scheduling and synchronization primitives speciically to support the GNAT Ada runtime system. Implementing the Ada tasking primitives directly on the hardware does not just lower execution overhead and improve control over execution timing; it also opens the door for a simple restricted-tasking runtime system that could be certiied for safety-critical applications .
منابع مشابه
ARTK-M2: a Kernel for Ada Tasking Requirements: an Implementation and an Automatic Generator
A run-time kernel, ARTK-M2, supporting Ada tasking semantics is discussed; full support for task creation, synchronization, communication, scheduling, and termination is provided, together with all options of the Ada rendezvous. An implementation in Modula-2 is presented and a method for automatically translating Ada programs into semantically equivalent Modula-2 programs with corresponding ker...
متن کاملBare PC SIP User Agent Implementation and Performance for Secure VoIP
Bare PC systems, which run applications without using any operating system (OS) or kernel, are immune to attacks targeting a specific OS. They also perform better than conventional systems due to their reduced overhead. We describe the design, implementation and performance of a SIP user agent (UA) for secure VoIP on a bare PC system. In particular, we discuss SIP functions and message handling...
متن کاملReal-Time Programming with GNAT: Specialised Kernels versus POSIX Threads1
The fact that most of the GNAT ports are based on non real-time operating systems leads to a reduced usability for developing real-time systems. Otherwise, existing ports over real-time operating systems are excesively complex, since GNAT uses only a reduced set of their functionality, and with a very specific semantic. This paper describes the implementation of a low-level tasking support for ...
متن کاملGnat/ork: an Open Cross-development Environment for Embedded Ravenscar–ada Software
Ada tasking is a powerful abstraction mechanism for developing concurrent embedded systems. However, many implementations of concurrent tasking have been seen as potentially unsafe for critical systems because of their high degree of indeterminism. The Ravenscar profile is a subset of Ada 95 tasking with purpose of providing a basis for the implementation of certifiable critical systems. ORK is...
متن کاملEfficient Implementation of the bare-metal Hypervisor MetalSVM for the SCC
The focus of this paper is the efficient implementation of our compact operating system kernel as a bare-metal hypervisor for the SCC. We describe source, functionality, and the operation of our kernel, as well as the interaction with the already published communication layer. Furthermore we give a detailed insight into the boot procedure of the SCC from reset to the starting point of our light...
متن کامل