Vorbereitung Klausur < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 18:50 Mo 29.05.2006 | Autor: | Herby |
Hallo noch einmal,
sodele
nächste Aufgabe:
In Datenbanksystemen benutzt man bei der Bearbeitung von Transaktionen häufig Optimistische Sperrverfahren, bei denen für jeden einzelnen Datensatz das Datum der letzten Änderung (DLÄ) in der Datenbank vermerkt ist. Eine Transaktion führt alle Datenänderungen zu¬nächst auf privaten Kopien aus. Sie merkt sich in den Kopien das DLÄ der Originale. Ist die Transaktion insgesamt mit Ihrer Arbeit fertig, überschreibt sie die Originale mit ihren Kopien und setzt das neue DLÄ für die Originale. Das gelingt aber nur dann, wenn zu diesem Zeit¬punkt alle DLÄs der Originale mit dem gespeicherten DLÄs in den Kopien übereinstimmen. Ansons¬ten wird die Transaktion zurückgesetzt und fängt von vorne an.
(a) Welches grundsätzliche Problem, das Sie aus dem Bereich der nebenläufigen Programme kennen, verursacht dieses Verfahren?
- Das riecht nach Starvation
(b) Begründen Sie Ihre Antwort!
- ich habe es geahnt wenn immer eine (Transaktion XX) genau dann Daten ändert, bevor die andere Transaktion (überschreiben) endlich den Abschluss schafft, muss sie einen neuen Anlauf nehmen (Rollback). Das Problem tritt besonders auf, wenn die letzte Transaktion (überschreiben) langsam ist, dann können bereits wieder Daten geändert worden sein und die Transaktion beginnt von neuem.
- -- -- so richtig interpretiert?
(c) Unter welchen Bedingungen tritt dieses Problem besonders häufig auf?
wenn viele Benutzer auf die Daten zugreifen und sie häufig ändern.
(d) Welche Transaktionen sind dann besonders stark betroffen?
je ne sais pas auch c) verstehe ich nicht so richtig!
Aufgabe:
Sei T eine Menge von Threads und [mm] W\subseteq [/mm] TxT eine reflexive und transitive Relation, die angibt, welche Threads direkt oder indirekt aufeinander warten. Wir schreiben [mm] t\sim_Wt', [/mm] wenn [mm] (t,t')\in [/mm] W und [mm] (t',t)\in [/mm] W, und definieren [t][mm] _W=\{ t' | t\sim_W t' \} [/mm] sowie [mm] T_W= \{ \[t\]_W | t \in W \} [/mm] . W hat genau dann einen Deadlock, wenn [mm] |T|>|T_W|.
[/mm]
um das erste [mm] t_w [/mm] in der Mengendefinition von [mm] T_W [/mm] stehen eckige Klammern!
hier verstehe ich [mm] T_W=....... [/mm] nicht was wird damit ausgesagt? Und das mit der Mächtigkeit |T| (sofern das überhaupt als Mächtigkeit zählt
(a) Wie groß muss W mindestens sein, um einen Deadlock zu enthalten?
(b) Wie groß kann W höchstens sein, ohne einen Deadlock zu enthalten?
(Hinweis: Beantworten Sie (a) und (b) in Abhängigkeit von der Mächtigkeit von T, i. e. |T|.)
(c) Was beschreibt folgende Relation [mm] W_W \subseteq T_WxT_W [/mm] = [mm] \{ ( \[ t \]_W, \[ t' \]_W)| (t,t')\in W \} [/mm] ?
um das [mm] t_W [/mm] und $ t'_W $ stehen eckige Klammern!
Bei dieser Aufgabe wären Tipps herzlich willkommen
Liebe Grüße
Herby
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:20 Do 01.06.2006 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|