6th RTL Workshop: Integration of Real-Time Services in User-Space Linux
Nov 2, 1997 — by LinuxDevices Staff — from the LinuxDevices Archive — viewsAmong solutions to allow sub-millisecond determinism for real-time Linux applications, the co-kernel approach is found in many products and is probably to most widely known — and used — technique. In the past few years, this approach evolved, at least in the RTAI project, towards a better integration of the co-kernel deterministic services to Linux:
- the co-kernel interfaces were brought to… user-space, allowing real-time applications to run under memory protection;
- any thread was allowed to use alternatively the two interfaces, suppressing the need for splitting the application into a Linux-based and real-time parts and for communication facilities between these two parts.
In this paper, we describe a versatile software architecture which, in our view, is the next step towards the seamless integration of real-time to the Linux user-space. Based on the Adeos technology, it improves:
- the determinism of a real-time task calling Linux services, by preventing events of lower priority from causing any disturbance;
- the integration of the two application programming interfaces, by redirecting Linux system calls to their real-time counterpart.
We present the mechanisms used to achieve these goals and that are included in a deterministic intensive computing (DIC) domain: interrupt dispatch control, thread management, services integration, system call handling mechanism. The integration of these real-time services in the POSIX API is also discussed. Finally, performance results for different architectures are presented.
Read full paper (PDF download)
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.