RTOS, virtualization for real-time systems, DO-178B and hypervisor for the most demanding embedded operating system applications...

RTOS ArchitectureSystem services, RTOS kernel and RTOS components

In LynxOS®-178 RTOS architecture, the RTOS components are "system software." POSIX® system services and the LynxOS-178 RTOS kernel are reusable software components.

The CSP (CPU Support Package), device drivers, BSP (Board Support Package), and configuration tables (VCT) may vary on different boards or microprocessors. The application software that executes within a partition on the target system is usually supplied by a system integrator.

The LynxOS-178 operating system is designed to be independent of its underlying hardware platform. A unique BSP and CSP provide the hardware-specific services to LynxOS-178. An application's only interaction with LynxOS-178 is through its documented Application Programming Interface (API).

Boot code

The boot code boots the host processor and performs the appropriate level of power on self-test (POST) to assure correct operating conditions of a limited set of hardware devices. The boot code is in the firmware module on the Kontron (formerly Thales) VMPC6x board.

CPU Support Package (CSP)

The CSP contains all the processor family-specific routines, including the MMU, floating point, and processor exception handlers. The CSP routines are linked with the LynxOS-178 kernel.

Board Support Package (BSP)

The BSP contains routines for initializing and controlling hardware on the target system. The primary responsibilities of the BSP are:

  • Interface with boot and shutdown software
  • Establish virtual address map for onboard I/O
  • Interface with the interrupt controller
  • Provide default handlers for error-signaling interrupts
  • Interface with the PCI controller
  • Interface with the system time (tick timer)

Device Resource Manager (DRM)

The PCI Device Resource Manager (DRM) is platform-independent. The primary responsibilities of the PCI DRM are:

  • Locate the PCI devices
  • Manage ownership of PCI devices
  • Map devices into virtual address space
  • Provide access to the PCI configuration space

The BSP and the DRM are linked with the LynxOS-178 kernel.

Static device drivers

The static device drivers are software components that isolate specific details of hardware devices from application software components. Items such as hardware-dependent interrupt handlers (for example, power warn and load shed) and kernel threads are added to the kernel with device drivers. Static device drivers are linked with the kernel.

Static device info files

The static device info files are used to configure the static device drivers for devices available in the target system. There are one or more info files per device driver. The static device info files are linked with the LynxOS-178 kernel.

Dynamic device drivers

The dynamic device drivers are hardware access routines for optional devices on the target system. These device drivers are stored in the file system and installed after the LynxOS-178 kernel is booted, but before partitioning is invoked.

Dynamic device info files

The dynamic device information files are used to configure the dynamic device drivers for optional devices on the target system. There can be one or more information files per device driver. These device info files are stored in the file system and installed after the LynxOS-178 kernel is booted, but before partitioning is invoked.

POSIX (system services)

The system services are linked with the application code (C or C++) and run in processor user mode. Application Programming Interfaces (API) include:

  • POSIX API—provides POSIX 1003.1, 1003.1b, and 1003.1c operating system services
  • File system—provides a file system with a POSIX API
  • IEEE floating point services—provide services to configure floating point responses

System admin services, available to VM0 (that is, VM zero) only, include:

  • File system admin services—mount, ffsck, mkffs
  • Scheduler service—create pinit(), initialize scheduler, and others
  • High water mark services—get_resource_entry()
  • LynxOS-178 library—dr_install(), setgroups()

LEARN MORE ABOUT THE POSIX STANDARD

Kernel

The LynxOS-178 kernel is statically linked with the CSP, BSP, and static device drivers to create the LynxOS-178 operating system. During initialization, dynamic device drivers are dynamically linked with LynxOS-178 and effectively become part of the operating system.

Common initialization (cinit)

cinit is the first POSIX process to run after the LynxOS-178 kernel is initialized. cinit executes with operating system root privileges. It reads the Virtual machine Configuration Table (VCT) and creates VM partitions within LynxOS-178.

The primary responsibilities of cinit are as follows.

  • Validate and read the VCT
  • Load dynamic device drivers
  • Initialize system wide environment variables
  • Mount the file systems
  • Initialize the scheduler
  • Respond to partition fatal errors as defined in the VCT

Partition initialization (Pinit)

At the point in the LynxOS-178 initialization where the OS is able to run partitions, cinit transforms into a unique Pinit process in each partition. Pinit, as the first process in the partition, completes initialization of the partition's environment and transforms into the application software for the partition. Pinit executes with operating system root privileges.

Next on the LynxOS-178 RTOS tour: Configuration and RTOS kernel image

LynxOS Embedded RTOS LynxOS-SE Embedded RTOS RTOS: LynxOS-178 for software certification Luminosity Eclipse-based IDE
Embedded Linux: BlueCat LynxSecure Separation Kernel and Embedded Hypervisor SpyKer Embedded-System Trace Tool

Industry Solutions

Migration

Industry Standards

Embedded Systems Technology

RTOS Training for Embedded Systems

Training at LynuxWorks

Embedded System Consulting

LynuxWorks Support

Embedded Systems

LynxOS RTOS Support

BlueCat Embedded Linux Support

Contact Us

About LynuxWorks

Press Room

Newsletter and Announcements

Careers

Site Map

Board Support Packages (BSPs)

BSP Device Drivers

BSP Targets by Operating System

BSP Targets by Form Factor

Third-party I/O Devices and Hardware

SynergyWorks: LynuxWorks partners


What is SynergyWorks?

Third-party add-ons for LynuxWorks operating systems

Copyright © LynuxWorks™, Inc. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of LynuxWorks is prohibited.