Was der Kern ist
Bevor wir vor uns selbst erhalten, lassen Sie uns einen Blick an der Rolle des Kerns im Betriebssystem nehmen. In den meisten Betriebssystemen einschließlich UNIX und Windows, ist der Kern die spezielle diese Software verschiedene extrem wichtige Elemente der Kontrollen der Maschine. Der Kern sitzt zwischen einzelnen laufenden Programmen und den Kleinteilen selbst. Verschiedene kritische organisatorische Aufgaben für das Betriebssystem durchführend und als eine Verbindung zwischen user-level Programmen und den Kleinteilen dienend, dient der Kern eine kritische Rolle. Viele Kerne, einschließlich die, die UNIX und Windows in den Systemen gefunden werden, schließen die folgenden Kerneigenschaften ein:
Mit diesen Eigenschaften ist der Kern ganz über Steuerung: Sitzen an den Lücken der Benutzerprogramme und -kleinteile und Steuern, was auf der Maschine geschieht. Während es läuft, beruht der Kern auf den Kleinteil-Niveau Schutzen, die in CPU des Systems eingeführt werden. Indem er Kleinteil-Niveau Schutz verwendet, versucht der Kern, seine eigenen kritischen Datenstrukturen von der versehentlichen oder überlegten Handhabung durch user-level Prozesse auf der Maschine zu schützen. Die meisten CPUs schließen Kleinteileigenschaften ließen Software auf dem System ein, das an den unterschiedlichen Niveaus des Privilegs laufen gelassen wird. Der Gedächtnisraum und andere Elemente der in hohem Grade empfindlichen Software (wie der Kern) können nicht durch den Code erreicht werden, der an einem weniger-wichtigen Niveau läuft (z.B., Benutzerprozesse). Auf x86-compatible CPUs, werden diese unterschiedlichen Empfindlichkeit Niveaus Ringe und Strecke von Ring 0, das empfindlichste Niveau, 3, das wenige empfindliche Niveau zu schellen genannt. Da es unterschiedliche Aufgaben laufen läßt, schaltet die CPU zwischen diese unterschiedlichen Niveaus abhängig von der Empfindlichkeit der bestimmten z.Z. durchführenden Software. Für die Linux und Windows Betriebssysteme werden nur Ringe 0 und 3 benutzt; die anderen Wahlen gestützt durch x86 CPUs (d.h., Ringe 1 und 2) werden nicht verwendet. Der Kern selbst, in Linux und in Windows, läuft in Ring 0. Tatsächlich laufend in Ring 0 definiert eine gegebene Aufgabe als, seiend auf Kernniveau. Wenn Sie in Ring 0 laufen, können Sie alle Zweikanalgeräte des Kerns zugänglich machen und sind folglich auf dem gleichen Niveau wie der Kerncode. Benutzermodusprozesse laufen in Ring 3 und, unter die meisten Bedingungen,SIND nicht in der Lage, Kernraum direkt zugänglich zu machen. Indem man auf Ring 0 und Ring 3 baut, wird alle Software auf der Maschine wirklich in zwei unterschiedliche Welten aufgeteilt: Kernmodus (laufend in Ring 0) und Benutzermodus (laufend in Ring 3). Für non-x86 CPUs, verwenden Betriebssysteme analoge Konzepte, um 0 und Ring 3 zu schellen eingeführt in den CPU's Kleinteilen. Fast alle CPUs Unterstützung irgendein Begriff eines privilegierten Modus, in dem der Kern lebt, und des a nonprivileged Modus für Benutzerprozesse. So besteht Ihr Betriebssystem wirklich aus zwei Welten: Benutzermodus und Kernmodus. Der Benutzermodus ist, was Sie gewöhnlich auf an eine Alltagsgrundlage auf Ihrem System sehen und einwirken, da es die Programme einschließt, lassen Sie, wie ein Befehl Oberteil, ein GUI, ein mail server oder ein Textherausgeber laufen. Die andere Welt, der Kernmodus, die Lügen still unter den vollständiger Betrieb handhabenden Zugang zu den Kleinteilen und im Allgemeinen die steuernden Sachen. Wenn ein System oben auflädt, wird der Kern in Gedächtnis geladen und Durchführung im Ring 0 anfängt, dadurch herstellt man die erste Welt (Kernmodus). Nachdem der Kern sich erhält, in Gedächtnis aufzustellen, aktiviert er die verschiedenen Benutzer-Modus Prozesse, die einzelnen Benutzern erlauben, das System zugänglich zu machen und Programme laufen zu lassen, dadurch erherstellt erherstellt die Benutzer-Modus Welt. Es ist wichtig, zu merken, daß Kernmodus ein sehr anderes Konzept von der Wurzel- oder Verwaltererlaubnis ist. Wenn ein Verwalter einen Befehl laufen läßt, führt ein gegebenes Programm innerhalb des Benutzermodus durch; das heißt, in Ring 3. Von der Perspektive des Kerns ist der Verwalter ein anderer Benutzer, obwohl ein wichtiges, aber noch jemand, das in Ring 3 lebt gerecht. Wenn der meiste Programmdurchlauf, manchmal steuern, muß vom Benutzermodus in Kernmodus, wie überschreiten, wenn das Programm auf Kleinteile für den Druck zum Schirm einwirken muß und ein Paket oder etwas andere Tätigkeit empfängt. Wenn dieses geschieht, wird Steuerung sehr sorgfältig von Benutzermodus zu Kernmodus, durch fest gesteuerte Schnittstellen geführt. Die Software, die diesen Übergang von Ring 3 zu Ring 0 einführt, gekennzeichnet als ein Anrufgatter, da sie als ein Gatter für Benutzer-Modus Prozesse in die Software dient, die im Kernmodus lebt. Wenn Verwalter um eine Liste der laufenden Programme mit Werkzeugen wie dem UNIX ps, lsof oder obere Befehle oder dem Windows Aufgabe Manager bitten, führen sie einen Befehl vom Benutzermodus durch, der um um den Kern bittet, um alle laufenden Prozesse zu verzeichnen. Der Kern ergreift Daten von seinen Kern-Modus Datenstrukturen, reagiert auf den Benutzer-Modus Befehl mit den passenden Informationen, und die laufenden Prozesse werden angezeigt. Ähnlich konnten der Verwalter oder die Benutzer um eine Liste der Akten in einem Verzeichnis bitten. Der Kern reagiert mit den passenden Informationen. Oder, Sie konnten suchen, die TCP oder UDP Tore im Gebrauch sind, oder ob die Netzschnittstelle im gemischten Modus ist. Sie konnten einen Akte Vollständigkeit Kontrolleur sogar laufen lassen, um zu sehen, wenn irgendwelche Ihrer kritischen System Akten mit einem Benutzer-Modus RootKit geändert worden sind. Alle diese Interaktionen und weit mehr, beruhen auf dem Kern, um den Status der Maschine festzustellen. Das ist, wie es ganz angenommen ist zu arbeiten. Der Kern kümmert um Geschäft, und jeder ist glücklich. dieses ist ein Artikel, der durch Rafael Kwan hinzugefügt
wird
|
|||||
|