Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
Speicher kann man nie genug haben...
nur leider gab es mal eine Zeit, da war (RAM)Speicher richtig teuer, ok im Verhältnis zu Festplattenspeicher ist (RAM)Speicher immer noch sehr teuer. Aktuell (Dez. 2005) kosten 200GB HD so ca. 100€ dafür bekommt man aber auch nur ca. 1GB DDR-RAM.
Datum |
Größe |
Preis |
Apr. 1984 |
64KB RAM (Atari XL) |
350DM (~175€) |
Dez. 2005 |
200GB HDD |
100€ |
Dez. 2005 |
1GB DDR-RAM |
100€ |
Mai 2018 |
75€ | |
Mai 2018 |
2TB HDD |
50-120€* |
Mai 2018 |
500GB SSD |
~130€* |
Eine Professorin sagte einmal, am Ende kostet ein PC fast immer gleich viel, nur die Hardware wird immer leistungsfähiger.
Da aber heutige Rechner ab und zu mehr Speicher brauchen, als wirklich vorhanden ist, man möchte die gerade offenen Programme schliesslich nicht andauernd öffnen(starten) und schließen, gibt es sog. Swap, Speicher der nur auf der Festplatte existiert. Da aber heutige Prozessoren Programme nur im wirklichen RAM ausführen können, muß der Speicher bevor er vom Prozessor genutzt werden kann in das RAM geladen werden. Dabei wird der RAM Speicher in sog. Pages (4KB, 8KB, 1MB...) aufgeteilt. Jedesmal wenn der Prozessor seinen Adresspointer ändert und ein Pagewechsel ansteht also eine andere Page nutzen möchte, die nicht im RAM vorhanden ist, wird eine Exception ausgelöst, die dafür sorgt, das die entsprechende Page von der Festplatte geladen wird. Da aber die Adresse evtl. nicht passen, gibt es einen Memory Controller (MMU), der eine Tabelle hält, in der festgehalten wird, welche Page jetzt welchen Speicherbereich enthält. So sieht es für den Prozessor wie linearer Speicher aus, ist es aber nicht. Der Prozessor merkt davon nichts. Da aber nicht alle Pages ins RAM passen, gibt es noch eine Pageverwaltung, die für jede Page entscheidet, ob sie ausgelagert oder sogar verworfen werden kann. Je besser so eine Pageverwaltung arbeitet, desto schneller arbeitet ein Rechner mit wenig RAM. Eigentlich ist dieser Prozess selbst für Entwickler transparent, er muß sich eigentlich nicht darum kümmern. Wenn ein Entwickler allerdings dafür sorgt, das seine häufig durchlaufenden Routinen in ganz wenigen Pages liegen, kann das allerdings ein Geschwindigkeitsvorteil bringen. Da ja weniger Pages bewegt werden müssen.
Sollte ein Rechner häufig auf Swap Speicher ausweichen, ist es besser in eine RAM Erweiterung zu investieren, da dadurch ein zügiges Arbeiten gewährleistet bleibt.
Swapspeicher ist evtl. etwas schneller, wenn er in einer eigenen Partion liegt, als Speicher, der in einem Filesystem liegt, da zur Verwaltung nicht noch die Filesystemverwaltung hinzukommt, aber der größte Nachteil ist der, er ist nicht einfach erweiterbar, deshalb meine Empfehlung, Swapspeicher immer im Filesystem anlegen.
# Hier ein Gigabyte Swap (1073741824 Bytes) dd if=/dev/zero of=/swapfile.bin bs=1M count=1024 mkswap /swapfile.bin swapon /swapfile.bin