FemtoLinux Introduction

2,329 views
2,283 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,329
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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.

×