This is Stand-ALone RTLinux version 2.0 Copyright (c) OCERA (IST-35102) Consortium. July 2003 Licensed under the terms of the GPL Version 2.0 Author: Vicente Esteve Lloret (vesteve@disca.upv.es) How standard RTLinux works? RTLinux is a executive developped to work jointly with Linux. RTLinux takes the control of the real-time critical hardware devices (timers, interrupt controller and interrupt management processor instructions) while leaving to Linux the control of the rest of the system (device drivers, memory management, etc.). RTLinux is implemented as a modification (patch) of the Linux kernel, which intercepts the low level devices, and a set of modules that provide the API. RTLinux code takes the control of the system once Linux has booted the system. What is Stand-Alone RTLinux? Stand-Alone RTLinux will be a Linux independent implementation of RTLinux. Stand-Alone RTLinux will be a bootable executive with the following main features: * Low memory overhead. The core systems contains only following modules: the code of RTLinux, the minimum code needed to boot the system and basic virtual memory management. * Scalability. Users will be able to customize RTLinux funcionalities to reduce kernel memory usage. * Porting will be possible to systems without hardware for virtual memory support. Therefore, Stand-Alone RTLinux could be ported to a wider range of architectures. * Less TLB and memory cache misses (or none at all, if paging is not activated) since only real-time applications are being executed. * We are not longer limited by the Linux memory manager. Standard RTLinux memory management relays completely on the Linux so it is not possible to implement custom virtual memory management algorithms. Stand-Alone RTLinux has full control of the MMU. Current implementation provides three different memory schemes: 1.- Non protected memory. RTLinux executive and application can read and write at any memory location. 2.- Simple memory protection. The application can not write into the RTLinux executive memory space, and null pointers are catched. 3.- Context memory protection: Several applications (each application can run one or more threads) are executed in a protected memory space. Each aplication can read and write its own data but only read system and other applications code and data. Legal issues: This code is licensed under the terms of the GPL version 2.0. Most of the code is derived from the original RTLinux v3.1 code but the interrupt management and the booting system are new. As far as the authors know, this code do not contain patented code. That is, although derived from RTLinux code, Stand-Alone RTLinux do not make use of the U.S. Patent No. 5,995,745 process. RTLinux/GPL: http://www.rtlinux-gpl.org OCERA: http://www.ocera.org This porting is part of the European project "Open Components For Embeded Real-Time Applications" (OCERA), IST-35102. Developed at the Universidad Politécnica de Valencia (UPVLC). Project manager: Alfons Crespo Parner manager: Ismael Ripoll