SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Linux For Embedded Systems
ForArabs
Ahmed ElArabawy
Course 101:
Introduction to Embedded Linux
Lecture 4:
A Tour in RTOS Land
PROPRIETARY RTOS’S
Windows CE
• Developed by Microsoft
• Has recently been replaced by Windows Embedded Compact
• Has the mix of the windows desktop and embedded devices
requirements
• Suitable for embedded devices that require also a good user
interface
• Medium to Large HW requirements:
• Footprint of OS around 200-350KB
• May run in under a 1MB of memory
• True RTOS, has a deterministic behavior
• Cost is around $3 per device license + Initial Cost for tools
Application Examples
Nucleus
• Developed by Mentor Graphics
• Portable to different devices (Microcontrollers and Micro -
Processors)
• Foot print as small as 2KB
• Support unique power management features
• Power/clock gating
• Deep sleep modes
• Cost is about
• $13K for the OS license per implementation
• $3K per seat for the tools
• Royalty free
Application Examples
• Very widely used
Threadx
• Developed by Express Logic, Inc. by the same the author of
Nucleus
• Small footprint ( can go as low as 2KB on Microcontrollers)
• True RTOS, Fast and deterministic behavior
• Fast boot time (This is very important for devices that can't
afford a long boot time)
• Flexible licensing models + Royalty free
Application Example
Hewlett-Packard use ThreadX in all of their printers,
• Inkjets
• LaserJets
• All-in-One
Application Example
Broadcom use ThreadX in a lot of its Chips for cell phones in
their communication processors
VxWorks
• Developed by Wind River Systems, 1987
• Legacy RTOS. Used to be the top OS for Embedded Platforms
• Not used recently for small system, but still considered by
heavy Institutions (such as Aerospace and Defense)
• Expensive licensing cost + Royalty cost
• Other OS’s with their latest development are catching up
Application Example
Application Example
FREE-OPEN SOURCE OS’S
Is Free Really Free ??
• Free for freedom and not for free drink
• Free means freedom to run, study, copy, modify, distribute
both the original code and the modified versions
• Free/Open source OS’s include:
• The OS itself (the kernel)
• Development tools: Compilers, Debuggers, toolchains, …
• Support libraries: C library, XML parsers, Security, command line
utilities
• Keep in mind the licensing risks (GPL, LGPL, … )
• Licensing terms
• Might mean you can not have a proprietary system
• Might mean you need to give up your source code
Advantages of Open Source OS
• Cost perspective
• Kernel, development tools, associated libraries and support tools,
applications, …
• Big community help and support
• Ability to understand and control details of operation
• Availability of online resources and documents
• Fast release cycles
• Ability to influence the future of the OS
Linux (www.kernel.org )
• Most popular Open Source OS
• Big Community Support
• Distributions
• Build your own distribution
• Redhat
• Suse
• Ubuntu
• And many others
• GPL v2.0 License
• Require 32bit processors with MMU
• Highly configurable, RAM and Storage requirements according to
configurations
• Not a real RTOS
• Sometimes used with patches to support hard real time embedded
applications (such as RTLinux)
uClinux (www.uclinux.org )
• Started as a port of Linux for systems with,
• Micro-controllers
• Processors without MMU
• Used for simple Embedded devices
• Now highly integrated with the Linux mainstream as a patch
• Used in several devices such as,
• DVD players
• Security cameras
• VoIP phones
• Scanners
eCos (http://ecos.sourceware.org )
• Suitable for smaller embedded systems
• Small footprint, with low requirement on resources
• Modified GPL License to give developer more rights to use it
without need to GPL his code
• One of the most popular open source RTOS in the world today
• Highly configurable (eCos stands for the "Embedded
Configurable Operating System")
• Support multi-tasking with priority-based real-time scheduler
• standards based APIs
• True RTOS, Highly deterministic behavior
• Highly portable to most of 32 bits processors
Application Example
Sony, Playstation 3 Gaming Console for WiFi support
Application Example
Samsung, latest LCD HDTVs (32-70 inch) to support multi-media
playback via USB2 from cameras, mp3 players and flash drives
Application Example
Eye-Fi Wireless SD Cards that use WiFi to transfer images
between camera and computer
Nuttx
• First released by Gregory Nutt in 2007 with BSD license
• True RTOS (deterministic)
• Small footprint
• Supports from simple 8 bit processors (such as Zilog Z80) to 32
bit processors (such as ARM-9, x86)
• Supports C & C++ development
• TCP/IP Stack and USB support
• Support multitasking with FIFO and round-robin scheduling
• Support pre-emption
• Highly configurable
• Supports Standard APIs such as ANSI and POSIX
• Used in MP-3 players, Auto-pilot, …
Application Example
http://Linux4EmbeddedSystems.com

Weitere ähnliche Inhalte

Was ist angesagt?

Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
lclsg123
 
Introduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmwareIntroduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmware
definecareer
 

Was ist angesagt? (20)

Embedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNUEmbedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNU
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in Linux
 
Device drivers Introduction
Device drivers IntroductionDevice drivers Introduction
Device drivers Introduction
 
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry PiEmbedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
 
Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU Course 101: Lecture 5: Linux & GNU
Course 101: Lecture 5: Linux & GNU
 
Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu
 
Course 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and PermissionsCourse 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and Permissions
 
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
 
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux BoxEmbedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts) Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
 
Course 102: Lecture 1: Course Overview
Course 102: Lecture 1: Course Overview Course 102: Lecture 1: Course Overview
Course 102: Lecture 1: Course Overview
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
 
Architecture of Linux
 Architecture of Linux Architecture of Linux
Architecture of Linux
 
Device Drivers and Running Modules
Device Drivers and Running ModulesDevice Drivers and Running Modules
Device Drivers and Running Modules
 
Introduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmwareIntroduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmware
 
Introduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interruptsIntroduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interrupts
 

Andere mochten auch

Andere mochten auch (15)

Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities
 
Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands
 
Course 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild CardsCourse 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild Cards
 
Course 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking HelpCourse 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking Help
 
Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux
 
Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands
 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals
 
Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling
 
Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell
 
Course 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment VariablesCourse 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment Variables
 
Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions
 
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi APEmbedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
 
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
 
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
 

Ähnlich wie Course 101: Lecture 4: A Tour in RTOS Land

Introduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptxIntroduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptx
ssuserf7df42
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
Raul Soto
 
Open source software siddique
Open source software siddiqueOpen source software siddique
Open source software siddique
Siddique Ibrahim
 
Linux – an introduction
Linux – an introductionLinux – an introduction
Linux – an introduction
Wingston
 

Ähnlich wie Course 101: Lecture 4: A Tour in RTOS Land (20)

Linux
LinuxLinux
Linux
 
Introduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptxIntroduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptx
 
Chapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptxChapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptx
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
 
Basics of Linux
Basics of LinuxBasics of Linux
Basics of Linux
 
Open source software siddique
Open source software siddiqueOpen source software siddique
Open source software siddique
 
EOS
EOSEOS
EOS
 
Overview on Open Source Technology.pptx
Overview on Open Source Technology.pptxOverview on Open Source Technology.pptx
Overview on Open Source Technology.pptx
 
Linux - Introductions to Linux Operating System
Linux - Introductions to Linux Operating SystemLinux - Introductions to Linux Operating System
Linux - Introductions to Linux Operating System
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
Overview of computer
Overview of computerOverview of computer
Overview of computer
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
 
Linux – an introduction
Linux – an introductionLinux – an introduction
Linux – an introduction
 
Presentation on o s for bca iv
Presentation on o s for bca ivPresentation on o s for bca iv
Presentation on o s for bca iv
 
Introduction to Operating system CBSE
Introduction to Operating system CBSE Introduction to Operating system CBSE
Introduction to Operating system CBSE
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
 
Operating Systems As a Product
Operating Systems As a ProductOperating Systems As a Product
Operating Systems As a Product
 
Linux
LinuxLinux
Linux
 
Linux
LinuxLinux
Linux
 
Linux a free and open source operating system
Linux a free and open source operating systemLinux a free and open source operating system
Linux a free and open source operating system
 

Mehr von Ahmed El-Arabawy

Mehr von Ahmed El-Arabawy (8)

Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems
 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)
 
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1)
 
Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files
 
Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management
 
