•  Back 
  •  Das Konzept multipler Dateisysteme verstehen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : FreeMiNT für absolute Anfänger
Author      : Draco (draco@atari.org)
Version     : mint.stg (9/1/2001)
Subject     : MiNT
Nodes       : 73
Index Size  : 2258
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : 
@help       : 
@options    : -i -s +zz -t4 -d10
@width      : 75
View Ref-FileDateisystem-Cache

Der Dateisystem-Cache ist (physikalisch) ein Speicherbereich, wo alle
Diskettenoperationen gepuffert werden. Die Absicht dahinter ist,
die Aktivität der Festplatte zu reduzieren, indem so oft wie möglich
explizite Lese- und Schreibaktionen vermieden werden -
Schreiboperationen benutzen eher den Cache als direkt das Medium, und
auch Leseoperationen greifen eher auf den Cache als direkt auf die
Sektoren der Platte zu. Da der Zugriff auf Speicher üblicherweise
wesentlich schneller als ein Zugriff auf Datenträger, beschleunigt
dies die allgemeine Systemperformance, besonders das Löschen,
Umbenennen oder Ändern der Attribute von mehreren Dateien in einem
Rutsch.

Wie schon gesagt, werden Lesezugriffe auf das Dateisystem zuerst im
Cache, und nur wenn die verlangten Daten dort nicht gefunden werden,
auf dem physikalischen Medium durchgeführt. Eine Schreiboperation wird
Daten in den Cache übertragen, damit diese für spätere Leseoperationen
zu Verfügung stehen. Daher wird eine große Anzahl von Lese- und
Schreiboperationen auf denselben gecacheten Datenblock - wie beim
Umbenennen mehrerer Dateien in einem Verzeichnis -, meistens in einem
einzelnen Plattenzugriff für das Lesen des Blocks, und einem zweiten
für das Zurückschreiben des Ergebnisses auf das Medium resultieren,
anstatt für jeden Eintrag einzelne Schreib/Lesezugriffe zu erzeugen.

Wenn sich alle Zugriffe an den Cache richten, wird natürlich
der Puffer schließlich voll werden, und dann geleert, indem ein Teil
auf das physikalische Medium zurückgeschrieben wird. Dasselbe
geschieht in Zeitintervallen, sodaß das Medium regelmäßig auf neuesten
Stand gebracht wird.

Es gibt etliche Programme, die dem TOS die Funktionalität eines
Dateisystem-Cache zu Verfügung stellen. Sie müssen keines von diesen
je kennenlernen, denn in den FreeMiNT-Kernel ist ein Hochleistungs-
Cachingmodul eingebaut worden. Daher ist es ratsam, alle externen
Cache-Programme, Schreib/Lesepuffer, FAT-Caches und so weiter, zu
deaktivieren, wenn Sie FreeMiNT benutzen, denn diese werden in
Verbindung mit dem in FreeMiNT eingebauten Cache eher Diskzugriffe
verlangsamen als was-auch-immer beschleunigen.

Die Schattenseite des Cachens ist, daß geschriebene Daten nur eine
gewisse Zeit im Cache bleiben. Diese 'gewisse Zeit' beträgt real
einige Sekunden, gemäß der Einstellung in der Datei mint.cnf. Falls
innerhalb dieser Zeitspanne etwas übles passiert, wie ein Stromausfall
oder ein Systemcrash, werden die Daten nie auf die Platte
zurückgeschrieben und ein Datenverlust tritt auf. Dies ist auch der
Grund, warum wir das System mit shutdown-Programmen 'schließen'
müssen, statt einfach den Strom auszuschalten - wenn der Shutdown
ausgelöst wird, stellt das System sicher, daß alle gecacheten Daten
auf das Medium ausgeschrieben wird, bevor der Reboot ausgeführt wird
oder das System angehalten wird.

Wie man die Dateisystem-Caches aktiviert und konfiguriert, steht auch
unter CACHE= im Kapitel Die Datei mint.cnf