Freigeben über


Benutzermodus und Kernelmodus

Ein Prozessor in einem Computer, auf dem Windows ausgeführt wird, arbeitet in zwei verschiedenen Modi: Benutzermodus und Kernelmodus. Der Prozessor wechselt je nach Ausführungstyp zwischen diesen Modi. Anwendungen werden im Benutzermodus ausgeführt. Kernkomponenten des Betriebssystems funktionieren im Kernelmodus. Obwohl viele Treiber im Kernelmodus arbeiten, können einige im Benutzermodus funktionieren.

Benutzermodus

Wenn Sie eine Anwendung im Benutzermodus starten, erstellt Windows einen Prozess dafür. Dieser Prozess stellt die Anwendung einen privaten virtuellen Adressraum und eine private Handle-Tabelle bereit. Da der virtuelle Adressraum jeder Anwendung privat ist, kann eine Anwendung die Daten einer anderen Anwendung nicht ändern. Jede Anwendung wird isoliert ausgeführt. Wenn eine Anwendung abstürzt, stellt dieser Ansatz sicher, dass sich dies nicht auf andere Anwendungen oder das Betriebssystem auswirkt.

Der virtuelle Adressraum einer Anwendung im Benutzermodus ist ebenfalls eingeschränkt. Ein im Benutzermodus ausgeführter Prozess kann nicht auf virtuelle Adressen zugreifen, die für das Betriebssystem reserviert sind. Durch das Einschränken des virtuellen Adressraums einer Anwendung im Benutzermodus wird verhindert, dass die Anwendung kritische Betriebssystemdaten ändert oder beschädigt.

Kernelmodus

Der gesamte Code, der im Kernelmodus ausgeführt wird, teilt einen einzelnen virtuellen Adressraum. Daher ist ein Kernelmodustreiber nicht von anderen Treibern oder dem Betriebssystem isoliert. Wenn ein Kernelmodustreiber versehentlich in die falsche virtuelle Adresse schreibt, könnte er Daten kompromittieren, die zum Betriebssystem oder einem anderen Treiber gehören. Wenn ein Kernelmodustreiber abstürzt, stürzt das gesamte Betriebssystem ab.

Das folgende Diagramm veranschaulicht die Kommunikation zwischen Benutzermodus- und Kernelmoduskomponenten.

Diagramm, das die Kommunikation zwischen Benutzermodus- und Kernelmoduskomponenten in einem Computersystem zeigt.