Google wird die Memory Pagesize im Android-System auf 16 Kilobyte erhöhen. Diese Änderung soll die Geschwindigkeit des Android-Systems und seiner Anwendungen verbessern. Doch was genau steckt dahinter?
Die Pagesize gibt im Wesentlichen Aufschluss über die Art und Weise, wie das System seinen Arbeitsspeicher verwaltet. Arbeitsspeicher, auch bekannt als RAM (Random Access Memory), ermöglicht schnellen Zugriff auf Daten. Allerdings ist diese Definition in der heutigen Zeit nicht mehr vollständig, da virtueller Speicher hinzugekommen ist, der Anwendungen und Systemkomponenten zugewiesen wird.
Der virtuelle Speicher bietet den Vorteil, dass jedes Programm seinen eigenen, vom Speicher anderer Programme getrennten Speicherplatz erhält. Dies stellt einen bedeutenden Unterschied zum Speichermanagement auf PCs vor 30 Jahren dar. Darüber hinaus verhindert dieses Management, dass ein Programm auf die Daten eines anderen Programms im Speicher zugreifen kann, was die Sicherheit erhöht. Der Linux-Kernel verwendet keinen virtuellen Speicher, wenn er gestartet wird.
Grundsätzlich wird der virtuelle Speicher im RAM erstellt. Wenn der RAM jedoch nicht mehr ausreicht, werden Daten vom System auf einen Festspeicher (z. B. HDD, SSD) in Form einer Auslagerungsdatei ausgelagert. Diese Datei kann sogar ganze Programme enthalten, z. B. wenn man das Gerät in den Standby-Modus bringt. Dieser Vorgang wird als Swapping oder Paging bezeichnet und ist optional. Allerdings stellt dieses Auslagern auch eine Sicherheitslücke dar, da die Daten ausgelesen werden könnten. Daher gibt es die Möglichkeit, diese Daten zu verschlüsseln, was jedoch die Leistung beeinträchtigt und nicht immer funktioniert.
Diese Technologie sollte nicht mit dem virtuellen RAM unter Android, auch bekannt als RAM Plus, verwechselt werden. Der virtuelle RAM ist eine Technologie, die den Arbeitsspeicher mithilfe eines Festspeichers erweitert. Es handelt sich um eine Art Notfall-RAM, der jedoch auf einem langsameren Speichermedium basiert. Beispielsweise könnte ein Smartphone mit 4 GB RAM möglicherweise zusätzlich 2 GB Notfall-RAM bereitstellen. Dies würde die Systemleistung leicht erhöhen. In diesem RAM Plus würde dann der Speicher bereitgestellt werden.
Jede App erhält ihren eigenen virtuellen Speicher zugewiesen. Aber wie findet eine App oder das System diesen Speicher? Ganz einfach: über Adressen. Diese Adressen sind im Wesentlichen Zahlen, die einem bestimmten Speicherbereich zugeordnet sind. Beispielsweise bedeutet die Zahl 1, dass Speicher in Speicherzelle 1 des RAM bereitgestellt wurde (dies ist eine stark vereinfachte Darstellung). Die Verwaltung dieser Adressen übernimmt eine Memory Management Unit (MMU), auch bekannt als Speichermanager. Wenn eine App auf ihren virtuellen Speicher zugreift, identifiziert die MMU den entsprechenden physischen Speicherort und speichert oder ruft Daten ab, da die App nur mit dem virtuellen Speichersystem interagiert.
Die Memory Pagesize ist eine feste Größe. Der virtuelle Speicher einer App und der reale RAM werden in Blöcke dieser Größe aufgeteilt, die als Pages bezeichnet werden. Im Wesentlichen gibt es für jeden Block im virtuellen Speicher einer App einen entsprechenden Block im realen RAM. Die MMU (Memory Management Unit) hat Zugriff auf eine Tabelle, die die Zuordnung zwischen virtuellen Speicherblöcken und ihren physischen RAM-Gegenstücken speichert. Wenn eine App versucht, auf eine virtuelle Speicheradresse zuzugreifen, die nicht zugewiesen ist, führt dies zu einem „Page Fault“ (Seitenfehler), der zum Absturz der App führen kann.
Und jetzt wurde die Seitengröße von ursprünglich 4 Kilobyte auf 16 Kilobyte erhöht, wodurch mehr Daten in einem Block gespeichert werden können. Dies reduziert die Arbeitsbelastung der MMU, da weniger Adressen verwaltet werden müssen (Pi mal Daumen bis zu 50%). Dieser Effekt soll zu einer Geschwindigkeitssteigerung führen. Wenn eine App entsprechend programmiert ist und eine bestimmte Speichernutzung aufweist, könnte sie um bis zu 30 % schneller werden. Dies könnte beispielsweise bei Spielen der Fall sein. Diese Werte sind zwar theoretisch, aber es werden bald genauere Informationen verfügbar sein.