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
  • Pipe/FIFO
  • Asymmetric I/O
  • Socket

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.

Back to top

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.