Overview

eT-Kernel/POSIX is standard POSIX compliant RTOS, offering complete support at the process and system level for pthreads, signals, and inter-process communication (IPC). eT-Kernel/POSIX is a platform based on eT-Kernel/Extended, additionally providing POSIX standard APIs. This allows efficient reuse of both open source and commercial software abundantly available worldwide. In addition, since it is widely used with enterprise systems and other non-embedded systems as well, engineer resources are available in abundance domestically and overseas.

By using eT-Kernel/POSIX, you can reuse these types of resources while enjoying the exceptional real-time capability offered by eT-Kernel. This contributes to efficient development of embedded systems to be larger in scale and higher performance. 

POSIX-compliant enhanced real-time OS

eT-Kernel/POSIX complies with The Open Base Specifications Issue 6/IEEE Std 1003.1, 2004 Edition, supporting nearly all POSIX functions prescribed in those specifications. Instead of using it as a simple wrapper library, tuning eT-Kernel core internals made it possible to provide optimized POSIX functionality without any capability loss.

eT-Kernel/POSIX: 
  • Supports XBD (Base Definitions volume) and XSH (System Interfaces volume)
  • Supports pthread as a thread-managing in and between processes
  • Supports programming using signals, often used in legacy UNIX systems
    Completely supports IPC (Inter Process Communication)

Reusability in POSIX software and engineering resources

eT-Kernel/POSIX was purposely designed and developed to reuse POSIX software. With it, you can elaborate systems incorporating the superior real-time functions of eT-Kernel while reusing existing source code, including software ported from Linux and other commercial/open source solutions. With the use of industry-standards like POSIX, engineers teams can become more efficient at reusing software and expanding these applications as well. 


Co-existence of POSIX and T-Kernel applications


In addition to being able to create systems using only POSIX functions, POSIX-based applications and T-Kernel based applications can co-exist in one system. It is especially beneficial when adding new functionality to an existing T-Kernel-based system, because you can directly reuse any POSIX-based commercial/open-source software, such as network middleware, on eT-Kernel/POSIX without going to the trouble of implementing the function in T-Kernel.

Basic functions of eT-Kernel/POSIX


eT-Kernel/POSIX has the following basic functions:

  • Multi-Process/task management
  • Thread management
  • Timer management
  • ">Synchronization/communication between tasks:
          - Signal
  •       - Barrier
  •       - Rwlock
  •       - Condition Variable
  •       - Semaphore
  •       - Mutex
  •       - Message Queue 
  •         etc...
  • Pipe/FIFO
  • Asymmetric I/O
  • ">Socket, etc.

eBinder — the development environment


eBinder can be used to develop/debug all processes, threads, system programs, shared libraries, and DLLs when building with eT-Kernel/POSIX. Debugging can be performed for process units, but also for individual threads within the process. Device driver debugging can be performed as well.

eT-Kernel/POSIX structure

eT-Kernel/POSIX was developed with  eT-Kernel/Extended as a base. POSIX functions are implemented as eT-Kernel/Extended subsystems and libraries.


Although it is possible to only implement applications that use POSIX APIs to eT-Kernel/POSIX, POSIX applications and T-Kernel applications can also coexist in a single system. A method is available for communication between POSIX applications and T-Kernel applications.





eT-Kernel/POSIX structure


POSIX programming

  •  • When using the device management functions, device drivers implemented as T-Kernel applications, T-Kernel, and T-Kernel Standard Extension part services are used.
     • T-Kernel, T-Kernel Standard Extension, and T-Kernel based subsystem and DLLs can be used.
     • Subsystems, shared libraries, and DLLs using POSIX services can be implemented.
T-Kernel programming

 • Only T-Kernel based programs can be used from T-Kernel applications. POSIX services, POSIX-based subsystems, shared libraries, and DLLs cannot be used.