NEWS, EVENTS & BLOG

BLOG

Operating Systems for Embedded Applications

Press Office, VersaLogic Corporation, 06/15/21

An operating system (OS) is the glue that holds software and hardware together in a computing system. This applies to all computer systems including servers, desktop, mobile, and embedded / industrial computers, often referred to as single board computers (SBC).

OS software manages the operation of a computer including managing files, memory, storage media, and I/O devices. This permits application programs to be focused on the application logic rather than all low level code that is required to talk to the hardware. It also avoids conflicts when applications require access to common resources.

The OS and associated hardware drivers normally sit directly on top of the computer hardware. Specific applications may interact directly with the OS or may do so via an application programing interface (API) as shown in the diagram below.

chart showing VersaLogic software stack

Knowing what an OS does and where it fits, let’s turn our attention to the various types of OS.

Operating System Types

Broadly speaking operating systems fall into three categories: general purpose, real time (RTOS), and server-focused.

  • General Purpose:
    This is the type of OS that can run on a desktop machine or an industrial embedded SBC that is operating as a single machine. It is not designed to manage a system that is configured as a number of virtual machines (VM).

    EPMe-42 LionAs with many VersaLogic x86 SBCs, the Lion is compatible with Windows, Linux, VxWorks and QNX

    Although it is managed as a single machine, general purpose OSs are often used with multicore processors. The OS will manage an application so that it can run across the multiple CPU cores and will balance the workload by moving tasks between processors when needed. Windows and various Linux-based distributions such as Red Hat Enterprise Linux (RHEL), CentOS, and Ubuntu are examples of this type of OS. Android, based on a modified version of the Linux kernel, is another example.

    The Swordtail, along with other VersaLogic Arm-based SBCs, is compatible with Linux and Android

  • Real Time OS (RTOS):
    There are some applications that are very time-critical. That is, they are sensitive to certain I/O signals responding within a very small window. Depending on how time sensitive the application is, an RTOS may be needed.

    Unlike a general purpose OS, an RTOS is designed to prioritize I/O processing and respond within a known period of time. It may also provide pre-emptive task scheduling that the application programmer can control. This supports fast response to time critical events. VersaLogic partners with Wind River Systems whose VxWorks is an example of an RTOS.

    A version of the Fox running VxWorks is used in a time-critical defense system

  • Server Operating Systems:
    Servers, whether deployed in a data center or in a harsh edge environment, present some special OS requirements. These additional requirements might include some or all of the following:

    • Out of band management capability
    • More restrictive security settings
    • Enabling of hybrid cloud-edge operations
    • File server capability

    Windows Server is an example of a server OS.

Hypervisors

Closely allied with operating systems is a form of software called a hypervisor. This runs on a single host computer and creates a number of virtual machines (VM). It permits multiple instances of the same or different operating systems to run concurrently, each hosting its own set of application programs.

The ability to run several virtual machines on a single host computer has several advantages which can be particularly important in an edge deployment situation, including:

  • Reduced space requirements.
  • Energy savings and associated heat generation reduction
  • Reduced maintenance requirements

There are two types of hypervisor: Type 1 bare metal and Type 2 hosted hypervisor. As its name suggests, a bare metal hypervisor runs directly on the host computer hardware whereas a hosted hypervisor runs on top of a host OS.

Type 1 vs. Type 2 Hypervisors

Bare metal hypervisors ensure that problems with one VM or Guest OS do not affect other VMs and associated operating systems. Hosted Hypervisors may allow for better specification of policies, but at the cost of a problem with the host OS affecting all virtual machines. VMware’s ESXi is an example of a bare metal hypervisor. VMware Workstation Pro is a hosted hypervisor that runs on top of Windows or Linux.

The Grizzly is a 16 core rugged edge server that runs both Windows Server2019 and VMware ESXi

VMware Inc. has resources that provide more information on hypervisors.

Pre-Installation of Operating Systems


Many industrial embedded computers users prefer to install the OS themselves when doing development work, but this is usually impractical in production environments due to the installation time. Pre-installation of an OS is just one of the service options available under VersaLogic’s Modified Commercial Of The Shelf (MCOTS) program.

An MCOTS version of the Raven is supplied with a Windows 10 Pro pre-installed on an mSATA card

Additional Information

For more information, VersaLogic’s Operating System Compatibility Chart shows which SBCs have been tested or verified with a given OS. However, new OS and SBC combinations are being checked constantly. To learn more about VersaLogic’s range of embedded products and OS compatibilities, let’s start a conversation.