Securely integrates subsystems with different reliabilities
"Kernel Protection" and "Core Partitioning" enable secure integration of subsystems with different reliabilities
Promotes reuse of software assets
In eT-Kernel Multi-Core Edition Memory Partitioning, existing kernel applications can be reused without any change, and software programs designed for single processors and/or AMP-based programs can be easily reused. Since the exception manager catches the error if an unexpected behavior occurs, memory corruption in kernel and other partitions can be detected. This brings more system reliability and security at your finger-tips, and helps improve the overall system with easy detection of defects.
Provides seamless communication between partitions
eT-Kernel Multi-Core Edition Memory Partitioning provides two types of communication APIs between partitions.
APIs for communication API between tasks/processes
Inter-task synchronous communication and exclusion APIs similar to the ones intended for single cores can be used within tasks/processes. For instance, POSIX named services (such as named pipes and named semaphores) can be used, or you can mount several additional physical file system plug-ins into a logical file system (LFS), resulting in more transparent file access. You can use a POSIX API's memory-based objects (such as mutex, condvar) and message boxes using shared memory between partitions. From this, it is easy to reuse single-core software, or even multi-core software. Moreover, another advantage is the smooth migration of software components between partitions.
API for sharing memory between partitions
This is the shared memory that can be used between several partitions. A memory acquisition system call has been added in addition to the malloc library. You can make the best use of the cache-coherency feature of MPCore, etc.
Sharing of device drivers and middleware
As a general rule, kernel applications cannot be shared beyond partitions, as explained above. However, there are unique cases where you need to share the kernel applications, possibly because the system design requires it, or because it consumes more resources to have several copies of kernel applications in each partition. To meet such needs, the eT-Kernel Multi-Core Edition Memory Partitioning provides the "Kernel Link Area". Kernel applications are deployed in this area and can be used by applications from all partitions. Although this common program cannot access kernel memory, it can access the local memory of all partitions. Note that applications other than the kernel have no access to local memory. However, this approach requires detailed and very thought-out software design since the programs deployed in this area imposes a risk of destroying the memory in the partition.
Integrated debugging of all partitions by using the "eBinder" development environment
A single instance of the OS and a single debugging environment with eBinder makes multi-core based development very easy.
Advantages over Hypervisor
Although hypervisor, designed initially for the server environment, can be used to achieve system protection in operating systems, eT-Kernel Multi-Core Edition Memory Partitioning has the following features that hypervisor lacks:
- Partitioning allows smoother collaboration between partitions
- Easier software relocation/reuse between partitions
- Reuse of kernel applications such as device drivers and middleware
- System configuration by one eT-Kernel Multi-Core Edition OS