HardwareBee
https://www.nuvation.com/
  • Find ASIC Vendors
  • Design Services Directory
    • FPGA Design Services
    • Electronic Design Services
    • Embedded Software Companies
    • Add your company
  • Get Price Quotes From Vendors
    • Electronic Design Companies
    • FPGA Design Companies
    • Embedded Software Companies
    • Design & Manufacturing Companies
    • Get IC Device Prices
  • Emerging ICs Directory
    • UWB
      • Spark Microsystems
    • FPGA
      • Colonge Chip
      • Rapid Silicon
    • Radar
      • Acconeer
    • Add your IC
  • Get IC Prices
  • WikiBee
  • Resources
    • FPGA Academy
    • Embedded Academy
    • FPGA vs ASIC Calculator
    • Watt to dBm Converter
    • dBm to Watt Converter
  • Pricing
    • Get Your Company Listed
    • Book a Demo
    • Get a Monthly Lead List
HardwareBee
  • Design Services Directory
    • FPGA Design Services
    • Electronic Design Services
    • Embedded Software Companies
    • Add your company
  • Get Price Quotes From Vendors
    • Electronic Design Companies
    • FPGA Design Companies
    • Embedded Software Companies
    • Design & Manufacturing Companies
    • Get IC Device Prices
  • Emerging ICs Directory
    • UWB
      • Spark Microsystems
    • FPGA
      • Colonge Chip
      • Rapid Silicon
    • Radar
      • Acconeer
    • Add your IC
  • Get IC Prices
  • WikiBee
  • Resources
    • FPGA Academy
    • Embedded Academy
    • FPGA vs ASIC Calculator
    • Watt to dBm Converter
    • dBm to Watt Converter
  • Pricing
    • Get Your Company Listed
    • Book a Demo
    • Get a Monthly Lead List
3144 Views

Ultimate Guide: Embedded Operating System

30/08/2021, hardwarebee

Get a Price Quote

Most of us are familiar with operating systems such Microsoft’s Windows, Apple’s macOS. We interact daily with these operating systems; therefore, they are so known and popular. In fact, there are many other operating systems used in embedded devices such as home appliances, automotive systems — these products are using embedded operating system.

 

What is Embedded Operating System?

 

Let’s define the term embedded operating system:

 

Embedded: it refers to embedded systems applications, and embedded means that an electronic system which is not a PC.

 

Operating system: some embedded products require an operating system layer to manage the hardware and the application software. The following figure shows the layers of an embedded system.

 

 

As you can see in the above figure, an embedded operating system model is based on:

 

  • Hardware layer
  • System Software Layer which contains the operating system layer
  • Application Software Layer

 

An operating system is mainly a group of libraries that provide two important major magic words in the embedded systems world, Abstraction and resource management.

 

Operating System Functions and Responsibilities

 

Most of the operating systems responsible for the following:

 

  • Process Management
  • Memory Management
  • Input/output System Management

 

Process management is an important feature of an operating system, it allows the OS to handle and view other components and software in the embedded system using processes.

 

Memory Management is also another feature, and it is a vital and important feature since all the memory space of an embedded system is most of the time shared by the other processes, so it requires management of the accessibility.

 

Input and output System Management is like memory management feature since the input and output devices also are shared with various processes.  In the following figure, you can see more of the layers and the position of each feature.

 

As you can see in the above figure, embedded OS has a kernel or a core. The kernel of the operating system has three features (Process management, Memory management, I/O management).

 

As said before the kernel has subsystems as in the following figure:

 

 

Keep in mind that in most operating systems, the process management is the central subsystem in any OS and other systems rely on it as in the diagram.

 

The code we write goes into RAM or cache and then the processor will execute. So, the process management module also relies on the memory management module in this case.

 

Additionally, there are some features like networking input / output can be interfaced with the memory management module as in the following figure:

 

 

Looking at the main functions of the kernel from the outside, we will find that the memory management module and input/output module depend on the device drivers, especially for hardware access.

 

Embedded Operating Systems Models

 

There are main three embedded operating systems models:

  • Monolithic
  • Layered
  • Microkernel

 

These models also may be different based on the internal design of the kernel itself, in the following figure an example of monolithic OS diagram:

 

This model of operating systems is very hard to be modified and also very complex in debugging. It is very hard since all components depend on each other.

