| Architected for reliability |
|
Traditional operating systems can crash, lock up, or execute uncontrollably, resulting in costly consequences—a lost satellite, a stalled car, a failing medical monitor. But the INTEGRITY RTOS protects both critical applications and itself from the malfunctions that can lead to these failures.
To do this, INTEGRITY provides guaranteed system resources that ensure that CPU time and memory resources will always be available to individual processes, no matter what any other process attempts to do.
Malicious or unintended events can deny access to system resources and keep system processes from running as intended. To prevent these denial-of-service attacks, INTEGRITY can assign fixed budgets of CPU time and memory to each process. By guaranteeing a time window for a particular process, these fixed budgets also preserve the integrity of other processes by preventing running tasks from executing beyond their window.
|
|
| True, hard real-time performance |
|
As one of the first RTOSes to leverage hardware memory-management units (MMUs), INTEGRITY is a true, hard real-time operating system that never sacrifices real-time performance for security and protection. INTEGRITY can respond to events in nanoseconds, guaranteed.
All INTEGRITY kernel services have been carefully optimized to minimize the overhead of system calls. System calls can be suspended to allow others to execute. INTEGRITY uses a true real-time scheduler that supports multiple priority levels and enables complete control over CPU percentage allocation.
The INTEGRITY RTOS always services the highest priority interrupt with absolute minimum latency. To guarantee this, the kernel never masks or blocks interrupts. The kernel also avoids instructions with long latencies that could temporarily block interrupts on some systems.
|
Guaranteed memory resources |
|
The INTEGRITY RTOS protects memory many ways:
- from exhaustion
- from damage
- from unauthorized access
INTEGRITY’s unique memory quota system keeps one address space from exhausting the memory of any other.
To ensure adequate kernel memory, INTEGRITY requires that kernel memory not be used for messages, semaphores, or other kernel objects created in response to process requests. Instead, the kernel performs all services requested by a process using the memory resources that the requesting process supplies.
To prevent the risk of user stack overflow, INTEGRITY’s kernel has its own memory stack. Without this, the kernel would need to access the user process’ stack. But this can lead to problems because it is impossible for the user process to anticipate the maximum stack size if it is subject to use by unknown code (i.e., the kernel).
|
Advanced multicore support |
|
The modern architecture of INTEGRITY is well suited for multicore processors targeting embedded systems. INTEGRITY provides complete Asymmetrical Multiprocessing (AMP) and Symmetrical Multiprocessing (SMP) support that is optimized for embedded and real-time use. Embedded system designers can select the multiprocessing architecture that is right for the task. When coupled with the advanced multicore debugging features found in the Green Hills MULTIŽ tool suite, developers will reduce their time-to-market while increasing system performance and reliability.
|
Embedded virtualization: INTEGRITY Multivisor |
|