Ein Prozessor führt Programme entweder im Benutzermodus oder im Kernelmodus aus. Und während Sie Ihren PC verwenden, wechselt Ihr Prozessor regelmäßig zwischen den beiden, je nachdem, was er tut. Aber was ist der Benutzermodus und der Kernelmodus und was ist der Unterschied zwischen den beiden?
Sehen wir uns an, was diese Modi sind und warum eine CPU zwischen diesen Modi wechseln muss.
Was ist "Benutzermodus" in Windows?
Wenn Sie ein Programm unter Windows starten, wird es im Benutzermodus gestartet. Immer wenn ein Programm im Benutzermodus ausgeführt werden möchte, erstellt Windows einen Prozess dafür. Ein Prozess ist nur ein Programm, das ein Prozessor ausführt oder dessen Ausführung von Windows geplant wurde. Und wenn Windows einen Prozess erstellt, erstellt es auch einen virtuellen Adressraum für diesen Prozess.
EIN virtueller Adressraum ist die Sammlung logischer (nicht physischer) Adressen, die Windows einem Prozess zuweist. Prozesse können diese Adressen verwenden, um Daten im physischen Speicher zu speichern.
Darüber hinaus werden virtuelle Adressräume isoliert. Der virtuelle Adressraum eines Prozesses stört also nicht den Adressraum eines anderen Prozesses. Und da Programme im Benutzermodus separate Adressräume haben, stürzt ein Programm ab, wenn es abstürzt, und es stürzt nicht andere Programme oder das gesamte Betriebssystem damit ab.
Verwandt: Tipps zur Behebung des Windows 10-Bluescreen-Fehlers
Eine andere Möglichkeit, Anwendungen im Benutzermodus zu beschreiben, besteht darin, den Begriff „weniger privilegiert“ zu verwenden. Windows verhindert, dass Anwendungen im Benutzermodus direkt auf kritische Systemressourcen zugreifen, wodurch sie weniger privilegiert sind. Wenn eine Anwendung beispielsweise Zugriff auf Hardware haben möchte, muss sie den Betriebssystemkernel mithilfe von Systemaufrufen durchlaufen.
Einfach ausgedrückt laufen Anwendungsprogramme wie Videospiele im Benutzermodus. Sie sind weniger privilegiert, haben also keinen uneingeschränkten Zugriff auf Systemressourcen. Jede Anwendung im Benutzermodus hat ihren eigenen Adressraum. Eine Anwendung kann den Adressraum einer anderen Anwendung nicht ändern. Wenn eine Anwendung abstürzt, hat dies keine Auswirkungen auf andere Programme, die auf dem Computer ausgeführt werden.
Verwandt: Warnzeichen, dass Ihr Computer abstürzt (und was zu tun ist)
Was ist "Kernel-Modus" in Windows?
Bevor wir den Kernel-Modus besprechen, müssen wir zuerst wissen, was ein "Kernel" ist und wie er mit Windows funktioniert.
Der Kernel ist das Gehirn eines Betriebssystems. Es ist die Kernsoftwarekomponente, auf die alle anderen Komponenten innerhalb des Betriebssystems angewiesen sind. Der Kernel verwaltet die Computerhardware, plant, welche Prozesse wann auf dem Computer ausgeführt werden, und handhabt die Interaktionen zwischen der Hardware und der Anwendungssoftware.
Kurz gesagt, der Kernel ist der privilegierteste Code, der auf dem System ausgeführt wird. Das liegt daran, dass es der Code ist, der direkt mit der Hardware interagiert. Jedes andere Programm, das die Hardware-Ressourcen nutzen möchte, muss den Zugriff über den Kernel anfordern.
Wenn ein Anwendungsprogramm im Benutzermodus läuft und auf Hardware wie die Webcam zugreifen möchte, muss es den Kernel mit einem Systemaufruf anfordern. Um diese Anforderungen zu bedienen, schaltet die CPU zum Zeitpunkt der Ausführung des Programms vom Benutzermodus in den Kernelmodus um.
Nachdem die Ausführung eines Prozesses abgeschlossen ist, schaltet die CPU zurück in den Benutzermodus und beginnt mit der Ausführung des nächsten geplanten Prozesses. Dies wird als „Kontextwechsel“ bezeichnet.
Was ist der Unterschied zwischen Benutzermodus und Kernelmodus?
Der Hauptunterschied zwischen Benutzermodus und Kernelmodus besteht in der Berechtigungsstufe, die jeder Modus bietet. Im Benutzermodus haben Anwendungen weniger Berechtigungen. Sie haben keinen direkten Zugriff auf Hardwareressourcen und können auch nicht in die Adressräume anderer Anwendungen schreiben.
Verwandt: So verwenden Sie den Geräte-Manager zur Fehlerbehebung bei Windows 10
Code, der im Kernel-Modus ausgeführt wird, verfügt über erhöhte Berechtigungen. Es hat nicht nur direkten Zugriff auf die Computerhardware, sondern alle Programme, die im Kernel-Modus ausgeführt werden, einschließlich des Betriebssystems, teilen sich auch einen Adressraum. Also, wenn ein Programm in Kernel-Modus stürzt ab, es kann das gesamte Betriebssystem damit herunterfahren. Um sicherzustellen, dass solche Abstürze nicht auftreten, lässt Windows nur einige Prozesse im Kernel-Modus laufen.
Windows verfolgt einen mehrschichtigen Ansatz, um Benutzerprogramme von Systemressourcen zu trennen
Windows verwendet ein Schichtmodell, um die Berechtigungsstufe von Prozessen zu bestimmen. Anwendungen, die sich auf der äußersten Schicht befinden, verfügen über das Lease-Privileg. Der Kern dieser Schichten ist der Kernel. Infolgedessen hat der Kernel unbegrenzten Zugriff auf Betriebssystemressourcen.
Der mehrschichtige Ansatz schützt auch wichtige Betriebssystemfunktionen. Wenn Programme in der oberen Schicht zufällig abstürzen, hat dies keinen Einfluss auf das Betriebssystem. Auf der anderen Seite, wenn der Kernel abstürzt, geht das gesamte Betriebssystem aus.
Warum stürzt Windows immer wieder ab? Hier sind die häufigsten Gründe für Windows-Abstürze und einige Tipps zu deren Behebung.
Weiter lesen
- Fenster
- Fenster
Fawad ist ein hauptberuflicher freiberuflicher Autor. Er liebt Technik und Essen. Wenn er nicht gerade isst oder über Windows schreibt, spielt er entweder Videospiele oder träumt vom Reisen.
Abonniere unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Klicken Sie hier, um sich zu abonnieren