Was ist der Benutzermodus im Vergleich zum Kernel -Modus in Windows

Was ist der Benutzermodus im Vergleich zum Kernel -Modus in Windows

Möglicherweise haben Sie von Anwendungen gehört, die im Modus „Kernel“ oder „Benutzer“ ausgeführt werden. Es liegt nur darauf, wie Betriebssysteme funktionieren, wenn sie ihre Arbeit erledigen. Sobald Sie das verstanden haben, ist es einfach, den Unterschied zwischen dem Benutzermodus und dem Kernel -Modus zu erfassen.

Im elektronischen Computerspeicher werden Bits durch Speicherzellen entweder eine Ladung über oder unter einem bestimmten Schwellenwert dargestellt. Auf einer mechanischen Festplatte werden Bits als magnetische Schwankungen dargestellt, die auf einer Spinnplatte gemessen werden. Auf optischen Scheiben, Gruben und Ländern, die Laserlicht erledigen oder nicht widerspiegeln.

Unabhängig davon, wie die physikalische Darstellung von Binärcode erreicht wird, können Sie schließlich alle Verbraucher -Computerkomponenten auf diesen Rohmaschinencode reduzieren.

Wie gehen Sie also von der menschlich-freundlichen Schnittstelle eines Computers zu den rohen, niedrigen Prozessen im Computer selbst?? Hier kommt das Betriebssystem ins Spiel. Es steuert direkt die Hardware des Computers.

Diese Software übersetzt alles, was Anwendungen (und damit der Benutzer) in die Anweisungen für Maschinencode, die die CPU und andere Komponenten verstehen, übersetzt. Die kritischste Software in diesem Prozess ist der Kernel.

Was ist der Kernel??

Der Kernel ist, wie der Name schon sagt, der Kern des Betriebssystems. Der Kernel ist eine Software, die sich in RAM befindet und alles lenkt, was der Computer tut. Wenn etwas in das Gedächtnis geschrieben ist, ist es der Kernel, der die Ausführung leitet.

Der Kernel weiß, wie man mit Hardware wie GPUs und Netzwerkkarten verbirgt, aber es kann nicht wissen, wie man sie zum vollen Potenzial auswirkt, und stützt sich auf generische Standards in der Computerindustrie.

Die Hardware -Treiber kommen hier ins Spiel. Die Fahrer geben Ihrem Betriebssystem mit, wie Sie mit bestimmten Komponenten arbeiten. Deshalb benötigen Sie beispielsweise verschiedene Treiber für Nvidia und AMD -GPUs.

Ausgestattet mit den richtigen Treibern ist der Kernel die ultimative Autorität innerhalb des Computers, einschließlich Dingen, die katastrophale Daten zerstören können.

Die Rolle von Anwendungsprogrammierschnittstellen (APIs)

In den Tagen von MS-DOS mussten Softwareentwickler ihre Software speziell für die Hardware des Benutzers schreiben. Das bekannteste Beispiel dafür auf MS-DOS-Systemen waren Soundkartentreiber.

Ein bestimmtes Videospiel müsste die beliebtesten Karten unterstützen (Sound Blaster, Ad-Lib, Gravis Ultraschall usw.) und hoffen, dass die meisten Spieler abgedeckt waren. Heute funktionieren die Dinge dank APIs ganz anders.

Der Soundcard -Auswahlbildschirm von Wolf3D

Microsoft DirectX ist ein gutes Beispiel. Wenn Sie eine eingehende Erklärung wünschen, schauen Sie sich an, was DirectX ist und warum es wichtig ist? Das Wichtigste ist jedoch zu wissen, dass die API Softwareentwicklern eine Standardmethode bietet, um nach Hardware -Ressourcen von Komponenten wie der GPU zu fragen. Darüber hinaus müssen Hardware -Hersteller nur sicherstellen.

