Title:

Garbage Collection für Parallele und Verteilte Systeme

Home
deutsch
  
ISBN: 0132826453   ISBN: 0132826453   ISBN: 0132826453   ISBN: 0132826453 
 
|<< First     < Previous     Index     Next >     Last >>|
  Wir empfehlen:       
 

– 8 – lectors  erreicht,  so  wird  es  grau  markiert.  Nachdem  alle  Objekte,  auf  die  von  einem grauen  Objekt  gezeigt  wird,  untersucht  und  auch  grau  markiert  worden  sind,  wird  das graue Objekt schwarz markiert [Wi93]. Für die GC bedeuten die Farben folgendes: Ist ein Objekt an Ende der Garbage Detection-Phase noch weiß, so wurde es bei der Tra- versierung des Collectors nicht erreicht und ist somit überflüssig. Graue Objekte müssen vom Collector noch mal untersucht werden, weil entweder die direkten Referenzen ihrer Zeiger noch nicht untersucht wurden oder die Erreichbarkeit zu den restlichen Objekten vom  Mutator  im  Hintergrund  verändert  wurde.  Schwarze  Objekte  sind  vom  Collector schon vollständig abgearbeitet, d.h. sie wurden vom Collector erreicht und ihre unmit- telbaren Nachfolger sind auch bereits untersucht worden [Kap. 8, Jo96].   Das in Abb. 1 dargestellte Beispiel, hat gezeigt, dass es zu Konsistenzproblemen kom- men  kann,  wenn  der  Mutator  Zeiger  von  Objekten,  die  vom  Collector  schon  abschlie- ßend untersucht und schwarz markiert worden sind, auf weiße, d.h. noch nicht erreichte, Objekte,   setzt   (Zelle   A   in   Abb.   1   b).   Deshalb   spricht   man   von   der   sogenannten Schwarz-Weiß-Invariante oder der Drei-Farben-Invariante [MMN02] -     als Eigenschaft eines Verweisgraphen, dass keine Kante von einem schwarzen Knoten zu einem weißen existiert. 3.1.3 Barrier-Methoden Grundsätzlich  gibt  es  zwei  Verfahren,  die  einen  Mutator  daran  hindern  sollen,  einen Zeiger  von  einem  schwarzen  auf  ein  weißes  Objekt  zu  setzen.  Mit  Hilfe  einer   Read- Barrier (Lesebarriere) wird verhindert, dass ein Mutator überhaupt weiße Objekte sieht. Möchte  der  Mutator  auf  weiße  Objekte  zugreifen,  werden  diese  zuerst  vom  Collector bearbeitet, bevor der eigentliche Zugriff erfolgt.   Bei der zweiten Methode, der  Write-Barrier (Schreibbarriere), wird aufgezeichnet, wel- che  Zeiger  der  Mutator  während  der  GC  von  schwarzen  Objekten  auf  weiße  Objekte herstellt.  Der  Garbage  Collector  kann  dann  betroffene  Knoten  analysieren  bzw.  noch mal neu untersuchen. Ohne eine Write-Barrier (und Read-Barrier) kann es vorkommen, dass  ein  weißes  Objekt  fälschliche rweise  als  Garbage  klassifiziert  wird,  wenn  erstens ein  Zeiger  von  einem  schwarzen  zu  dem  weißen  Objekt  gesetzt  wird  (Bed.  1)  und zweitens der Originalverweis (z.B. von einem anderen grau markierten Knoten zu dem weißen)  ze rstört  wird  (Bed.  2)  (vgl.  Abb.  1),  bevor  der  Collector  diesen  sieht.  Laut Wilson  [Wi94]  gibt  es  zwei  unterschiedliche  Ansätze  für  eine  Write-Barrier,  die  sich auf   diese   beiden   Bedingungen   konzentrieren.   Zum   einen   gibt   es   den   Snapshot-at- beginning Collector, der aktive Datenstrukturen zu Beginn der GC statisch sichert. Da- mit wird siche rgestellt, dass der Collector Originalreferenzen zu weißen  Objekten auch
  
An Introduction to Design Patterns in C++ with Qt (Prentice Hall Open Source Software Development)
Siehe auch:
Advanced Qt Programming: Creating Great Soft...
C++ GUI Programming with Qt4 (Prentice Hall...
C++ Coding Standards: 101 Rules, Guidelines and B...
Foundations of Qt Development (Expert's Voic...
C++11: Der Leitfaden für Programmierer zum neuen...
The Boost C++ Libraries
 
   
 
     
|<< First     < Previous     Index     Next >     Last >>| 

Back to the topic site:
StudyPaper.com/Startseite/Computer/Informatik

External Links to this site are permitted without prior consent.
   
  Home  |  deutsch  |  Set bookmark  |  Send a friend a link  |  Copyright ©  |  Impressum