Next: The Main Task
Up: Concepts
Previous: Logical Layering
Contents
OpenRG is designed as a single threaded client application. The coordination
logic component, Main Task, is the application that evokes life in the functional
modules. In essence, it is the system's core. The single-threaded design has
numerous benefits, mainly:
- OpenRG can operate on embedded RTOS's.
- OpenRG can be easily ported to other operating systems.
- Inter Process Communication (IPC) is simplified - functional tasks
communicate with the Main Task using a simple function call. Conversely,
ordinary multi-process design involves information packaging, IPC
tunneling and parsing by the receiving side.
- Context switches are minimized.
- Memory footprint is reduced by linking all of the modules together,
eliminating code needed for IPC, configuration and synchronization.
- Synchronization issues between processes/threads are avoided. Tasks
cannot be interrupted while processing - only when waiting for a
callback.
- Debugging is easier - system execution can be traced from the initial
Web-based management button click, all the way down to the actual
low-level operation.
Jungo Software Technologies