APIs bieten eine Übersetzungsebene zwischen Softwareanwendungen und dem Kernel mit niedrigem Niveau mit seinen Hardware-Treibern. Ja, das ist mit einer leichten Leistungsstrafe verbunden. Auf modernen Computern ist dies jedoch vernachlässigbar und bietet eine Vielzahl von Vorteilen, wobei wir endlich zum Benutzermodus und im Kernel -Modus kommen.

Benutzermodus vs. Kernelmodus

Moderne Betriebssysteme betreiben gleichzeitig Hunderte oder Tausende von „Prozessen“ und verleihen ihnen die CPU -Zeit nach Bedarf dynamisch, basierend auf ihren Prioritäten und Berechnungsleistung.

Wenn Sie eine Anwendung starten, generiert sie Prozesse, und die CPU kann diese entweder im Benutzermodus oder im Kernel -Modus ausführen.

Ein Windows -Prozess, der im Benutzermodus ausgeführt wird. Die Software verwendet diese Tabellen, um Daten in RAM zu speichern und Ressourcen anzufordern. Es gibt keinen direkten Zugriff auf Speicher oder andere Hardware, und es liegt an dem Betriebssystem, diese virtuellen Räume der tatsächlichen Hardware des Computers zuzuordnen.

Dies ist aus vielen Gründen gut, aber der entscheidende Vorteil ist, dass die Anwendung Daten nicht über ihren virtuellen Speicherplatz überschreiben oder verändern kann. Darüber hinaus sind bestimmte Funktionen für User-Mode-Prozesse abgeschlossen, hauptsächlich solche, die das System zum Absturz bringen oder Daten zerstören können.

Wenn ein Prozess start. Theoretisch könnte es also wichtige Daten überschreiben, die das Betriebssystem ordnungsgemäß ausführen muss.

Fallen und Ausnahmen

Es ist wichtig zu verstehen, dass diese beiden Modi von der CPU selbst auf Hardwareebene durchgesetzt werden. Wenn eine im Benutzermodus ausgeführte Anwendung etwas zu tun versucht, für den Kernel-Mode-Zugriff erforderlich ist, generiert sie eine „Falle“ oder eine „Ausnahme.”Das Betriebssystem wird dann mit der Anwendung umgehen, normalerweise indem es abgeschaltet wird und ein Crash -Protokoll generiert, damit die Entwickler sehen können, was im Speicher passiert ist, wenn die Dinge aus den Schienen gingen.

Die Gefahren des Kernel -Modus: Der blaue Bildschirm des Todes

Wenn Sie jemals einen blauen Bildschirm des Todes erlebt haben (wer hat es nicht getan?) Das zwang Ihren Computer, auszuschalten oder neu zu starten, es besteht eine gute Chance, dass es ein Kernel-Mode-Prozess war.

Wenn ein Prozess im Kernel -Modus etwas tut, das es nicht soll, kann sich das Betriebssystem nicht von ihm wiederherstellen, und der gesamte Computer hält an. Wenn ein Benutzermodusprozess abfällt, stürzt nur die Anwendung ab, und der Rest der Software und das Betriebssystem können ohne Probleme weitergehen.

Dies ist ein Bereich, in dem APIs eine wesentliche Rolle spielen, da die API nach Kernel-Mode-Privilegien bittet. Benutzer-Mode-Anwendungen delegieren Sie im Wesentlichen Anfragen.

Aus diesem Grund wird Kernel-Mode normalerweise nur für Systemprozesse auf niedrigem Niveau gewährt, die direkt auf die Hardware des Computers zugreifen müssen. Normalerweise wird dieses Privileg auf einen Prozess ausgedehnt, da es mehr Leistung benötigt, als der Benutzermodus liefern kann. Einige CPU -Anweisungen funktionieren nur im Kernel -Modus. Wenn ein Prozess diese Funktionen verwenden muss, muss er erhöht werden.

Wenn Sie Probleme mit dem blauen Bildschirm des Todes haben, lesen Sie unbedingt unseren Blue Screen of Death -Fehlerbehebungshandbuch für Windows 10!