Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FemtoLinux Introduction

2,476 views

Published on

Published in: Technology
  • Be the first to comment

FemtoLinux Introduction

  1. 1. FemtoLinux Making real-time Linux applications a reality www.femtolinux.com info@femtolinux.com FemtoLinux. Making real-time Linux apps a reality.
  2. 2. FemtoLinux in a Nutshell ● Allows execution of applications in kernel mode ● Applications can access hardware and kernel resources ● System call overhead is eliminated ● Huge performance and latency improvement ● Effortless porting from legacy RTOS ● Geared towards real-time and embedded systems ● Supports ARM,MIPS and PowerPC architectures ● Fully working system FemtoLinux. Making real-time Linux apps a reality.
  3. 3. Features ● Allows to run regular Linux processes in kernel mode ● Some processes can run in kernel and some in user mode ● The same process can run in either kernel or user mode ● No application modifications are required ● All user mode libraries are available ● C, C++ and all other languages are supported FemtoLinux. Making real-time Linux apps a reality.
  4. 4. Features, continued ● FemtoLinux applications have no restrictions ● Can access kernel resources ● System call overhead reduces to a function call ● Can read, write and allocate kernel memory ● Can access hardware resources ● Access HW, including CPU, registers ● Enable/disable interrupts ● Etc... FemtoLinux. Making real-time Linux apps a reality.
  5. 5. FemtoLinux vs. VxWorks 5.x/6.x ● VxWorks 5.x has flat memory model ● Tasks communicate directly with kernel ● Low latency and low system call overhead ● VxWorks 6.x adds (optional) memory protection ● Process based programming model ● Memory protection ● Significant system call overhead ● FemtoLinux adds (optional) flat memory model to Linux ● FemoLinux processes run in kernel mode ● Similar to VxWorks tasks FemtoLinux. Making real-time Linux apps a reality.
  6. 6. FemtoLinux can be used to ● Significantly improve embedded application performance ● Improve embedded application latency ● Easily port RTOS applications to Linux ● Create zero-copy networking applications ● Much more! FemtoLinux. Making real-time Linux apps a reality.
  7. 7. Porting From RTOS to plain Linux ● RTOS applications tend to be monolithic ● No separation between driver and application ● Porting to RTOS from Linux requires architectural changes, not just API adaptation ● Huge development effort ● Kernel-user communications overhead ● Hard to support both Linux and RTOS ● Risk FemtoLinux. Making real-time Linux apps a reality.
  8. 8. Porting from RTOS to FemtoLinux ● Similar to porting from one RTOS to another ● No architectural changes ● Faster time-to-marker ● Smaller risk ● The same code base can run on Linux & RTOS ● With thin OS abstraction layer ● Less support and QA issues FemtoLinux. Making real-time Linux apps a reality.
  9. 9. Benchmarks ● Benchmarks performed on ARM9 based system ● 20% system call latency improvement ● Measured for frequently used gettimeofday(2) call ● 30% networking performance improvement ● Measured using standard iperf without any modifications ● Not including optional memory copying optimizations ● Up to 200% improvement applications that frequenyl copy memory to/from kernel (most networking apps) ● Requires minor changes to application FemtoLinux. Making real-time Linux apps a reality.
  10. 10. FemtoLinux Delivery ● Software ● Services ● Modified Linux kernel ● FemtoLinux porting to (or kernel patches) client HW ● Modified eglibc library ● Development (or patches) environment ● Development adaptation to client environment – full needs cross compiler ● Application porting to toolchain FemtoLinux ● Training FemtoLinux. Making real-time Linux apps a reality.
  11. 11. For more information visit our web site at http://www.femtolinux.com or contact us by email at info@femtolinux.com FemtoLinux. Making real-time Linux apps a reality.

×