Was ist der Kernel und was macht er?
Was ist der Kernel und was macht er?
Wenn Sie Computer verwenden, müssen Sie den Namen Kernel gehört haben. Aber wissen Sie, was Kernel ist ? Wo wird es benötigt? Wenn nicht, dann erfahren Sie am Ende des heutigen Artikels alles über Kernel. Bleiben Sie bei uns, um alle Einzelheiten zu erfahren.
Dieser Kernel ist ein sehr wichtiges Zentrum des Computerbetriebssystems (OS). Es ist ein Kernel, der alle wesentlichen Dienste für verschiedene Teile des Betriebssystems bereitstellt. Dies ist die Hauptschicht zwischen dem Betriebssystem und der Hardware und hilft bei der Handhabung und Verwaltung von Speicher, Dateisystemen, Gerätesteuerung sowie Netzwerken.
Der Kernel wird am häufigsten mit der Shell verglichen, die eigentlich der externe Teil des Betriebssystems ist, der mit Benutzerbefehlen interagiert. Kernel und Shell sind Begriffe, die häufig in Unix-Betriebssystemen verwendet werden, in Bezug auf den IBM-Mainframe oder Microsoft Windows-Systeme.
Verwechseln Sie den Kernel nicht mit dem grundlegenden Eingabe-/Ausgabesystem (BIOS), es ist ein unabhängiges Programm, das auf einem Chip in einer Computerplatine gespeichert ist.
Deshalb habe ich mir heute gedacht, warum ich Ihnen nicht vollständige Informationen darüber gebe, was ein Kernel ist und wie er funktioniert. Damit können Sie einen Teil dieses Basiscomputers C kennenlernen. Fangen wir also unverzüglich an.
Was ist Kernel
Das Betriebssystem stellt uns eine grafische Oberfläche zur Verfügung, damit wir dem Computersystem Befehle erteilen können. Aber das System kann diese Befehle nicht direkt verstehen.
Der Code wird also in einer Binärsprache kompiliert, in der die Kernkomponente des Betriebssystems verwendet wird, und sie heißt Kernel .
Wir beschäftigen uns mit der untersten Schicht des Benutzerkernels und dann befasst sich der Kernel mit dem System.
Kernel spielt die Rolle des Vermittlers zwischen Systemhardware und -software. Dieser Kernel ist kein Betriebssystem (OS); Es ist eine zentrale Einheit des Betriebssystems. Dies ist das erste Programm, das während des Bootvorgangs in den geschützten Speicherbereich geladen wird. Es wird so lange in diesem Speicher gehalten, wie das System läuft.
Dieser Kernel ist eine Abstraktionsschicht auf niedriger Ebene. Der Benutzerprozess verwendet ein System, um mit dem System zu interagieren. Das System ruft den Kernel auf, dann führt der Kernel den Benutzerprozess aus.
Kernel verwaltet gleichzeitig andere Systemprozesse wie Prozessverwaltung, Speicherverwaltung, Geräteverwaltung und E/A-Verwaltung.
Was macht der Kernel?
Wie ich bereits sagte, ist der Kernel die grundlegende Komponente eines Betriebssystems. Es fungiert als Brücke zwischen Anwendungen und verarbeitet Daten über Verbindungen zwischen Prozessen und Systemaufrufen, die auf Hardwareebene erfolgen.
Wenn das Betriebssystem in den Speicher geladen wird , wird der Kernel zuerst geladen und bleibt im Speicher, bis das Betriebssystem wieder heruntergefahren wird. Dieser Kernel ist für alle Low-Level-Aufgaben wie Datenträgerverwaltung, Aufgabenverwaltung und Speicherverwaltung verantwortlich.
Im Allgemeinen bildet ein Computerkern eine Schnittstelle zu den drei Hauptkomponenten der Computerhardware und stellt auch Dienste für die Anwendungs-/Benutzerschnittstelle, die CPU, den Speicher und andere Eingabe-/Ausgabegeräte bereit.
Neben der Bereitstellung dieses Kernels verwaltet es auch Computerressourcen, sodass andere Programme diese Ressourcen ausführen und verwenden können.
Damit bereitet der Kernel den Speicheradressraum für Anwendungen vor, lädt Dateien aus dem Anwendungscode in den Speicher, richtet den Ausführungsstapel für Programme ein und verzweigt mit ihnen zu bestimmten Stellen zur Ausführung innerhalb von Programmen.
Was sind die Funktionen des Kernels?
Machen wir uns mit den Funktionen des Kernels vertraut.
Welche Aufgaben hat ein Kernel?
Lassen Sie uns nun etwas über Kernel-Zuständigkeiten lernen.
1. CPU : Derselbe Kern ist für die Anzahl der laufenden Programme verantwortlich, die den Prozessoren zu einem bestimmten Zeitpunkt zugewiesen werden müssen.
2. RAM : RAM wird verwendet, um sowohl Programmanweisungen als auch Daten zu speichern. Während viele Programme häufig auf diesen Speicher zugreifen möchten, möchten sie mehr Speicher, der mehr ist als der im Computer verfügbare Speicher.
In einem solchen Fall liegt es in der Verantwortung des Kernels, den von ihm verwendeten Speicher zuzuweisen, zusammen mit ihm, um zu entscheiden, was zu tun ist, wenn nicht genügend Speicher verfügbar ist.
3. E/A-Geräte : Diese Kerne weisen Anfragen von verschiedenen Anwendungen zu, sodass E/A-Vorgänge im richtigen Gerät ausgeführt werden können, außerdem bieten sie auch bequeme Möglichkeiten, das Gerät zu verwenden.
4. Speicherverwaltung : Dieser Kernel hat vollen Zugriff auf den Systemspeicher und ermöglicht auch den sicheren Zugriff darauf, wenn Sie ihn brauchen.
5. Geräteverwaltung : Der Kernel sollte eine Liste aller verfügbaren Geräte führen. Dieses Menü wird bereits vom Benutzer konfiguriert oder vom Betriebssystem zur Laufzeit erkannt (normalerweise Plug and Play genannt).
Welche Funktionen bietet Kernel?
Lassen Sie uns nun herausfinden, welche Funktionen der Kernel bietet.
1) Prozessplanung (Dispatch)
2)
Kommunikation zwischen Prozessen 3) Prozesssynchronisierung
4) Kontextwechsel
5) Manipulation von Prozesssteuerungsblöcken
6) Unterbrechungsbehandlung
7) Prozesserstellung zerstören
8) Prozessunterbrechung wieder aufnehmen
Definition von Kernel
Der Jobmanager des Betriebssystems ist der Kernel. Es steuert und verwaltet alle Grundfunktionen des Betriebssystems.
Speicherverwaltung : Der Kernel stellt virtuellen und physischen Speicher für Prozesse bereit, um ihre Ausführung abzuschließen. Wenn der Prozess im physischen Speicher nicht beendet werden kann, stellt der Kernel auch virtuellen Speicherplatz auf der Festplatte bereit, damit er den Prozess dort speichern kann.
Dieses Konzept wird virtuelles Mapping genannt. Wenn ein Programm Daten benötigt, die sich derzeit nicht im RAM befinden, zeigt die CPU auf den Kernel für die Daten, und der Kernel antwortet dann auch der CPU, indem er seinen Inhalt in einen inaktiven Speicherblock schreibt. auf dem möglichen Datenträger (ein entsprechend den Datenanforderungen hierfür geschaffener Platz) gespeichert und dann ebenfalls durch die vom Programm angeforderten Daten ersetzt. Dieses Schema wird Bedarfsrelais genannt.
Scheduler : Dieser Kernel fungiert als Scheduler, während Operationen ausgeführt werden. Der Prozessor führt jeweils eine Operation aus. Dieser Kernel weist den Prozessor einem Programm aus der Liste der laufenden Anwendungen zu.
Geräteverwaltung : Kernel steuert die Aktivitäten anderer Peripheriegeräte mit Hilfe von Gerätetreibern. Gerätetreiber sind Programme, die dem Betriebssystem helfen, mit Hardwaregeräten zu interagieren.
Ein Gerätetreiber stellt eine Schnittstelle bereit und hilft dem Betriebssystem bei der Interaktion mit anderen Peripheriegeräten wie Druckern, Scannern, Modems, Tastaturen, Mäusen usw.
Dieser Treiber übersetzt OS-Funktionsaufrufe in gerätespezifische Aufrufe. Gerätetreiber erkennen installierte Geräte sowie Suchmaschinen beim Systemstart.
Dieser Prozess verwendet den Systemaufrufmechanismus, um mit dem Betriebssystemkern umzugehen. Ein Systemaufruf ist ein Dienstaufruf an den Kernel, von dem er die Erlaubnis zum Ausführen der Operation erhält. Es gibt einen Systemaufruf-Maschinencodebefehl, den das Anwendungsprogramm verwendet, damit es eine Diensterlaubnis vom Betriebssystem erhalten kann.
Speicherverwaltung: – Dieser Kernel verwaltet auch RAM. Weist Speicher sowohl für Anweisungen als auch für die Datenausführung zu. Es entscheidet, welcher Prozess sich im RAM befindet und wie viel Speicher benötigt wird, um den Prozess auszuführen. Dieser Kernel handhabt viele Prozesse mit einem anderen Mechanismus.
Kernel-Typen
Machen wir uns nun mit den verschiedenen Arten oder Arten von Kernel vertraut.
monolithischer Kern
Monolithische Kernel führen alle grundlegenden Systemdienste wie Prozessverwaltung, Speicher, Unterbrechungsbehandlung, E/A-Verbindungen, Dateisystem usw. innerhalb des Kernelbereichs aus.
Monolithische Kerne haben normalerweise die höchste Datenübertragungsrate aller anderen Kerne und werden daher in großen Servern oder dedizierten Servern für Jobs verwendet.
monolithischer Kern
1) Weniger Quellcode und kompilierte Modelle
2) Weniger Code bedeutet weniger Fehler und weniger Sicherheitsprobleme.
3) Systemaufrufe werden in einem monolithischen Kernel verwendet, um Operationen auszuführen.
4) Die Ausführung ist sehr schnell
. 5) Dabei passieren alle Dinge im Kernel selbst, sodass wir während des App-Builds keine zusätzlichen I/O- und Prozessmechanismen benötigen .
homogene Kernfehler
1) Encoding ist auch im Kernel-Space sehr schwierig, weil man darin keine gemeinsamen Bibliotheken verwenden kann.
2) Das Debuggen ist schwierig, da Sie den Computer häufig neu starten müssen.
3) Fehler in einem Teil des Kernels verursachen viele Seiteneffekte
. 4) Kernel werden oft groß und schwer zu warten.
5) Nicht portierbar – der monolithische Kernel muss häufig für jede neue Architektur neu geschrieben werden, die im Betriebssystem verwendet wird.
Mikrokern
Während in einem Mikrokernel der Kernel die Grundfunktionen bereitstellt, durch die er die Implementierung separater Server und Software ermöglicht. Der Kernel ist in separate Prozesse unterteilt, die als Server bezeichnet werden. Hier laufen einige Server im User Space und andere im Kernel Space.
Alle Server werden separat gehalten und laufen in unterschiedlichen Adressräumen.
Mikrokerne können Sie normalerweise in Echtzeitsystemen sehen .
MicroKernel-Vorteile
1) Es ist im Vergleich zum monolithischen Kernel einfacher zu warten.
2) Es ist ausfallsicher (d. h. wenn ein Server ausfällt, laufen die anderen Server weiterhin effizient).
3) Tragbar
4) Klein in der Größe
5) Enthält eine kleine Menge Code. Das erhöht ihre Stabilität und Sicherheit.
hybrider Kernel
In diesem wird das Beste aus homogenem Kern und Mikrokern gemischt.
Wie Geschwindigkeit, einfaches Design des monolithischen Kernels + Modularität und Stabilität des kleinen Kernels
Es hat die Qualitäten eines homogenen und eines Mikrokerns, aber wir können nicht sagen, dass es sich um einen ausschließlich spezifischen Kern handelt.
Sie können diese Kerne normalerweise auf Desktops, Windows-, Mac- und Linux -Betriebssystemen sehen .
Nano-Kern
Diese Art von Kernel bietet nur Hardware-Abstraktion, es gibt keine Dienste darin und der Platz für den Kernel ist minimal. Der Nanokernel ist das Herzstück des Hypervisors, mit dem Sie mehrere Systeme via Virtualisierung simulieren können. Kerne eignen sich hervorragend für kompakte Projekte.
Exo-Kernel
Dieser Kern ist der kleinste. Es bietet nur Prozessschutz und Ressourcenverarbeitung. Der Programmierer, der diesen Kernel verwendet, ist für den ordnungsgemäßen Zugriff auf das Gerät verantwortlich, das er verwenden möchte.
Der Unterschied zwischen Kernel und Betriebssystem
Das Betriebssystem ist ein Systemsoftwarepaket, während der Kernel der Teil des Betriebssystems ist, der alle Prozesse und Geräte verwaltet.
Wobei das Betriebssystem die Schnittstelle zwischen dem Benutzer und dem Gerät ist. Der Kernel hingegen ist eine Schnittstelle zwischen Software und Hardware.
Der Kernel hilft der Software, mit anderen Peripheriegeräten zu kommunizieren.
Ist Linux ein Kernel oder ein Betriebssystem?
Übrigens gibt es einen Unterschied zwischen Kernel und Betriebssystem. Wie ich Ihnen bereits gesagt habe, ist der Kernel das Herzstück eines Betriebssystems, das alle wesentlichen Funktionen verwaltet. Wenn diesem Kernel einige nützliche Anwendungen und Tools hinzugefügt werden, heißt dieses vollständige Paket OS. Ist.
Daraus lässt sich schließen, dass es im Betriebssystem neben einem User-Space auch einen Kernel-Space gibt.
Dies zeigt, dass Linux ein Kernel ist, da es keine anderen Anwendungen wie Dateisystem-Tools, Fenstersysteme, grafische Desktops, Sysadmin-Befehle, Texteditoren, Compiler usw. enthält.
Gleichzeitig fügen viele Unternehmen solche Anwendungen dem Linux-Kernel hinzu und richten ihre eigenen Betriebssysteme wie Ubuntu, Suse, CentOS, RedHat usw. ein.
Was ist Kernelpanik?
Da der Kernel die meisten Grundfunktionen des Computers übernimmt, wird er bei einem Absturz den gesamten Computer beschädigen. Dieses unerwünschte Ereignis wird in macOS- und Unix-Systemen als „ Kernel Panic “ bezeichnet.
Dies ähnelt dem blauen Bildschirm des Todes in Windows. Um aus dieser Situation herauszukommen, müssen Sie Ihren Computer neu starten.
Hinweis Kernel-Panics treten häufig aufgrund von Hardware-Konnektivitätsproblemen auf. Wenn Ihr Computer also häufig Probleme wie Kernel-Angst anzeigt, sollten Sie alle unnötige Hardware trennen, da dies Ihr Problem möglicherweise beenden kann.
Fazit
Ich hoffe, Ihnen hat mein Artikel Was ist ein Kernel (Was ist ein Kernel) gefallen? Ich habe immer versucht, meinen Lesern vollständige Informationen über Kernel zur Verfügung zu stellen , damit sie nicht auf anderen Websites oder im Internet nach dem Kontext dieses Artikels suchen müssen.
Das spart ihnen auch Zeit und sie haben alle Informationen an einem Ort. Wenn Sie Zweifel an diesem Artikel haben oder eine Verbesserung wünschen, können Sie niedrige Kommentare dazu schreiben.
Wenn Ihnen dieser Beitrag Was ist Kernel gefallen hat oder Sie etwas gelernt haben, teilen Sie diesen Beitrag bitte in sozialen Netzwerken wie Facebook, Twitter usw.