Unterstützung für symmetrisches Multiprocessing () SMP - Kostenlos RTOS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Unterstützung für symmetrisches Multiprocessing () SMP

SMPDie Unterstützung im Free RTOS Kernel ermöglicht es einer Instanz des freien RTOS Kernels, Aufgaben für mehrere identische Prozessorkerne zu planen. Die Kernarchitekturen müssen identisch sein und denselben Speicher gemeinsam nutzen.

Die kostenlose Version RTOS API bleibt zwischen Single-Core- und SMP Single-Core-Versionen im Wesentlichen gleich, mit Ausnahme dieser zusätzlichen Versionen. APIs Daher sollte eine Anwendung, die für die kostenlose RTOS Single-Core-Version geschrieben wurde, mit der SMP Version mit minimalem bis gar keinem Aufwand kompiliert werden. Es kann jedoch einige funktionale Probleme geben, da einige Annahmen, die für Single-Core-Anwendungen zutrafen, für Multicore-Anwendungen möglicherweise nicht mehr zutreffen.

Eine gängige Annahme ist, dass eine Aufgabe mit niedrigerer Priorität nicht ausgeführt werden kann, während eine Aufgabe mit höherer Priorität ausgeführt wird. Dies galt zwar für ein Single-Core-System, gilt aber nicht mehr für Multi-Core-Systeme, da mehrere Aufgaben gleichzeitig ausgeführt werden können. Wenn sich die Anwendung auf relative Aufgabenprioritäten stützt, um sich gegenseitig auszuschließen, kann es in einer Multicore-Umgebung zu unerwarteten Ergebnissen kommen.

Eine weitere verbreitete Annahme ist, dass sie nicht gleichzeitig miteinander oder mit anderen Aufgaben ausgeführt werden ISRs kann. In einer Multicore-Umgebung ist dies nicht mehr der Fall. Der Anwendungsautor muss beim Zugriff auf Daten, die zwischen Aufgaben und ISRs gemeinsam genutzt werden, für einen ordnungsgemäßen gegenseitigen Ausschluss sorgen.