Einführung

Real-Time Scheduling-Algorithmen → Ressourcenzugriff (prioritätenbasiert, unterbrechend)

In manchen Fällen müssen Tasks exklusiven Zugriff auf Ressourcen wie etwa gemeinsam genutzte globale Variablen oder Geräte erhalten, um ein nicht-deterministisches oder allgmein ein unerwünschtes Programmverhalten zu verhindern. Programmteile, in denen solche ein exklusiver Zugriff notwendig ist, heißen kritische Abschnitte.

Tasks, die keinen exklusiven Zugriff haben, müssen warten, bis die Ressource freigegeben wird. Daher muss die Freigabe-Operation überprüfen, ob gerade eine andere Task auf die Ressource wartet und diejenige wartende Task mit der höchsten Prorität aufwecken. Wir nennen die Anforderung einer Ressource P(S) und die Freigabe-Operation V(S), wobei S der jeweiligen Ressource entspricht.

Bei Tasks mit kritischen Abschnitten kann die sogenannte Prioritätsumkehrung auftreten. Im Allgemeinen tritt Prioritätsumkehrung auf, wenn eine Task mit niedriger Priorität eine Task mit höherer Priorität blockiert, weil erstere exklusiven Zugriff auf eine Ressource hat. Im allgemeinen Fall gibt es keine obere Schranke für die Dauer der Blockierung. Insbesondere ist die Länge der Prioritätsumkehrung nicht durch die Länge eines kritischen Abschnitts nach oben beschränkt.

 
Einführung > Real-Time Scheduling-Algorithmen > Ressourcenzugriffsprotokoll (prioritätenbasiert, unterbrechend)

zurück weiter

Startseite   Tutorials   Einführung