30 years with QNX: The first multi-core RTOS
- Transfer

Two things are striking when considering this picture. The first, apparently, my computer has 8 cores, not 4. This is because each kernel supports simultaneous multithreading; those. it can perform two tasks at the same time. As a result, the operating system sees each core not as one, but as two processors.
Second, each core shows brief but intense bursts of processor load. Here this phenomenon can have two explanations:
- several software applications suddenly requested a lot of processor time at the same time, or
- one application spawned several running threads sharing workload between different cores.
In this example, the second option: the multi-threaded image processing application uses the processing power of each core when processing 18-megapixel photos at the highest speed - it turns out much faster than if the application used a single core.
For such magic to work out, a computer needs not only a multi-core processor. An operating system supporting symmetric multiprocessing or SMP is also required .
SMP for embedded systems?
We will be back in 1997. At that time, SMP was still the domain of operating systems for large servers and other demanding applications. These systems did not have multi-core processors, of course, but they had several processors running on the same board.
The size, cost and power consumption of these multiprocessor systems made them unattainable for most embedded systems, where the design mantra was dominated not to "do more with more", but "do more with less." Thus, the idea of adding SMP to the operating system for embedded systems seemed exotic at best. However, this is exactly what QSS did back in 1997.
These actions were prophetic. First of all, network equipment companies began to realize that SMP can help solve some computing problems, such as serving routing tables containing hundreds of thousands of records. As a result, these companies began to use QNX SMP as an important part for their high-performance routers. And when multi-core microprocessors began to become available, the same manufacturers found that the migration process is very natural - they just continued to use the same code and the same operating system as before.
SMP in the car?
QNX RTOS was one of the first to support SMP, which allowed it to become perfect by the time multi-core microprocessors began to move to the lower market segment, with lower prices and device performance. For example, Audi uses the QNX SMP to control the ARM Cortex-A9 multi-core processor for the next generation of automotive infotainment systems .
SMP in the car. Who would have thought?
Explosion from the past
And here is what has not seen the light of day since the late 1990s: a press release ( translation ) representing QNX OS support for SMP.