•  Back 
  •  Der Verzeichnis-Deskriptor (DD) 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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