SlideShare a Scribd company logo
FemtoLinux

Making real-time Linux applications a reality


             www.femtolinux.com

             info@femtolinux.com




 FemtoLinux. Making real-time Linux apps a reality.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

More Related Content

What's hot

Working with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development LifecycleWorking with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development Lifecycle
Safe Software
 
JIT Compiler
JIT CompilerJIT Compiler
Vm final
Vm finalVm final
Vm final
Chiao Fu
 
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
Anne Nicolas
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
Design World
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part I
Sergey Aganezov
 
Building a Small DC
Building a Small DCBuilding a Small DC
Building a Small DC
APNIC
 
.NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016).NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016)
citizenmatt
 
Clang compiler `
Clang compiler `Clang compiler `
Clang compiler `
Rabin BK
 
Parallel language and compiler
Parallel language and compilerParallel language and compiler
Parallel language and compiler
SVijaylakshmi
 
Flyway _ A Database Version Management Tool
Flyway _ A Database Version Management ToolFlyway _ A Database Version Management Tool
Flyway _ A Database Version Management Tool
Knoldus Inc.
 
Using Jenkins for jobs scheduling
Using Jenkins for jobs scheduling  Using Jenkins for jobs scheduling
Using Jenkins for jobs scheduling
Irek Romaniuk
 
Dot net
Dot netDot net
Dot net
Mahfuz1061
 
A Science Project: Swift Serial Chat
A Science Project: Swift Serial ChatA Science Project: Swift Serial Chat
A Science Project: Swift Serial Chat
yeokm1
 
Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...
Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...
Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...
linuxlab_conf
 

What's hot (17)

Working with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development LifecycleWorking with FME in an Agile Software Development Lifecycle
Working with FME in an Agile Software Development Lifecycle
 
JIT Compiler
JIT CompilerJIT Compiler
JIT Compiler
 
Vm final
Vm finalVm final
Vm final
 
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part I
 
Building a Small DC
Building a Small DCBuilding a Small DC
Building a Small DC
 
.NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016).NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016)
 
Clang compiler `
Clang compiler `Clang compiler `
Clang compiler `
 
LWdatasheet
LWdatasheetLWdatasheet
LWdatasheet
 
Parallel language and compiler
Parallel language and compilerParallel language and compiler
Parallel language and compiler
 
Flyway _ A Database Version Management Tool
Flyway _ A Database Version Management ToolFlyway _ A Database Version Management Tool
Flyway _ A Database Version Management Tool
 
virtualization
virtualizationvirtualization
virtualization
 
Using Jenkins for jobs scheduling
Using Jenkins for jobs scheduling  Using Jenkins for jobs scheduling
Using Jenkins for jobs scheduling
 
Dot net
Dot netDot net
Dot net
 
A Science Project: Swift Serial Chat
A Science Project: Swift Serial ChatA Science Project: Swift Serial Chat
A Science Project: Swift Serial Chat
 
Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...
Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...
Luca Cipriani - Control your Embedded Linux remotely by using MQTT and a web ...
 

Similar to FemtoLinux Introduction

ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projects
Christian Charreyre
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
Docker, Inc.
 
EOS
EOSEOS
RT linux
RT linuxRT linux
RT linux
SARITHA REDDY
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
Emertxe Information Technologies Pvt Ltd
 
Build and deploy scientific Python Applications
Build and deploy scientific Python Applications  Build and deploy scientific Python Applications
Build and deploy scientific Python Applications
Ramakrishna Reddy
 
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's NextKostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
Ververica
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
ICS
 
Python quick guide1
Python quick guide1Python quick guide1
Python quick guide1Kanchilug
 
Linux Implementation ProposalRichard JohnsonWhy Linux .docx
Linux Implementation ProposalRichard JohnsonWhy Linux .docxLinux Implementation ProposalRichard JohnsonWhy Linux .docx
Linux Implementation ProposalRichard JohnsonWhy Linux .docx
croysierkathey
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
Islam Nabil
 
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
All Things Open
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
Mohamed Abdallah
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
Knoldus Inc.
 
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Codemotion
 
1.1.1.Introduction.pdf
1.1.1.Introduction.pdf1.1.1.Introduction.pdf
1.1.1.Introduction.pdf
bemnitekalegn
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
Paris Open Source Summit
 
Modern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - BerlinModern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - Berlin
Djalal Harouni
 
Cigna Innovation Summit
Cigna Innovation SummitCigna Innovation Summit
Cigna Innovation Summit
Idit Levine
 
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Idit Levine
 

Similar to FemtoLinux Introduction (20)

ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projects
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
 
EOS
EOSEOS
EOS
 
RT linux
RT linuxRT linux
RT linux
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
Build and deploy scientific Python Applications
Build and deploy scientific Python Applications  Build and deploy scientific Python Applications
Build and deploy scientific Python Applications
 
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's NextKostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
Python quick guide1
Python quick guide1Python quick guide1
Python quick guide1
 
Linux Implementation ProposalRichard JohnsonWhy Linux .docx
Linux Implementation ProposalRichard JohnsonWhy Linux .docxLinux Implementation ProposalRichard JohnsonWhy Linux .docx
Linux Implementation ProposalRichard JohnsonWhy Linux .docx
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
 
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
 
Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
 
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
 
1.1.1.Introduction.pdf
1.1.1.Introduction.pdf1.1.1.Introduction.pdf
1.1.1.Introduction.pdf
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
 
Modern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - BerlinModern IoT and Embedded Linux Deployment - Berlin
Modern IoT and Embedded Linux Deployment - Berlin
 
Cigna Innovation Summit
Cigna Innovation SummitCigna Innovation Summit
Cigna Innovation Summit
 
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
Linux, Unikernel, LinuxKit: towards redefining the cloud stack.
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 

FemtoLinux Introduction

  • 1. FemtoLinux Making real-time Linux applications a reality www.femtolinux.com info@femtolinux.com FemtoLinux. Making real-time Linux apps a reality.
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.