Die Muschel natürlich.
Die ursprüngliche Metapher, die uns das Wort "Kernel" brachte, wird zu oft vergessen. Die Metapher ist, dass ein Betriebssystem ein Same oder eine Nuss ist. Der "Kernel" des Seeds ist der Kern des Betriebssystems. Er stellt Anwendungsprogrammen Betriebssystemdienste zur Verfügung, die von der "Shell" des Seeds umgeben sind, die die Benutzer von außen sehen.
Einige Leute wollen "Kernel" (und in der Tat "Shell") binden, um genauer zu sein. Aber in Wahrheit gibt es viele Unterschiede zwischen den Betriebssystemen. Nicht zuletzt diese Variationen machen eine "Shell" aus (die von Solaris sh
über Netwares Console Command Interpreter bis hin zu OS / 2 Workplace Shell und Windows NT Explorer reichen kann ), aber es gibt auch große Unterschiede zwischen den verschiedenen Betriebssystemen Was ist und ist kein Teil eines "Kernels" (der beispielsweise Festplatten-E / A enthalten kann oder nicht). Es ist am besten, sich daran zu erinnern, dass diese Begriffe Metaphern sind .
Es gibt andere Terminologien. In der IBM Mainframe-Terminologie wird der "Kernel" in der Seed / Nut-Metapher als Steuerprogramm bezeichnet . Andere Namen sind der Supervisor , der Monitor , der Kern und die Exekutive . Kern ist eine andere ziemlich offensichtliche biologische Metapher. Es ist interessant, dass dies auch ein anderer Name ist. Harvey M. Deitel nennt in seinen Betriebssystemen das Steuerungsprogramm den Nukleus und sagt
Der Nucleus repräsentiert normalerweise einen kleinen Teil des Codes des gesamten Betriebssystems [...]
Das Wort "Kern" stammt aus dem lateinischen Kern und bedeutet den Kern einer Nuss (vgl. Den lateinischen Nux , der "Nuss" bedeutet). Selbst wenn man das Steuerprogramm "the Nucleus" nennt, ergibt sich tatsächlich die gleiche Analogie zum Betriebssystem. Es ist eine Analogie, die nicht nur für Betriebssysteme verwendet wird. Wenn Sie mit der Chemie, zum Beispiel vertraut sind, wissen Sie , dass ein Atomkern von Elektronen in umgebene Schalen .
Was die pseudonyme Person new123456
unten schreibt, veranschaulicht die Fehler, die sich aus dem Vergessen der Ursprünge dieser Metaphern ergeben, insofern, als man den Teil für das Ganze und den Kern für das gesamte Betriebssystem verwechselt. Ein "Userland" -Programm zu sein, macht die Shell nicht weniger zur Außenseite des Betriebssystems und auch nicht weniger zu der, die den Kernel einschließt. Darüber hinaus ist diese Idee nicht nur eine DOS-Idee, die für Unix nach Version 7 nicht mehr gilt, sondern in der Unix-Welt weit verbreitet und aktuell.
(Es ist ironisch, dass new123456
dies für einen DOSismus gehalten wird. Die Kernel / Shell-Metapher war DOS in den Anfangsjahren ziemlich fremd, was Befehlsprozessor und ähnliches von CP / M bevorzugte . Wie CP / M zuvor wurde MS-DOS geteilt in das Basis-Disk-Betriebssystem (BDOS), das Basis-Eingabe-Ausgabe-System (BIOS - nicht die System-Firmware, Anmerkung), den Befehlsprozessor und die Haushaltsdienstprogramme . Der Code wurde tatsächlich auf diese Weise in Dateien aufgeteilt. Dies ist ein anderer Beispiel dafür, wie die Kernel / Shell- Metapher die tatsächlichen Abteilungen in vielen Betriebssystemen nicht wirklich abdeckt oder nicht vollständig mit ihnen übereinstimmt .)
new123456
vergisst, was Deitel über den Kern geschrieben hat, der Teil des gesamten Betriebssystems ist. Ein Betriebssystem ist sowohl Kernel als auch Shell. Das ist schließlich die Metapher. Auch Deitel ist nicht allein. Es gibt Unmengen von Unix-Büchern, die die Unix-as-a-Nut-Metapher ab den 1980er Jahren erklären. Ich empfehle Urban und Tiemann, sich FreeBSD in 24 Stunden selbst beizubringen (SAMS, ISBN 9780672324246), und zwar aus dem einfachen Grund, weil es auf Seite 54 ein Diagramm enthält, das die Metapher des Betriebssystems als Ausgangswert darstellt, und - überraschenderweise - eine davon ist wenige Bücher dazu.
Der Name "Kern" ist wahrscheinlich der ältere Name; mit Sicherheit älter als Unix, was die Kernel / Shell-Terminologie bevorzugt, die heute - wahrscheinlich nicht zuletzt dank Unix - am weitesten verbreitet ist. Im Buch von Alan C. Shaw aus dem Jahr 1974 finden Sie Folgendes: Das logische Design von Betriebssystemen (Prentice-Hall, ISBN 9780135401125):
Der Teil des Systems, der sich permanent im Hauptspeicher befindet, wurde historisch als Kern bezeichnet . Der Kern besteht normalerweise aus einer minimalen Menge von Grundelementen und Prozessen für die Verwaltung von Prozessen, Ressourcen und Eingabe-Ausgabe.
Shaw hat auch ein Diagramm. ☺
@
wenn Sie meinen Benutzernamen erwähnen, damit er in meine Antwortwarteschlange gestellt wird.Andere Teile des Betriebssystems umfassen die Treiber, die mit dem Kernel interagieren. Es gibt mehrere Ebenen von Hilfsprogrammen, die sich mit der Benutzeroberfläche, dem Netzwerk und anderen Kernteilen des Betriebssystems befassen, die sich zwischen dem Kernel und der eigentlichen Anwendung befinden.
Als Beispiel habe ich die Struktur von OS X gezeigt , wie Sie oben auf dem Kernel (hellblau) sehen können, dass mehrere Schichten von "Kern" -Funktionalität, Systemtools, Diensten und APIs (Application Programming Interface) vor Ihnen liegen Sie können sogar die GUI aufrufen, mit der Sie normalerweise in den eigentlichen Anwendungen arbeiten.
Die meisten Betriebssysteme haben eine ähnliche Struktur, aber es gibt große Unterschiede hinsichtlich des tatsächlichen Anteils des Kernels. Im Wikipedia-Artikel zu Mikrokernen finden Sie einen Vergleich.
BEARBEITEN - Um Ihren Kommentar zu beantworten (mein Kommentar wurde etwas lang)
Sie könnten nur einen Linux-Kernel booten, aber Sie wären nicht in der Lage, wirklich viel zu erreichen. Es sind all diese Hilfsanwendungen, die die gesamte Schnittstelle bieten, die Sie sehen und verwenden.
Sobald der Kernel gebootet (und die Hardware initialisiert) ist, wird versucht, ihn an andere Teile des GNU / Linux-Betriebssystems weiterzuleiten, die die Funktionen zum Starten von Diensten bereitstellen (wie z. B. UDEV, das
/dev
mit unformatierten Geräteschnittstellen für Programme gefüllt ist , um Dinge wie zu verwenden) Festplatten und serielle Schnittstellen usw.) und Programme zum Einrichten des Netzwerks ( dhcpcd ) und APIs wie X.org, damit Anwendungen Fenster und Symbole über einen Fenstermanager wie GNOME oder KDE anzeigen können .Aber ja, Sie könnten einfach den Kernel selbst booten, er würde einfach mit einem "Ich habe gebootet, was nun?" Prompt.
quelle