Course 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleCourse 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life Cycle
 
Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring
 
Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2)
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Course 101: Lecture 4: A Tour in RTOS Land

  • 1. Linux For Embedded Systems ForArabs Ahmed ElArabawy Course 101: Introduction to Embedded Linux
  • 2. Lecture 4: A Tour in RTOS Land
  • 4. Windows CE • Developed by Microsoft • Has recently been replaced by Windows Embedded Compact • Has the mix of the windows desktop and embedded devices requirements • Suitable for embedded devices that require also a good user interface • Medium to Large HW requirements: • Footprint of OS around 200-350KB • May run in under a 1MB of memory • True RTOS, has a deterministic behavior • Cost is around $3 per device license + Initial Cost for tools
  • 6. Nucleus • Developed by Mentor Graphics • Portable to different devices (Microcontrollers and Micro - Processors) • Foot print as small as 2KB • Support unique power management features • Power/clock gating • Deep sleep modes • Cost is about • $13K for the OS license per implementation • $3K per seat for the tools • Royalty free
  • 8. Threadx • Developed by Express Logic, Inc. by the same the author of Nucleus • Small footprint ( can go as low as 2KB on Microcontrollers) • True RTOS, Fast and deterministic behavior • Fast boot time (This is very important for devices that can't afford a long boot time) • Flexible licensing models + Royalty free
  • 9. Application Example Hewlett-Packard use ThreadX in all of their printers, • Inkjets • LaserJets • All-in-One
  • 10. Application Example Broadcom use ThreadX in a lot of its Chips for cell phones in their communication processors
  • 11. VxWorks • Developed by Wind River Systems, 1987 • Legacy RTOS. Used to be the top OS for Embedded Platforms • Not used recently for small system, but still considered by heavy Institutions (such as Aerospace and Defense) • Expensive licensing cost + Royalty cost • Other OS’s with their latest development are catching up
  • 15. Is Free Really Free ?? • Free for freedom and not for free drink • Free means freedom to run, study, copy, modify, distribute both the original code and the modified versions • Free/Open source OS’s include: • The OS itself (the kernel) • Development tools: Compilers, Debuggers, toolchains, … • Support libraries: C library, XML parsers, Security, command line utilities • Keep in mind the licensing risks (GPL, LGPL, … ) • Licensing terms • Might mean you can not have a proprietary system • Might mean you need to give up your source code
  • 16. Advantages of Open Source OS • Cost perspective • Kernel, development tools, associated libraries and support tools, applications, … • Big community help and support • Ability to understand and control details of operation • Availability of online resources and documents • Fast release cycles • Ability to influence the future of the OS
  • 17. Linux (www.kernel.org ) • Most popular Open Source OS • Big Community Support • Distributions • Build your own distribution • Redhat • Suse • Ubuntu • And many others • GPL v2.0 License • Require 32bit processors with MMU • Highly configurable, RAM and Storage requirements according to configurations • Not a real RTOS • Sometimes used with patches to support hard real time embedded applications (such as RTLinux)
  • 18. uClinux (www.uclinux.org ) • Started as a port of Linux for systems with, • Micro-controllers • Processors without MMU • Used for simple Embedded devices • Now highly integrated with the Linux mainstream as a patch • Used in several devices such as, • DVD players • Security cameras • VoIP phones • Scanners
  • 19. eCos (http://ecos.sourceware.org ) • Suitable for smaller embedded systems • Small footprint, with low requirement on resources • Modified GPL License to give developer more rights to use it without need to GPL his code • One of the most popular open source RTOS in the world today • Highly configurable (eCos stands for the "Embedded Configurable Operating System") • Support multi-tasking with priority-based real-time scheduler • standards based APIs • True RTOS, Highly deterministic behavior • Highly portable to most of 32 bits processors
  • 20. Application Example Sony, Playstation 3 Gaming Console for WiFi support
  • 21. Application Example Samsung, latest LCD HDTVs (32-70 inch) to support multi-media playback via USB2 from cameras, mp3 players and flash drives
  • 22. Application Example Eye-Fi Wireless SD Cards that use WiFi to transfer images between camera and computer
  • 23. Nuttx • First released by Gregory Nutt in 2007 with BSD license • True RTOS (deterministic) • Small footprint • Supports from simple 8 bit processors (such as Zilog Z80) to 32 bit processors (such as ARM-9, x86) • Supports C & C++ development • TCP/IP Stack and USB support • Support multitasking with FIFO and round-robin scheduling • Support pre-emption • Highly configurable • Supports Standard APIs such as ANSI and POSIX • Used in MP-3 players, Auto-pilot, …