Puehlhofer Betriebsysteme1-1.pdf - von Petra Schuster
Puehlhofer Betriebsysteme1-1.pdf - von Petra Schuster
Puehlhofer Betriebsysteme1-1.pdf - von Petra Schuster
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
BETRIEBSSYSTEME 61<br />
Die am häufigsten angewandte Technik ist der Blockcache oder Puffercache.<br />
• Cache ist eine Sammlung <strong>von</strong> Blöcken, die auf die Platte gehören,<br />
aber aus Gründen der Performance im Speicher gehalten werden.<br />
• Der gebräuchlichste Algorithmus zur Verwaltung des Cache ist, alle<br />
Leseanfragen zu überprüfen, ob der benötigte Block im Cache ist:<br />
• Ist der Block im Cache, kann die Leseanfrage ohne Plattenzugriff<br />
beantwortet werden.<br />
• Ist der Block nicht im Cache, so wird er <strong>von</strong> der Platte in den Cache<br />
und dann in den Arbeitsspeicher kopiert.<br />
• Falls ein Block in einen vollen Cache geladen werden muß, muß ein<br />
Block auf die Platte geschrieben werden, falls er nach der<br />
Einlagerung verändert wurde, und der Platz im Cache wird<br />
freigegeben.<br />
• Für die Auswahl des Blockes sind Strategien wie bei der<br />
Seitenersetzung anwendbar:<br />
- FIFO<br />
- Second-Chance<br />
- LRU<br />
- etc.<br />
• Um das Dateisystem möglichst intakt zu halten, ist es wenig sinnvoll,<br />
die Datenblöcke lange im Cache zu halten, bevor sie wieder<br />
zurückgeschrieben werden. Deshalb ist reines LRU wenig<br />
erstrebenswert.<br />
• UNIX erlaubt mit den Befehl sync das sofortige Schreiben aller<br />
modifizierten Blöcke auf die Platte (sog. Nonwrite-Through-Cache).<br />
• MS-DOS schreibt modifizierte Blöcke zu bald wie möglich auf die<br />
Platte (sog. Write-Through-Cache)<br />
• Der Vorteil der MS-DOS-Lösung ist, daß bei Entfernen eines<br />
Datenträgers ohne vorherige Abmeldung (un-mount) keine Daten<br />
verloren gehen und auch das Dateisystem intakt bleibt.<br />
• Der Vorteil der UNIX-Lösung ist die wesentlich bessere Effizienz.<br />
Neben dem Caching ist die Reduzierung der Plattenarmbewegungen eine<br />
weitere wichtige Technik. Dabei werden die zu allokierenden Blöcke auf der<br />
Platte möglichst nah an dem vorhergehenden Block zu platzieren.