Echtzeitprioritäten in Nicht-Echtzeit-Betriebssystemen


8

Wenn ich bei meiner Standardinstallation von Linux Mint den folgenden Befehl ausführe:

comp ~ $ ps -eo rtprio,nice,cmd
RTPRIO  NI CMD
...
99   - [migration/0]
99   - [watchdog/0]
99   - [migration/1]
 -   0 [ksoftirqd/1]
99   - [watchdog/1]

Ich erhalte einige der Prozesse mit einer Echtzeitpriorität von 99.

Was bedeutet rtprioein Nicht-Echtzeit-Linux? Bedeutet dies, dass wenn ich nur ein Programm mit rtprio99 ausführe, es in Echtzeit ausgeführt wird? Woher kommen Echtzeit-Betriebssysteme in dieser Geschichte?

Antworten:


5

„Echtzeit“ bedeutet Prozesse , die müssen durch ihre Fristen abgeschlossen werden oder Bad Things (TM) passieren. Ein Echtzeit-Kernel ist ein Kernel, bei dem die Latenzen des Kernels streng begrenzt sind (vorbehaltlich möglicher fehlerhafter Hardware, die einfach nicht rechtzeitig antwortet) und bei der die meisten Aktivitäten unterbrochen werden können, damit Aufgaben mit höherer Priorität ausgeführt werden können. Im Fall von Linux ist der Vanilla-Kernel nicht für Echtzeit eingerichtet (dies hat Leistungskosten zur Folge, und die herumschwebenden Echtzeit-Patches hängen von einigen Hacks ab, die die Kernentwickler als eklig betrachten). Außerdem macht es keinen Sinn, einen Echtzeitkernel auf einem Computer auszuführen, der einfach nicht mithalten kann (die meisten persönlichen Computer).

Der Vanilla-Kernel verarbeitet jedoch Echtzeitprioritäten, wodurch diese eine höhere Priorität als normale Aufgaben erhalten. Diese Aufgaben werden im Allgemeinen ausgeführt, bis sie freiwillig die CPU liefern. Dies gibt eine bessere Antwort auf diese Aufgaben, bedeutet jedoch, dass andere Aufgaben unterbrochen werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.