Example of monolithic Operating system: Embedded Linux, JbedRTOS, MicroC/OS-II:

The following figure is an example of a layered OS diagram. As you can see in the layered OS model, each layer has some operating system features.  The layers on the top depending on the lower layers. It is similar to the monolithic OS model since it is a single file that has all components like device drivers, and middleware, however, it is easier than monolithic OS in modification and debugging.

Example of layered Operating system: FreeRTOS, Disk Operating System or DOS, and VRTX.

 

In the following figure an example of microkernel OS diagram. This model of operating systems is the most editable and scalable due to its modularity and it is very in debugging.

 

 

This model is also very secured in compared with the other two models since most the functions of this model are independent of the operating system. For example, you can add a memory space for client and server architecture. On the other hand, this model is not the best one in the speed and it is slower than the other two models (monolithic and layered).

 

Example of microkernel Operating system: VxWorks, QNX, Nucleus Plus, and CMX-RTX

 

General Purpose Operating systems vs RTOS

 

General-purpose operating systems and real-time operating system have the following similarities:

 

  • They are both multitasking
  • They have resource management services
  • They have both the same level of abstraction

 

The differences between RTOS and GPOS:

  • RTOS is more reliable in embedded systems applications
  • RTOS is more scalable than GPOS
  • RTOS can be used for real-time systems applications
  • Easy to be ported to many platforms than GPOS

 

Hard vs Soft Real Time Operating Systems

 

There are two types of real-time systems:

  • Hard real-time system
  • Soft real-time system

 

In a hard-real-time operating system, if the response of the system was not on time not before or after the deadline, it can cause catastrophic results. For example, the airbag system in cars is a hard-real-time system, if the airbag system doesn’t open in time upon a collision, it may cause death.   On the other hand, a soft real-time system can be tolerant if it missed a deadline. For example, the LED on your multi-meter, if it didn’t work when measuring your circuit voltage, will not cause hurt.

 

 

RTOS and the Scheduler

 

In every real-time operating system, there is a scheduler, which is the core or the heart of the operating system kernel. The scheduler is responsible for services like multitasking, context switching and also scheduling algorithms

 

Multitasking

 

From the name, multitasking is the skill or the ability to do more than a task at the same time. Embedded operating systems have the ability to handle more than activity within a specific deadline.  But technically embedded operating systems use a technique called a context switch.

The context switch is responsible to run each task in its own context. This only occurs in the case of running or switching from one task to another by the scheduler.

 

Embedded Operating Systems Applications and Differences

 

There are many embedded operating systems, but we will check some of the most popular systems and vendors:

 

VxWorks

  • It has been developed by Wind River
  • It is one of the top embedded operating systems
  • It is based on microkernel model, so it is not very fast comparing to other OSs

https://www.windriver.com/products/vxworks

 

QNX

  • It has been developed by Quantum Software Systems, now blackberry)
  • It is a microkernel-based operating system
  • Applications: automotive, industrial automation, medical industry, autonomous systems

https://blackberry.qnx.com/en

 

Integrity

  • It has been developed by Green Hills
  • It is a POSIX-RTOS
  • Applications: F22, Toyota cars, B787, Train Control Systems
  • It is designed to be used as a hard-real time OS
  • It works on many architectures
  • Hard to use and closed source

https://www.ghs.com/products/rtos/integrity.html

 

 

Open Source Embedded Operating System

 

Linux is a free open-source operating system, and it can be customized to be used for embedded systems, you may see the term “Embedded Linux” technically, there is no embedded Linux, but we can customize the Linux operating system to run on embedded systems.

 

Why should we use Linux as an embedded operating system?

 

  • It is open-source and license-free
  • It is stable and secure
  • It has a huge community of supporters and users
  • Customizable and can be rewritten to produce new OS

 

Disadvantages

  • It is a monolithic operating system, meaning very complex kernel
  • Difficult in debugging
  • Requires strong knowledge in systems programming for modifications
  • Not the best choice for real-time safety critical applications

 

Linux OS has 4 major components

  • Kernel
  • Bootloader
  • Shared libraries
  • Commands and utilities

 

The bootloader is a firmware or a software that runs directly on the hardware when you power on the device, it does some work to check the hardware and loading the kernel.

 

