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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

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, …