Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File11.21.3.1.2 dd_refcnt TOS Der Referenzzähler. Dieser Eintrag wird nur vom Kernel verwendet, muß vom XFS beim Erstellen eines DD auf 0 initialiert (bei der root am besten auf 1, s.o. bei xfs_drv_open) und bei jeder Übergabe an den Kernel (-> xfs_path2DD) um 1 inkrementiert werden. D.h. daß xfs_path2DD beim Zurückgeben eines neuen DD (der also vom Kernel sonst nicht referenziert wird) den Referenzzähler auf 1 setzen muß. Wenn der Referenzzähler ungleich 0 ist, hat der Kernel Zeiger auf diesen DD, und er darf keinesfalls vom XFS freigegeben werden. Der Kernel zählt den Referenzzähler jedesmal um 1 herunter, wenn er einen DD nicht mehr benötigt. Erreicht der Zähler dabei Null, wird xfs_freeDD aufgerufen. Das XFS kann dann den DD freigeben oder ansonsten erst beim Aufruf von xfs_garbcoll (der "garbage collection") oder bei xfs_drv_close. Achtung: Die root darf während der Lebensdauer eines gemounteten Dateisystems nicht freigegeben werden. Der Referenzzähler der root sollte mit 1 vorbesetzt werden, um zu verhindern, daß er per free_DD freigegeben wird. Querverweis: XFS-Konzept in MagiC Datenstrukturen für ein XFS