SA-RTL : Stand-Alone RTLinux
[
SA-RTL] 是個相當特別的 Realtime Linux 實做,衍生自著名的 RTLinux (知名處不僅是 Realtime 技術,也有 FSMLabs 的 patent)。不同於 RTLinux 以 Linux kernel patch 的形式散佈,[
SA-RTL] 本身就是具體而微的 RTOS,能夠支援 RTLinux v3 大多數的 POSIX 1003.13 Realtime API,其特性如下:
- 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 since only real-time applications are being executed.
- One problem of RTLinux is the use kernel modules or applications that execute directly interrupt management processor instructions (cli and sti), for example, some xfree86 drivers disable interrupts or lock the PCI bus for long time periods. Stand-Alone RTLinux removes this problem since the target system will be compiled to a single static and bootable kernel.
- 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.
詳情可參考論文 [
Stand-Alone RTLinux-GPL]。最後更新的版本是 2.2-pre2,包含以下重要元件:
- Fixed priority scheduler
- periodic and one-shot timer
- IPC mechanisms: Semaphores, Mutexes, Condition variables, Barriers (POSIX standard), and Signals
- GDB Agent
- Tracer
- SA-RTL executive memory protection / allocator (TLSF)
- context memory protection
- POSIX I/O Device
我在 hacking 的過程中,對 [
SA-RTL] 2.2-pre2 做了修改,可 [
在此取得]。在 source tree 中還包含了 MicroWindows 的移植與 i386、ARM (SA1110)、Xeno,以及 [
XtratuM] 架構的支援,其中 [
XtratuM] 是相當特別的 nano-kernel / pico-kernel,[
SA-RTL] 與其組合可帶來相當的 virtualization 彈性與效能,並且也可避開 FSMLabs 的 patent。
就作業系統設計的角度來說,當 Microkernel 由 CMU Mach 演化為嶄新的 L4 microkernel,其他研究團隊在 realtime 發展提出 nanokernel 與 MIT Exokernel 等新架構,而較傳統的設計中,也陸續因應更嚴苛的挑戰與彈性需求,出現 Resource kernel 等折衷架構,Linux kernel 作為這巨大變動環境中的成功的傳統架構,在銜接新架構的同時,引入許多途徑,[
SA-RTL] 就是一個很好的例子。
由 jserv 發表於 February 16, 2006 01:06 AM