Allgemeine Begriffe

Für die Thematik dieses Abschnitts muß der Begriff des Tasks und der Begriff der kritischen Ressource weiter präzisiert werden.

Bislang war der Begriff des Tasks intern unspezifiert. Ein Tasks war 'ein Task' $\tau \in \Gamma$. Jetzt benötigt man für den Task eine spezifische Struktur, um die weiteren Begriffe einführen zu können. Ein Task $\tau_{i} \in \Gamma$ ist ab jetzt ein n-Tupel aus Sektionen


$\displaystyle \tau_{i}$ $\textstyle =$ $\displaystyle \langle Z_{i.0}, Z_{i.1}, \cdots , Z_{i.n}\rangle$ (5.1)

$Z_{i.j}$ ist also die j-te Sektion des i-ten Tasks. Jede Sektion eines Tasks ist ein geordnetes Paar bestehend aus einer Dauer $D$ und einem Kodeabschnitt $\kappa_{i.j}$. Der Kodeabschnitt $\kappa_{i.j}$ ist entweder normaler Kode $NC$ oder kritischer Kode $CC$.


$\displaystyle Z_{i.j} \subseteq D \times (NC \cup CC)$     (5.2)

Betrachtet man einen Befehl $cmd$ als eine Zeichenkette ('string') aus der Menge aller möglichen Zeichenketten über einem Alphabet $\Delta$ -geschrieben $cmd \in \Delta^{*}$-, dann kann man die Menge aller solcher Befehle ('commands') $CMD$ einführen


$\displaystyle CMD$ $\textstyle \subseteq$ $\displaystyle \Delta^{*}$ (5.3)

Die Zeichenketten $lock(S)$, $unlock(S) \in CMD$ seien zwei Befehle, auch geschrieben $L(S)$ bzw. $U(S)$. Es soll gelten:


$\displaystyle CC$ $\textstyle \subseteq$ $\displaystyle \{L(S)\} \times CMD^{*} \times \{U(S)\}$ (5.4)

d.h. ein kritische Kode $CC$ ist ein solcher, in dem hintereinander ein Lock- und dann ein unlock-Befehl bezogen auf den gleichen Semaphor $S$ auftritt, dazwischen kann irgendeine Folge von Befehlen stehen, allerdings keine anderen Locks oder Unlocks des Semaphoren $S$. Durch $lock(S)$ wird ein Semaphor $S$ angefordert, dem eine Ressource $R$ zugeordnet ist und durch $unlock(S_{R})$ wird diese Ressource $R$ wieder freigegeben. Entsprechend soll gelten:


$\displaystyle NC \subseteq (CMD-\{L(S)\} \cup \{U(S)\})^{*}$     (5.5)

d.h. ein nichtkritischer Kode $NC$ besteht aus einer Folge von Befehlen, von denen keiner ein Lock- oder ein Unlock-Befehl ist.

Seien $\kappa, \kappa^{'}$ zwei kritische Kodeabschnitte. Die bisherigen Definition schließen nicht aus, daß der eine kritische Kode $\kappa$ im Verhältnis der $Einbettung/ Inklusion$ zum anderen kritischen Kode $\kappa^{'}$ steht, also $\langle \kappa, \textbf{embedded}, \kappa'\rangle$.

Die maximale Verarbeitungszeit $C$ aus der technischen Tabelle $TT$ ist dann zu verstehen als die Summe aller partiellen Ausführungszeiten $d_{i}$ jeder Sektion $Z_{i}$ eines Tasks $\tau_{i}$, also

$\displaystyle C_{i} = \sum_{j=0}^{n} d_{i.j}$     (5.6)

mit $n$ als Anzahl der Sektionen eines Tasks und $d_{i.j}$ als Dauer der j-ten Sektion des i-ten Task.

Gerd Doeben-Henisch 2013-01-16