POSIX-NG

POSIX-NG (Portable Operating System Interface - Next Generation) is an alternative guest operating system implementation tailored for PikeOS, offering enhanced features and capabilities compared to traditional POSIX implementations. The next generation POSIX introduces a 1:1 thread model, dynamic process creation, robust Mutexes, and inter-process communication using POSIX objects.

Thread Model and Process Management

POSIX-NG replaces user-mode thread scheduling with a 1:1 thread model, utilizing native PikeOS threads for POSIX application threads. It extends the classic POSIX to support a multi-process model, enabling dynamic process creation and inter-process communication within a PikeOS resource partition. Process creation and management are facilitated by a separate process agent, enhancing system flexibility and scalability.


Scheduling Policies and Kernel Integration

Time-sliced scheduling policies are implemented using a PikeOS kernel scheduler plugin, seamlessly integrating POSIX-NG with PikeOS thread scheduling mechanisms. Access to kernel resources is managed through PikeOS device drivers, ensuring efficient resource utilization and system stability.

Compatibility and Interoperability

POSIX-NG maintains compatibility with existing POSIX libraries and applications, allowing seamless migration of software to the new environment. It supports both static and dynamic process creation, offering extended functionality through POSIX-compliant APIs and system calls.

Process Agent and Inter-Process Communication

The process agent facilitates inter-process communication and dynamic process management within a PikeOS resource partition. It collaborates with PikeOS kernel device drivers to provide health monitoring services and efficient communication channels between POSIX-NG processes.

Customer Benefits

POSIX-NG offers a robust and versatile environment for embedded systems development, supplying a wide range of application requirements and use cases.

Check

Dynamic process creation and termination (spawn() - modeled after the POSIX function posix_spawn())

Check

Robust Mutexes for enhanced thread synchronization

Check

Support for CPU time clocks and timer management

Check

Inter-process message queues and signals

Check

Compatibility with existing POSIX libraries and applications

Check

Seamless integration with PikeOS kernel scheduling mechanisms

Check

Enhanced system scalability and flexibility through multi-process support

Need more Information?

Tell us about your project and your needs.
 

Contact us