2016-05-04 9 views
-1

Ich habe diese auf eingebettete Systeme im Zusammenhang Frage, diesen Ausdruck, die ich in einer Quelldatei von einem Dispatcher gefunden:Was ist ein nicht präemptives Mehrraten-Betriebssystem?

What is a multi-rate non preemptive OS/Dispatcher ? 

weiß, dass ich ein wenig über Dispatcher, nicht präemptiven Systeme RTOS basiert auf meiner Forschung etc .. Aber ich habe den Ausdruck nicht kombiniert gefunden.

Was ich verstehen kann, ist, dass der Dispatcher die Entität ist, die für das Hinzufügen eines Prozesses/Threads zur Ausführungswarteschlange verantwortlich ist. Nicht preemptiv bedeutet, dass eine Aufgabe, wenn sie gestartet wurde, nicht durch eine andere Aufgabe gestoppt werden kann, bis sie beendet ist. Multi-Rate bedeutet, dass der Dispatcher weiterhin Aufgaben wie eine while (1) -Schleife ausführt.

Jede mögliche Hilfe geschätzt, dank

Hinweis: Der Multi-Rate-Tag noch auf nicht SO existieren, damit es nicht erwähnt ist: p

Antwort

2

Dieser Artikel enthält eine große Erklärung und Beispiel eines Mehr - Rate non-preemptive scheduler: Multi-Rate Main Loop Tasking

Zusammenfassend stellen Sie sich einen Scheduler oder eine Hauptschleife vor, die eine Reihe von Funktionen aufruft, die jeweils eine andere Aufgabe darstellen. Nicht preemptiv bedeutet, dass eine Task keine andere Task vorwegnehmen kann, sondern dass jede Task zum Scheduler (Hauptschleife) zurückkehrt (zurückkehrt), sodass der Scheduler eine andere Task ausführen kann. Multi-Rate bedeutet, dass der Scheduler jede Task-Funktion mit einer anderen periodischen Rate aufrufen kann. Mit anderen Worten, nicht jede Aufgabenfunktion wird jedes Mal durch die Hauptschleife aufgerufen, und einige Aufgabenfunktionen werden häufiger als andere aufgerufen.