Wombat: A Portable User-Mode Linux for Embedded Systems

Slides:



Advertisements
Similar presentations
Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
Advertisements

Windows XP Kernel Architecture Mike Karlsven James Farrer Jason Smith.
An Overview Of Windows NT System Student: Yifan Yang Student ID:
Programming Technologies, MIPT, April 7th, 2012 Introduction to Binary Translation Technology Roman Sokolov SMWare
MICRO-KERNELS New Generation Innovation. The contents Traditional OS view & its problems. Micro-kernel : introduction to concept. First generation micro-kernels.
Outline of the Paper Introduction. Overview Of L4. Design and Implementation Of Linux Server. Evaluating Compatibility Performance. Evaluating Extensibility.
Effects of Clock Resolution on the Scheduling of Interactive and Soft Real- Time Processes by Yoav Etsion, Dan Tsafrir, Dror G. Feitelson Presented by.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Threads 1 CS502 Spring 2006 Threads CS-502 Spring 2006.
Threads CSCI 444/544 Operating Systems Fall 2008.
Microkernels: Mach and L4
Threads. Processes and Threads  Two characteristics of “processes” as considered so far: Unit of resource allocation Unit of dispatch  Characteristics.
Comparative Operating Systems Fall 2001 An Examination of Embedded Linux as a Real Time Operating System Mark Mahoney.
CS 3013 & CS 502 Summer 2006 Threads1 CS-3013 & CS-502 Summer 2006.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
CS533 Concepts of Operating Systems Jonathan Walpole.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
CS533 Concepts of Operating Systems Jonathan Walpole.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Real-Time Linux Evaluation NASA Glenn Research Center Kalynnda Berens Richard Plastow
The Performance of Microkernel-Based Systems
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
The Performance of μ-Kernel-Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presenter: Sunita Marathe.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Tim Hamilton.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Embedded Real-Time Systems
Real-Time Operating Systems RTOS For Embedded systems.
Memory Protection: Kernel and User Address Spaces Andy Wang Operating Systems COP 4610 / CGS 5765.
Preventing Interrupt Overload Presented by Jiyong Park Seoul National University, Korea John Regehr, Usit Duogsaa, School of Computing, University.
Virtualization Neependra Khare
Computer System Structures
Chapter 4 – Thread Concepts
Virtualization.
Efficient Software-Based Fault Isolation
Homework Reading Machine Projects Labs
Virtualization Technology
Operating System & Application Software
Presented by Yoon-Soo Lee
Memory Protection: Kernel and User Address Spaces
Yoav Etsion, Dan Tsafrir, Dror G. Feitelson
CS 6560: Operating Systems Design
The Mach System Sri Ramkrishna.
Windows API.
CS533 Concepts of Operating Systems
Chapter 4 – Thread Concepts
Chapter 4 Threads.
Chapter 4: Threads 羅習五.
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Lecture 10: Threads Implementation
Operating System Support for Virtual Machines
A Survey on Virtualization Technologies
Improving IPC by Kernel Design
Fast Communication and User Level Parallelism
Improving IPC by Kernel Design
Threads Chapter 4.
Operating Systems Processes (Ch 4.1).
Multithreaded Programming
Operating System Introduction.
Lecture 10: Threads Implementation
CS533 Concepts of Operating Systems Class 11
Department of Computer Science
Department of Computer Science
Memory Protection: Kernel and User Address Spaces
Advanced Operating Systems (CS 202) Operating System Structure
Operating Systems Processes (Ch 2.1).
Presentation transcript:

Wombat: A Portable User-Mode Linux for Embedded Systems Jiyong Park Real-Time Operating Systems Laboratory, Seoul National University, Korea 2006-06-09

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

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

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

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

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.

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

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

Mechanisms of Wombat System call handling, exception handling, scheduling, and etc. are the same as L4Linux.

Performance – System Call Null system call Linux: 0.392 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

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 Pentium4 @ 2.8GHz

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 PXA255 @ 200MHz (time unit: us)

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.

Thank You!!!