Ok, eine kurze Erklärung zu Readyboost:
Was ist das Problem:
- Programme legen ihre benötigten Daten im Hauptspeicher (RAM) ab.
- Wenn diese Datenmenge aller gerade laufenden Programme die Größe des Hauptspeichers erreicht muss irgendwo mehr Speicher her.
- Zur Zeit werden die lange nicht mehr benutzten Daten - die eigentlich im Hauptspeicher sein sollten - auf den Hintergrunsspeicher (also normalerweise die Festplatte) ausgelagert. Diesen Effekt kennt jeder, der schon mal mit einem Rechner mit wenig Hauptspeicher gearbeitet hat. Da rattert dann die Festplatte die ganze Zeit. Dieser Prozess nett sich "swapping".
- Wenn ein Programm jetzt Daten benötigt, die ausgelagert worden sind, müssen diese wieder zurückgeladen werden und dafür andere auf die Festplatte geschrieben werden.
Wie kommt man auf die Idee:
Ok, soweit der aktuelle Stand. Die Ingenieure von Microsoft haben sich Gedanken gemacht, warum swapping so langsam ist und kamen darauf, dass das primär daran liegt, dass die Zeit von Beginn der Anfrage an die Festplatte, bis zur Lieferung der ersten Daten viel zu lange lauert (Zugriffszeit). Die Geschwindigkeit, wie die Daten dann eintrudeln ist nicht so relevant, weil wir hier von sehr kleinen Datenfetzen (normalerweise 4 KiloByte) sprechen.
Die Ingenieure suchten jetzt also nach billigen Speichermedien mit einer kurzen Zugriffszeit und fanden FlashMedien, wie zum Beispiel USB-Sticks und SD-Karten. Diese übertragen die Daten zwar recht langsam, dafür braucht es aber fast keine Zeit, das erste Bit zu liefern.
Was ist Readyboost:
Readyboost erweitert die sogenannte "Speicherhirarchie" also um eine Ebene:
CPU und CPU-nahe Speicher (Caches...) <-- ganz häufig benötigte Daten.
Hauptspeicher <-- Her sind die Daten, die oft gebraucht werden. (working set)
USB-Stick <-- Hier die Daten, die nicht mehr in den Hauptspeicher passen, aber in nächster Zeit wohl bald wieder gebraucht werden.
Hintergrundspeicher <-- Hier die übrigen Daten.
Natürlich könnte man sich noch andere Methoden vorstellen, die "Wichtigkeit" der Daten zu bestimmen, nicht nur die Zeit, seit dem letzten Zugriff (LRU-Strategie); z.B. wäre es meiner Meinung sinnvoll die Hintergrundprozesse, wie z.B. den Virenscanner oder die Windows Updates nicht so wichtig zu nehmen, denn der Nutzer hat es gerne, wenn seine Programme, also z.B. der Internet Explorer schnell laufen. Ich glaube das wird sogar gemacht.
Quelle:
- Jedes Buch über Betriebsysteme: Z.B. Andrew S. Tannenbaum: Moderne Betriebssysteme 2. Auflage, Seiten 209 bis 284.
- Videos auf
www.microsoft.com "IT's showtime" über Windows Vista.
-
http://www.microsoft.com/windowsvista/features/foreveryone/performance.mspx