Real-Time Operating System

Rubus® JOS

The Operating System Kernel and its ancestor

Rubus JOS is a real-time operating system kernel designed for Imsys’ processors. It is designed to support Java and RTSJ. The services supported are based on the ANSI/IEEE standard 1003.1 (POSIX). Rubus JOS has emanated from Rubus® OS kernel designed by Arcticus Systems for the automotive industry. In Rubus JOS resources are allocated dynamically at run-time to suit the Java environment, whereas the Rubus OS resources are allocated statically, pre-run-time, for maximum dependability.

By supporting the two RTOS kernels for the Imsys processor a broad range of real-time systems in different application segments as Telecommunications, Consumer Electronics and Automotive can be addressed.

Rubus JOS is available for the Imsys microprocessor series as target systems. In development is also a Windows version with the target of a standard PC. The development environment is the Microsoft Visual Studio for C++ and Java.

Features:
  • Support several application programs simultaneous, several processes
  • Support management of an unlimited number of threads (in respect of available RAM)
  • Thread synchronization via signals and semaphores (Mutex)
  • Message passing via Message Queues
  • Support the unique event handling mechanism of the Imsys processors (interrupts and services)
  • The services are accessed via a trap, thus enabling the RTOS to be separated from the applications
  • Support on-line scheduling and several scheduling policies, priority, periodic and asynchronous scheduling policies. The thread having the highest priority at a given time is selected for execution
  • Supports advanced features for analyzing and supervising at run-time
  • Integrated in the Imsys Developer environment

To build the complete system software of the Imsys platforms, the Rubus JOS is joined by file system, a number of drivers, support for TCP/IP, etc.

For programmers wanting to access the operating system directly the Rubus JOS kernel has an API defined in C and is supported by the C compiler. When programming in pure Java the operating system is invisible since it is encapsulated by the Java Virtual Machine.