Kernel-Änderungen

Wie bei jedem größeren Release-Wechsel bringen auch Longhorn und Vista einiges an Kernel-Änderungen mit. In diesem Fall sind es sogar besonders viele, weil die beiden Betriebssysteme in einem gemeinsamen Projekt entwickelt wurden und es dadurch auch einige Angleichungen zwischen den Systemen gab.

Die Kernel-Anpassungen bei Windows Vista und Longhorn sind mit die wichtigsten Änderungen, weil sie für die Performance und Stabilität des Systems entscheidende Bedeutung haben. Der Artikel gibt einen grundlegenden Überblick über diese Änderungen.

Speichermanagement

Im Bereich des Speichermanagements ist die wichtigste Änderung zweifelsohne die erweiterte Unterstützung für NUMA-Architekturen (Non-Uniform Memory Access), die bei hoch skalierenden Mehrprozessorsystemen wichtig sind. Außerdem gibt es Optimierungen bei der Adressierung von Systemspeicher. Viele Systemressourcen können nun bei Bedarf angefordert werden, was den Overhead im System reduziert.

Deutlich mehr wurde beim Heap Manager geändert. Er ist für die dynamische Zuordnung von Speicherressourcen zuständig und grundlegend überarbeitet worden. Vor allem die Mechanismen, mit denen eine Fragmentierung von Speicher reduziert wird, wurden verbessert. Die Verwaltung von Speichersegmenten durch optimierte Algorithmen und Datenstrukturen führt außerdem zu einer höheren Skalierbarkeit und besseren Performance.

Wichtig sind auch Mechanismen, mit denen der Speicher vor Angriffen besser geschützt wird. Derzeit sind Angriffe über so genannte Pufferüberläufe ein häufiges Szenario. Mit den neuen Verfahren wird versucht, auch Angriffe frühzeitig zu erkennen, indem beispielsweise Beschädigungen am Heap erkannt werden.

Registry

Die Registry verzeichnet als wichtigste Änderung die Transaktionsunterstützung. Damit können nun mehrere Registry-Operationen in einer Transaktion entweder vollständig ausgeführt oder wieder rückgängig gemacht werden. Die Basis dafür bildet die neue Transaktionsunterstützung auf der Ebene des Kernels.

Bei der WOW64-Schnittstelle hat sich die Art und Weise geändert, wie 32-Bit- und 64-Bit-Anwendungen in der Registry unterschieden werden. Dabei geht es darum, Situationen zu vermeiden, in denen eine 32-Bit- und eine 64-Bit-Variante der gleichen Anwendung auf einem System ausgeführt werden und es dadurch zu Konflikten bei den Einträgen in die Registry kommt.