

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 對稱多處理 (SMP) 支援
<a name="smp-support"></a>

[FreeRTOS 核心中的 SMP 支援](https://freertos.org/symmetric-multiprocessing-introduction.html)可讓 FreeRTOS 核心的一個執行個體跨多個相同的處理器核心排程任務。核心架構必須相同，並共用相同的記憶體。

FreeRTOS [ APIs](https://freertos.org/symmetric-multiprocessing-introduction.html#smp-specific-apis) 在單一核心和 SMP 版本之間基本上保持不變。因此，針對 FreeRTOS 單核心版本撰寫的應用程式應與 SMP 版本編譯，且最少或完全不費力。不過，可能存在一些功能問題，因為對於單一核心應用程式而言，某些假設可能不再適用於多核心應用程式。

一個常見的假設是，在執行較高優先順序的任務時，無法執行較低優先順序的任務。雖然在單一核心系統上是如此，但多核心系統不再是如此，因為多個任務可以同時執行。如果應用程式依賴相對任務優先順序來提供相互排除，則可能會在多核心環境中觀察到非預期的結果。

另一個常見的假設是，ISRs 無法與彼此或與其他任務同時執行。這在多核心環境中不再是如此。應用程式寫入器需要確保適當的相互排除，同時存取任務和 ISRs之間共用的資料。