Realtime Linux Evaluation Kalynnda Berens GRC Kalynnda Berensgrc
Real-time Linux Evaluation Kalynnda Berens, GRC Kalynnda. Berens@grc. nasa. gov 1
Definitions • Embedded System - A combination of hardware and software which together form a component of a larger machine. An embedded system is designed to run on its own without human intervention, and may be required to respond to events in real time. • Real-time OS - an operating system that provides a required level of service in a bounded response time – Hard real-time – absolute deadlines that must be met – Soft real-time – time tolerance within which an event can occur 2
What is Linux? • Unix “clone”, first created in 1992 by Linus Torvalds • Open source operating system • Commonly used in server environment, now used in desktops and embedded systems • Not useful for real-time systems because: – – Fairness scheduling, with limited priority scheduling Unpredictable, sometimes high latency Non-deterministic behavior Coarse timing resolution 3
Real-Time Linux • Modifications or extensions to standard Linux to allow soft or hard real-time applications to meet timing constraints. • One approach uses a separate real-time “kernel” that runs Linux as the lowest priority task. • Another approach modifies standard Linux for preemptibility, latency, timing, and/or scheduling. • Both open source and commercial versions are available. 4
Real-time Linux Projects • Flight Linux-a customized copy of a standard Linux distribution, adapted to the unique environment of a spacecraft embedded control computer. • STS-83 experiment used Debian GNU/Linux. • RACSI - the remote Automatic Transfer Vehicle (ATV) control at ISS. • GOAS - Ground Operator Assistant System for the rendezvous operations of ATV. • PLATINO numerical control • i. Arte - Industrial Automation Real Time Environment • FAA Level C certified flight simulator • Cascade – a RTLinux based GPS receiver 5
Independent Kernel Variants Linux Process User Space Kernel Space Real-Time Task Standard Linux Kernel Real-Time Micro Kernel Hardware 6
Kernel Modification Variants Linux Process Real-time Process User Space Kernel Space Modified Linux Kernel Preemptible, Micro Timing, and/or Low Latency Loadable Module Hardware 7
Real-time Linux Variants RTAI (Real-time Kernel, User space hard real-time (LXRT) Open source RT-Linux Kernel Commercial, open source On. Core OS Separate RTOS Commercial KURT (Kansas Modified Open source Modified Commercial Application Interface) University Realtime) Hard. Hat 8
Testing Real-Time Linux • Requirements derived from – Vx. Works 5. 4 Test plan, MSFC – Vx. Works AE Test plan, GRC – RTOS properties • Specific test scenarios will be derived from the requirements, plus… – Variant-specific attributes – Known errors, defects, etc. – Results of static analysis (open source) 9
Test Plan Vx. Works 5. 4 Vx. Works AE RTOS Testing Linux RTOS Test Plan Variant Specific Errors Specific Linux RTOS Test Plans Static Analysis 10
Tools • • • Linux Trace Toolkit Dynamic Probes k. GDB (kernel debugger) Linux Kernel Crash Dump Linux Test Project LMBench Ballista strace System Call Tracker 11
Requirements • Scheduling • Hardware Interface • Communication and Synchronization • Memory Management • Task Management • Timing • Configuration • External Communications • Error Reporting • Embedded Features • File system • Reliability 12
Error Catalog 13
Test Setup Development System (Mandrake 8. 1 Linux) Ethernet Connection Embedded Power. PC Embedded Pentium PC/104 14
Future Work • • • Static analysis of open source variants Completion of variant-specific test plans Test scenario creation Test procedures for each scenario Testing on embedded hardware Test results and report 15
- Slides: 15