Ausblick

Das Hauptthema dieser Vorlesung wird eine Einführung in wichtige RTS-Schedulingkonzepte sein. Ausgehend von dem bisherigen Schedulingalgorithmus $Sched$ (vgl. 2.3) werden nach und nach verschiedene Priotitätsregeln $\pi_{i} \in \Pi$ eingeführt werden, mit denen sich die Prioritäten der aktuellen Ereignismengen ermitteln lassen. Im Prinzip handelt es sich um ein Schichtenmodell:

\fbox{
\parbox{9.5cm}{
\textbf{Prioritätsregeln $\Pi$}
\\
\begin{enumerate}
\i...
... PC := \textit{Priority Ceiling Protocol}, PI $\subseteq$ PC
\end{enumerate}}}

Die nominalen Prioritäten $\Pi_{nom}$ werden durch eine der Regeln Time Line (TL), Rate Monotonic (RM), Deadline Monotonic (DM), Earliest Deadline First (EDF)) berechnet. Sofern keine kritischen Ressourcen im Spiel sind, reichen diese Prioritätsregeln aus. Sobald aber mehr als ein Task eine kritische Ressource benutzt, können unterschiedliche Probleme auftreten, die entweder die Ausführungsordnung erheblich stören können (z.B. das Priority Inversion Problem) oder die Ausführung vollständig zum Erliegen bringen könne (z.B. das Deadlock Problem). Um diese Probleme zu lösen, können schrittweise zusätzliche Regeln eingeführt werden. So kann man das Priority Inversion Problem durch das Priority Inheritance (PI) Protokoll minimieren. Das Deadlock-Problem läßt sich weitgehend durch das Priority Ceiling Protokoll lösen. Dabei ist zu beachten, daß PI Teil von PC ist. Dies bedeutet, wenn ein Task $\tau_{j}$ mit Priorität $\pi_{j} > \pi_{i}$ eine Ressource R aufgrund von PC nicht benutzen kann, weil er durch einen Task $\tau_{i}$ mit Priorität $\pi_{i}$ blockiert wird, dann erbt $\tau_{i}$ die Priorität $\pi_{j}$ für die Dauer der Ausführung von R.

Bei Taskmengen $\Gamma^{Dep}$ mit Abhängigkeiten ('dependencies') kann man diese Abhängigkeiten so umformen, daß eine Taskmenge $\Gamma^{+}$ ohne Abhängigkeiten entsteht. Diese kann man dann mit den Prioritätsregeln TL, RM, DM bzw. EDF berechnen. Treten zusätzlich aperiodische Tasks auf, dann gibt es im allgemeinen Fall keine Lösung, sondern nur für spezielle Randbedingungen.

Gerd Doeben-Henisch 2013-01-16