Einzelnen Beitrag anzeigen
Alt 30.04.2002, 16:43   #44
Betto
Inventar
 
Registriert seit: 26.06.2001
Alter: 55
Beiträge: 2.021


Standard Caches II

Hallo,

Festplatten haben ihren eigenen, eingebauten "Hardware"-Cache, derzeit in der Regel 2 MB. Das ist schon deshalb so, weil der Lesekopf u. U. bei fragmentierten Dateien das Fragment zuerst liest, die ihm zuerst "über den Weg läuft" in seiner Bewegung - das ist nämlich insgesamt schneller, weil die Kopfbewegungen minimiert werden. Die richtige Reihenfolge wird nach der Zwischenspeicherung ermittelt und die Datei wieder richtig zusammengesetzt. Solche Kunststückchen wären ohne Cache gar nicht möglich. Abgesehen davon dient es zur Ausführung der Firmware. (Daher werden auch manchmal "krumme" Cachegrößen angegeben - die sind dann netto, bei geladener Firmware.)

Trotzdem - 2 MB verhindern nur das Allerschlimmste bei modernen Datenmengen. Daher verwaltet jedes moderne Betriebssystem (dazu zählt in diesem Falle sogar DOS ab etwa 3.0) seinen eigenen Zwischenspeicher. Unter DOS wird dieser Mechanismus durch ein eigenes, ausführbares Programm erledigt (Smartdrv), der beim Systemstart geladen wird. Da man dort manuell eingreifen konnte, hatte ich mal vor Jahren meine Platte ohne Soft-Cache (im RAM) getestet..... es war grauenhaft! Booten nicht unter zehn Minuten, wenn ich mich richtig erinnere, trotz Plattencache.

Bei der Verwaltung eines Caches spricht man sogar von "Strategie" - es handelt sich sogar um eine versuchte Zukunftsvorhersage: Was wird als nächstes benötigt? Das sollte optimalerweise schon vorher im Cache sein. In dieser Hinsicht hat ein Betriebssystem natürlich einen besseren "Überblick" als es eine Festplattenlogik je haben kann - noch ein Grund für zusätzliche Caches. Und wenn der Speicher gerade nicht gebraucht wird: Warum nicht?

Es spricht nichts gegen eine mehrstufige Cachestrategie - sie ist sogar absolut üblich. P III, P4, Athlon, Duron, alle haben sowohl Primär- als auch Sekundär-Cache. Aus der Perspektive des Prozessors ist der Hauptspeicher die lahme Ente, nicht die Platte (die ist ja schon jenseits von gut und böse). Manche werden sogar von Third-Level-Cache versorgt: AMD K6-III, Compaq Alpha.

Insofern spricht nichts dagegen, daß Win2k einen großen, momentan nicht benötigten Teil als Cache abzweigt. So sind die 355 MB tatsächlich gemeint. Erfragt ein Programm per Systemvariable den verfügbaren Hauptspeicher, wird ihm aber trotzdem die volle Größe übermittelt und auch bei Bedarf zur Verfügung gestellt. - Meine Auslagerungsdatei ist fix auf 512 MB eingestellt und liegt auf einer eigenen, separaten Partition (die erste und damit schnellste) zusammen mit dem Bootloader von Win2k.

- Das Erste zuletzt : Speziell CPUIdle verändert nicht den Takt, sondern setzt nur das Flag HALT. Insofern läuft es zwar ständig (nämlich immer in der "Idle"-Zeit), aber es tut das Gegenteil von dem, was eine 100%-Last suggeriert. Das Argument mit der rechnerisch nicht angepaßten Anzeige gilt nur für Mobilprozessoren, die ihre Taktfrequenz im Betrieb verändern können, dazu gehören aber meine Prozessoren (leider ) nicht.

Grüße,

Betto
Betto ist offline   Mit Zitat antworten