KEOBJ is an object-oriented micro-kernel optimized for advanced embedded applications, and it particularly targets Digital Signal Processors (DSP) and RISC processors in multimedia environments.
Its main features are object-orientation, real-time behavior, signal processing support, micro-kernel architecture and scalability.
1.1 Object-orientation
The kernel is a collection of system classes exported to the applications (e.g Process, Thread, Memory, ...). An object name space provides a way to locate any public object (e.g. IPC, memory) using a symbolic path. The kernel is written in C++ and is easily portable.
1.2 Real-time behavior
The design stresses fast response time and predictability to qualify for the real-time label. The kernel is reentrant and preeemptable.
1.3 Signal processing support
Besides providing an architecture appropriate for most general purpose applications, the kernel incorporates dedicated features for signal processing applications. This includes two phases interrupt processing, time-deadline scheduling, Inter Process Communications, multiple memory pools, awareness of the constraints due to a single data type (word).
1.4 Micro-kernel architecture
Probably the most important feature of the kernel is the ability to be extended at run-time with new services such as devices drivers, public classes (IPC, file systems, windowing systems). Applications and system services are dynamically loaded by a COFF compatible loader.
The core kernel is customizable at run-time through a personality mechanism to emulate other environments (Operating systems) or to tailor the processes environments.
1.5 Scalability
The API supports physical and virtual memory organizations with the same semantics.
Applications source code will be portable across DSP and RISC processors.
The architecture supports symmetric multiprocessing and distribution (Available by mid-1994).
This document was translated by ms2html v1.8 on 04.06.96.