对称多处理 () 支持 SMP - 免费 RTOS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对称多处理 () 支持 SMP

SMP自由RTOS内核中的支持使自由内核的一个实例能够在多个相同的处理器RTOS内核上调度任务。核心架构必须相同且共享相同的内存。

除了这些额外APIs版本外,Free在单核SMP版本和版本之间基本RTOSAPI相同。因此,为免费RTOS单核版本编写的应用程序应以最少甚至不费吹灰之力使用该SMP版本进行编译。但是,可能会存在一些功能问题,因为一些适用于单核应用程序的假设可能不适用于多核应用程序。

一个常见的假设是,当优先级较高的任务正在运行时,优先级较低的任务无法运行。虽然在单核系统上确实如此,但多核系统则不然,因为多个任务可以同时运行。如果应用程序依靠相对任务优先级来提供互斥性,则它可能会在多核环境中观察到意外结果。

另一个常见的假设是,它ISRs不能与其他任务同时运行,也不能与其他任务同时运行。在多核环境中,情况不再是这样。应用程序编写者在访问任务和之间共享的数据时需要确保适当的相互排斥ISRs。