Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Wozu braucht man Arbeitsspeicher?

MTN erklärt Fachbegriffe, Teil 14

Wenn Sie im Forum stöbern, so wird oft erwähnt, dass viel Ram den Computer schneller macht. Doch stimmt diese Aussage eigentlich? Zuerst einmal die eher enüchternde Antwort: Nein, die Rechenleistung wird durch mehr Arbeitsspeicher nicht erhöht, doch worin liegen dann die Vorteile, eines üppig ausgestatten Macs?

Die Antwort liegt auf der Hand. Reicht der Arbeitsspeicher nicht, so wird auf die Festplatte ausgelagert. Sieht man sich einmal die Geschwindigkeit der Datenübertragung von Festplatten an, so fällt sofort auf, warum es besser nicht zu Auslagerungen, sogenannten Page-Outs kommen sollte. Auch wenn S-ATA auf dem Papier 150 MB/Sekunde ermöglicht, in der Praxis ist das kaum zu erreichen. Wenn man konstante 50 MB/S schafft, so ist das ein guter Mittelwert. Augelagerte Daten können also mit ungefähr dieser Geschwindigkeit zwischen Arbeitsspeicher und Festplatte hin und her geschoben werden.

Arbeitspeicher wird hingegen deutlich schneller angesprochen. Ein modernes System kann den Inhalt zweier DVDs in einer Sekunde zwischen Ram und CPU transferieren, bei einem G5 mit einem Bustakt von einem GHz sind es 12,8 GB/S. Selbst wenn man also die 150 MB/S von Festplatte zu CPU erreichen würde, ist das noch über 50x schneller, als wenn auf eine ausgelagerte Datei zugegriffen wird.

Als der G5 vorgestellt wurde, lag die große Verbesserung auch im Bustakt, der von mikrigen 166 MHz auf auf 1 GHz pro Prozessor angewachsen war. Bedeutet Bustakt, dass Daten im Bus mit der Geschwindigkeit eines 1 GHz taktenden Prozessors erneut berechnet werden? Nein. Der Bustakt gibt an, wie schnell Daten transferiert werden können. Bei einem Bus von 133/166 sind es 1,3/1,6 GB/S, zudem das Maximum, was der nicht DDR-fähige G4 beherrscht. Schiebt die CPU also Daten in den Arbeitsspeicher, so geschieht das mit einem schnellen Bus (und schnellem Ram) deutlich schneller, als wenn nur eine geringe Taktung zur Verfügung steht. Die Taktraten beim Ram beziehen sich ebenfalls darauf, wie viele GB/S transferiert werden können.

Angesprochen wird der Speicher über Adressen. Eine Adresse bestand in den Anfängen der Computer-Zeit aus 8 Bits, später aus 16 Bits und mit der Einführung des 68000 von Motorola und des 386 von Intel aus 32 Bits. Erst die PowerPC 970-Generation kann mit Adressen und Zahlen, die 64 Bit lang sind, umgehen (genau wie der Opteron/Athlon64 von AMD). Mit 8 Bit konnte man 256 Bytes adressieren, also ansteuern. Dies ist aus heutiger Sicht verschwindent gering. Mit 16 Bit konnte man 64 KB an Speicher verwalten, mit 32 Bit schließlich 4096 MB, also 4 GB. 64-Bit Prozessoren können theoretisch bis zu 18446744069 GB, also 18,4 Exabyte adressieren.
Moderne Betriebssyteme wie Mac OS X verwenden eine Technik namens Virtual Memory, die es erlaubt, mehr Speicher als im Rechner vorhanden zu verwenden. Dabei wird der eigentliche Adressraum in s.g. Pages aufgeteilt. Das sind Bereiche, die für das Betriebssystem eine logische Einheit darstellen, um nur spärlich benötigte Bereiche des Arbeitsspeichers auf die Festplatte auszulagern. Somit kann das Betriebssystem schnell und einfach Platz schaffen, wenn mehr Speicher als im Rechner verfügbar ist, benötigt wird. Eine Page ist im Durchschnitt zwischen 512 und 8192 Bytes groß.
Unter Mac OS X kann man im Terminal durch Starten der Konsolenapplikation "top" nachschauen, wie viele "Pageouts" stattgefunden haben. Ein Pageout bedeutet, dass der Rechner mehr Arbeitsspeicher benötigt als verfügbar ist und somit ein Teil des beanspruchten Speichers ausgelagert werden muss.
Wie aber erkennt das System, dass eine Page nicht mehr im Speicher, sondern auf der Platte liegt? Hier muss man zwischen dem "wahren" physikalischen Adressraum und dem virtuellen Adressraum unterscheiden. Die Software greift auf eine virtuelle Adresse zu, die dann durch die MMU (Memory Management Unit) in eine phsiykalische Adresse im Speicher umgewandelt wird. Zeigt nun die Adresse in eine Page, die nicht im physikalischen Speicher liegt, bekommt dies das System anhand eines "Page Faults" mit. Es muss nun die Page mit dieser Adresse, auf die sich das "Page" Fault bezog, zurück von der Festplatte in den Arbeitsspeicher kopieren. Erst dann können Programme von dieser Adresse lesen und auf die Adresse schreiben.

Selbst bei gut ausgestatteten Rechnern kommt es bei vielen geöffneten Applikationen zu Pageouts. Dies ist in der Praxis nicht sehr abträglich für die Performance. Fängt sich der Rechner allerdings bei vielen offenen Programmen schnell an, zäh zu verhalten und dauert der Wechsel von einer Applikation zu einer anderen mehrere Sekunden, so kann man davon ausgehen, dass zu viel ausgelagert werden muss.

Die erste Auslagerungsdatei ist 64 MB groß. Reicht das nicht aus, so wird eine zweite angelegt und auf 128 MB erhöht. Die nöchsten Schritte sind dann 256 MB, 512 MB und so weiter. Daher kann es bei geringem, freiem Festplattenspeicher vorkommen, dass man einmal die Meldung sieht, es stehe nicht genügend Arbeitsspeicher zur Verfügung.

Was ist dann in der Praxis ein guter Mittelwert? Als normaler Anwender, der neben Textverarbeitung, Internet, iLife hin und wieder auch mal ein Spiel laufen lässt, reichen 512-768 MB Arbeitsspeicher auf jeden Fall aus. Wenn Sie sehr viel mit Grafik arbeiten, sollten Sie nicht unter 1 GB gehen, bei komplexen Video-Aufgaben und anderen speicherintensiven Programmen beginnt der empfohleme Wert bei 2 GB und ist nach oben natürlich offen. Grundsätzlich gilt natürlich, dass mehr Ram nie verkehrt ist, doch eine Erweiterung von 1 GB auf 1,5 bringt dem Privatanwender nicht den großen Performance-Sprung, wie es bei 128 MB oder 256 MB auf 768 MB der Fall ist.
Beobachten Sie auch die Speicherpreise, diese schwanken ziemlich stark und es kann sich lohnen, erst einmal ein paar Wochen den Markt zu beobachten und ein Gefühl für eine günstige Preislage zu erhalten. Wenn Sie wissen möchten, welcher Typ Ram in Ihrem Mac zum Einsatz kommt, können Sie entweder in dieser Tabelle nachsehen, oder sich das kostenlose Programm MacTracker laden.