PXROS is the Portable eXtendible Realtime Operating System:
- Portable PXROS is ported very easily. Most of the code of PXROS is programmed in High Level Language code, only very few parts are specific to the target microcontroller. So an application designed for a platform independant PXROS kernel is much easier ported to a new processor environment than an application which is accessing the hardware directly.
- A PXROS kernel with the basic functions often requires not more than 7 kBytes of memory. This basic kernel can be extended by additional modules to support a wide range of functions: PXfile supports access to DOS and UNIX compatible file systems, PXtcp integrates PXROS in a TCP/IP based network. For a full list of extensions and their availability please refer to our availability matrix.
- PXROS never locks or disables the micorcontrollers interrupt system. Interrupt service routines are installed directly in the Interrupt tables of the target hardware. From this is follows that the Interrupt Request is served in the same time on a system with a PXROS than on a system without.
- PXROS is designed to have one kernel which is manageing various processes, the so called tasks. The PXROS kernel is responsible to allocate available ressources to the various tasks. Depending on the priority of the more or less critical requirements these ressources are shared between the tasks. The PXROS kernel contains all basic functions such as task scheduling, memory management and communication.
- PXROS provides a system which allows various tasks to be executed quasi simultaniously. All of these tasks and the PXROS kernel are able to communicate with each other by exchanging messages. PXROS creates a system of tasks on the target hardware which meets all requirements that are defined for the customers application.
The PXROS Realtime Operating System assists in the development of an application. It facilitates a modular software design drastically reducing development and maintenance requirements.
An application consists of many different functions (e.g. control, EEPROM programming, communication with the user). These segments are implemented individually in modules, the services of which are available over a fixed interface. The completed application then consists of individual modules which can be applied in different contexts. Later, a stock of tested modules can be called upon to quickly implement new applications. Additional modules may then be generated as needed.
PXROS encourages a modular software design with its task concept: different parts of the application are implemented independently from one another. PXROS allows these programs to run in quasi-parallel in units called tasks. Each task runs within its own execution context, and thus inherits all associated administrative problems (e.g. the allocation of processor time, and the reconstruction of the execution context for the running task).
PXROS provides numerous modules to perform standard functions. These include resource management, data exchange between tasks and scheduling. By using existing services, the user is free to concentrate on the application at hand, rather than constantly “reinventing the wheel”.
In summary, PXROS works with a series of small, manageable functional units called tasks. In addition to coordinating the tasks, the operating system provides the foundation upon which the application runs. Finally, PXROS offers a number of services for managing the application and the interaction of its inividual components.
The PXROS-Components are available in various packages. Depending on the target microcontroller the contents of the packages differ.