The Kernel is an intermediary layer between the user applications and the hardware, additionally, it manages the hardware resources and has three main services as we mentioned before:

  • Input/output management
  • Memory management
  • Process management

 

In Linux everything is a file not like windows operating system:

  • There are no partitions in Linux
  • The root file system is used for logic organization
  • Kernel modules are files under the root file system
  • There are also configurations and system utilities

 

Embedded Linux is a good choice for display embedded devices and non-critical applications such as entertainment automotive infotainment systems.

linked in icon
Sign up for HardwareBee
* = required field

Recent Stories

Low Noise Amplifier: Ultimate Guide
Low Noise Amplifier: Ultimate Guide
ASIC Prototyping
FPGA Prototyping Services
FPGA Prototyping Services
QFN Socket
QFN Socket
FPGA in Medical and Healthcare
FPGA in Medical and Healthcare
The Ultimate Guide to Logic Chips
The Ultimate Guide to Logic Chips
FPGA Manufacturers: A Comprehensive Overview
FPGA Manufacturers: A Comprehensive Overview
FPGA for AI (Artificial Intelligence): Ultimate Guide
FPGA for AI (Artificial Intelligence): Ultimate Guide
Get 3 Quotes from Electronic Design Companies
Get 3 Quotes from FPGA Design Companies
Get 3 Quotes from Embedded SW Services
Get 3 Quotes from EMS Companies

Find Design Services

Get IC Prices

Get Price Offers From
  • Electronic Design Services
  • FPGA Design Services
  • Embedded Software Companies
  • PCB Layout Services
  • Printed Circuit Board Manufacturers
  • Design & Manufacturing Services
Welcome New Vendors
  • Spark Product Innovation
  • QBayLogic
  • Fidus Systems
  • nao.design
  • HQ NextPCB
Browse Vendor Directories
  • Electronic Design Companies
  • FPGA Design Companies
  • Embedded Software Services
  • Manufacturing Companies
Featured Vendor

Spark Product Innovation

Recent Posts
  • Low Noise Amplifier: Ultimate Guide
  • ASIC Prototyping
  • FPGA Prototyping Services
  • QFN Socket
  • FPGA in Medical and Healthcare
Most Popular Blog Posts
  • The Ultimate Guide to: Variable Gain Amplifier
  • FPGA for AI (Artificial Intelligence): Ultimate Guide
  • PCB Stackup: Ultimate Guide and Examples
  • The Ultimate Guide to Logic Chips
  • FPGA Video Processing: Ultimate Guide

Never miss an update!

Follow us on LinkedIn

Do you need any price
information?

(Electronic design, FPGA design, Embedded SW services, PCB design, Turnkey)

Yes
No
This page is sponsored by
HardwareBee

Copyright 2017-2024, HardwareBee. All rights reserved.

  • About Us
  • Contact
  • Subscribe
  • News
  • Get Free Support
  • Get listed
  • Send a wiki/article
  • Advertise

Follow Us

Be sure to follow our LinkedIn company page where we share our latest updates LinkedIn
Partner with us Partner with us

Design and Manufacturing Services

  • Engineering Design Services
  • Electronic Design and Manufacturing
  • Electronic Product Development
  • Electronic Product Design
  • Electronic Consulting Services
  • Electronic Engineering Companies
  • Electronic Engineering Services
  • Electronic Product Design and Development
  • Electronics Design Services
  • Electronics Design Company
  • Electronic Design Consultants
  • Electronic Design Company
  • FPGA Design Company
  • FPGA Consultant
  • FPGA Design Services UK
  • Electronics Manufacturing services
  • Electronics Manufacturing Companies
  • Electronic Contract Manufacturing Companies
  • Electronic Manufacturing Services Companies
  • EMS Companies Directory
  • Electronic Design Services
  • FPGA Design Services
  • Embedded Software Companies
  • PCB Layout Services
  • Printed Circuit Board Manufacturers
  • Design and Manufacturing Services
X

Don’t miss anything, follow us on LinkedIn

https://www.linkedin.com/company/hardwarebee/

We are using cookies to give you the best experience on our website.

You can find out more about which cookies we are using or switch them off in .

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.

3rd Party Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.

Please enable Strictly Necessary Cookies first so that we can save your preferences!

Additional Cookies

This website uses the following additional cookies:

(List the cookies that you are using on the website here.)

Please enable Strictly Necessary Cookies first so that we can save your preferences!