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 the GNAT run-time. In order to achieve a predictable real-time behaviour we have developed a very simple library, built to fit only the GNAT tasking requirements. We have also designed a bare machine kernel which provides the minimum environment needed by the upper layers.
منابع مشابه
A Proposal to Integrate the POSIX Execution-Time Clocks into Ada 95
In this paper we present a proposal to integrate the POSIX.1 executiontime clocks and execution-time timers into the Ada 95 language. This proposal defines a new package named Ada.CPU Time and describes the modifications done to the GNAT front-end and run-time to support it. Additionally this proposal discusses some usage schemes of this new interface.
متن کاملSupporting Ada 95 Passive Partitions in a Distributed Environment
Ada 95 passive partitions, containing passive library units, provide the means to distribute data within a network of workstations. This paper shows how passive partitions can be implemented via distributed shared virtual memory (DSM). DSM provides the logical view of a portion of memory shared between physically distributed workstations within a network. In this paper, we relate design issues ...
متن کاملReimplementing a Multiprocess Distributed Paradigm for Real - Time Systems
A specification/generation software tool for building hard real-time distributed systems was redeveloped to generate Ada 95 rather that Ada 83 and targeted to the GNAT Ada 95 compiler under Sun Solaris. The resulting simulator was tested with missile flight simulation code. Language issues discovered and paradigms used are discussed with recommendations in the paper. Performance data is
متن کاملReal-time 3D Video Processing Using Multi-stream GPU Parallel Computing
This work presents a real-time video processing algorithm for 3D scenes using a graphics processor. The processing is based on parallel computing using concurrent kernels. The proposed algorithm processes individual pixels of each pair of input stereo images to obtain an anaglyph image for each frame. To reduce the computational time, a concurrent kernel implementation using POSIX threads and C...
متن کاملA Survey and Comparison of Concurrency and Real-Time Programming Support in Java, Ada, and Posix
Unlike sequential programming, the debate over whose programming language support was largely settled in the Structured Programming revolution of the early 1970s, concurrency and especially real-time programming remain subjects that elicit considerable controversy. Different languages have taken different approaches; some languages ignore the matter, believing that these topics are more in the ...
متن کامل