Download presentation
Presentation is loading. Please wait.
Published bySybil Benson Modified over 5 years ago
1
Wombat: A Portable User-Mode Linux for Embedded Systems
Jiyong Park Real-Time Operating Systems Laboratory, Seoul National University, Korea
2
Reference Paper Ben Leslie, Carl van Schaik, and Gernot Heiser, “Wombat: A Portable User-Mode Linux for Embedded Systems,” Proceedings of the 6th Linux Conference, April 2005
3
Motivation Provide Linux APIs to embedded programmers
Linux is not suitable for embedded systems It does not support hard real-time. It is not highly robust. It has big trusted computing base (TCB). Proprietary firmware are subject to GPL. But, Linux supports many useful legacy applications. Solution Wombat: User-mode Linux on top of micro kernel
4
Wombat: Australian marsupial
What is Wombat? Linux kernel modified to run on top of L4/Iguana Very similar to L4Linux Key mechanisms are exactly the same. I will not explain them again. Key differences Wombat: run on top of Iguana L4Linux: run on top of L4 directly Wombat: developed by NICTA L4Linux: developed by DUT Wombat: Australian marsupial
5
Relationship Between Wombat and Iguana
Real-time applications are managed by Iguana Non real-time Linux tasks are managed by Wombat Wombat itself is managed by Iguana Untrusted Legacy Applications Wombat Linux Server Real-time Applications Similar to RTLinux managed by Iguana L4 Hardware
6
Benefits of Using Iguana
Real-time Real-time tasks and non real-time Linux tasks can run on the same machine. Robust Real-time tasks are isolated with the fault or crash at Linux world. Linux server can be upgraded on-the-fly. TCB TCB is small (L4 + Iguana). GPL Firmware are free from GPL.
7
Structure of Wombat Wombat server Linux processes Compatibility mode
Native mode Address space Protection domain L4 thread Compatibility mode Linux process Real-time tasks Iguana Servers Real-time tasks Interrupt threads Bottom half thread Main thread Wombat server Native mode Linux process Iguana Server Real-time tasks
8
Native and Compatibility Modes
Native mode Linux processes Run inside the shared address space (similar to uClinux) Can use Iguana services Can communicate with real-time tasks Context switching and communication are fast Address space model is different with conventional Linux processes Compatibility mode Linux processes Full binary Linux compatibility Can not use Iguana services Can not communicate with real-time tasks Context switching and communication is slow
9
Mechanisms of Wombat System call handling, exception handling, scheduling, and etc. are the same as L4Linux.
10
Performance – System Call
Null system call Linux: us Wombat: 1.38 us UML: 8.99 us Pipe system call Linux: 5.05 us Wombat: 8.83 us UML: 66.8 us UML processes UML Linux processes Linux UML: User-Mode Linux
11
Performance – Context Switch
Context switching time of Wombat is very close to that of Linux. Number of active processes Context switching time(us) UML with 16k cache UML with 0k cache Linux, Wombat with 16k cache Linux, Wombat with 0k cache 2.8GHz
12
Performance – Use of FASS
L4-embedded supports FASS on ARM processor. Linux currently does not support FASS on ARM. So, Wombat achieves better performance than Linux. Latencies Linux Wombat Rel. lat_ctx -s 0 2 190.8 6.48 29.44 lat_ctx -s 0 3 197.1 18.82 10.47 lat_ctx -s 0 4 199.5 19.78 10.09 lat_ctx -s 0 10 215.7 44.07 4.89 lat_ctx -s 4 2 257.7 7.15 36.04 lat_ctx -s 4 3 259.3 23.26 11.15 lat_ctx -s 4 4 293.4 40.28 7.28 lat_ctx -s 4 10 285.1 141.96 2.01 lat_fifo 377 80.07 4.71 lat_pipe 378.4 81.56 4.64 lat_unix 764.5 107.48 7.11 lat_syscall 0.82 4.73 0.17 lat_proc procedure 0.21 1 lat_proc fork 4334 5706 0.76 lat_proc exec 4600 6400 0.72 XScale 200MHz (time unit: us)
13
Conclusion Wombat goes one step further than L4Linux.
Real-time tasks can coexist with Linux tasks Native mode Linux process reduces overhead of context switchings However, Linux itself is becoming suitable for real-time systems.
14
Thank You!!!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.