High performance multi-core processors are providing opportunities to consolidate multiple applications into a single system. However, embedded applications often have real-time requirements that cannot be put in jeopardy by other software clamoring for the same system resources such as CPU cycles and memory.

To provide greater security and reliability for critical code, designers should consider OS with multi-core partitioning, such as QNX Software Systems "Secure Partitioning for Multi-Core Processors," which guarantees system resources as specified by systems designers. Real-time applications can be put into secure partitions that receive a guaranteed minimum of CPU time and memory, even when the system is heavily loaded.

Unlike prior partitioning methods that are often based on single-processor systems, multi-core secure partitioning scales easily to support additional processing cores. This approach offers two immediate advantages: system resources are partitioned at a system level, not at a per core level, and the design uses just one OS copy instead of proliferating OS copies to each core. This holistic approach increases flexibility and resource efficiency. To further increase efficiency, QNX secure partitioning dynamically reassigns CPU time from partitions not under full load to partitions that need additional processing time, providing a higher level of CPU utilization and performance.

Partitioning can also protect mission-critical applications that otherwise may be susceptible to denial of service attacks or faulty subsystems that overload the CPU or exhaust memory. Since partitions are assured a minimum amount of system resources, they are insulated from untrusted applications or rogue attacks that could compromise the entire system. Secure partitioning has been applied to safety-critical applications such as aerospace, medical and military, but has many uses for networking, industrial, and automotive applications as well.