Was ist ein Betriebssystemkernel? Wie unterscheidet es sich von einem Betriebssystem? [geschlossen]

147

Ich kann den Unterschied zwischen einem Kernel und einem Betriebssystem nicht verstehen. Ich sehe keinen Unterschied zwischen ihnen. Ist der Kernel ein Betriebssystem?

Xinus
quelle

Antworten:

74

Die technische Definition eines Betriebssystems ist "eine Plattform, die aus bestimmten Bibliotheken und Infrastrukturen besteht, auf denen Anwendungen aufbauen und miteinander interagieren können". Ein Kernel ist in diesem Sinne ein Betriebssystem.

Bei der Endbenutzerdefinition handelt es sich normalerweise um "ein Softwarepaket, das einen Desktop, Verknüpfungen zu Anwendungen, einen Webbrowser und einen Media Player bereitstellt". Ein Kernel entspricht nicht dieser Definition.

Für einen Endbenutzer ist eine Linux-Distribution (z. B. Ubuntu) ein Betriebssystem, während für einen Programmierer der Linux-Kernel selbst ein vollkommen gültiges Betriebssystem ist, je nachdem, was Sie erreichen möchten. Zum Beispiel sind eingebettete Systeme meist nur ein Kernel, auf dem nur eine sehr kleine Anzahl spezialisierter Prozesse ausgeführt wird. In diesem Fall wird der Kernel selbst zum Betriebssystem.

Ich denke, Sie können die Grenze ziehen, was die meisten Anwendungen, die auf diesem Betriebssystem ausgeführt werden, erfordern. Wenn die meisten von ihnen nur einen Kernel benötigen, ist der Kernel das Betriebssystem. Wenn die meisten von ihnen das Ausführen des X Window Systems erfordern, wird Ihr Betriebssystem zum X + -Kernel.

Sedat Kapanoglu
quelle
6
Bei der Endbenutzerdefinition handelt es sich normalerweise um "ein Softwarepaket, das einen Desktop, Verknüpfungen zu Anwendungen, einen Webbrowser und einen Media Player bereitstellt". Ein Kernel entspricht nicht dieser Definition. Nur weil jemand keine Ahnung hat, was ein Betriebssystem ist, heißt das nicht, dass seine Definition gültig ist.
DIMMSum
1
@dimmsum es ist nicht nur eine umgangssprachliche Definition. Betriebssysteme wurden verkauft und an Benutzer als solche vermarktet.
Sedat Kapanoglu
Könnten Sie mich bitte auf ein solches Marketing hinweisen? Ich konnte sehen, dass ein Betriebssystemhersteller sagte, er biete eine Plattform, auf der alle diese Arten von Programmen ausgeführt werden können, aber ein Betriebssystem enthält diese Programme nicht. Wenn Sie die beiden zusammenführen, sprechen Sie buchstäblich über das gesamte System, sodass die Definition ihre Bedeutung verliert.
DIMMSum
1
@dimmsum Ich verstehe deinen Standpunkt und deshalb habe ich zwei verschiedene Definitionen angegeben. Vielleicht hätte ich es "Verständnis" nennen sollen? Ich denke, Endbenutzer haben, insbesondere in der Zeit, in der Betriebssysteme in Kartons verkauft wurden, ein anderes Verständnis davon, was ein Betriebssystem ist, und das ist direkt relevant für die Standardisierung von Betriebssystemen. Die Windows XP-Box versprach eine völlig andere Transaktion als eine technische Definition, darauf wollte ich hinweisen.
Sedat Kapanoglu
1
@dimmsum Es gibt also ein Betriebssystem in der Informatik und ein anderes Betriebssystem in den Regalen eines Tech-Stores. Beide sind Betriebssysteme aus unterschiedlichen Perspektiven. Ich wollte diese Unterscheidung betonen.
Sedat Kapanoglu
73

Ein Kernel ist der Teil des Betriebssystems, der den Zugriff auf Systemressourcen vermittelt. Es ist dafür verantwortlich, dass mehrere Anwendungen die Hardware effektiv gemeinsam nutzen können, indem der Zugriff auf CPU, Speicher, Festplatten-E / A und Netzwerk gesteuert wird.

Ein Betriebssystem ist der Kernel plus Anwendungen, mit denen Benutzer etwas erledigen können (z. B. Compiler, Texteditor, Fenstermanager usw.).

Erich Douglass
quelle
18
Sind Compiler und Texteditoren wirklich Teil des Betriebssystems? Word ist ein verherrlichter Texteditor - ist das Teil des Betriebssystems?
Jon-Hanson
6
Was ich nicht bekomme, ist "Ein Betriebssystem ist der Kernel plus Anwendungen", aber wenn ich eine Anwendung installiere, sagen wir Word Perfect, dann sollte das nicht als Teil des Betriebssystems zählen, nein?
Celeritas
7
@Celeritas Ein bisschen zu spät zur Party, aber nein, diese installierte Anwendung wird nicht als Teil des Betriebssystems gezählt. Die "Anwendungen" sind eigentlich die Systemdienstprogramme, die mit dem Betriebssystem geliefert werden. Alle anderen von Ihnen installierten Software / Anwendungen befinden sich auf der darüber liegenden Ebene.
Hashcode55
Es ging Ihnen gut, bis Sie die Bemerkung in Klammern im zweiten Absatz geschrieben haben. Ein Betriebssystem verarbeitet Anforderungen dieser Anwendungen zur Steuerung der Hardware. Das Betriebssystem enthält also den Kernel, Gerätetreiber und jede andere Software / Firmware, die die Hardware auf der untersten Ebene speziell steuert.
Bob
42

Es scheint, dass die ursprüngliche Metapher, die uns das Wort "Kernel" dafür überhaupt gegeben hat, vergessen wurde. Die Metapher ist, dass ein Betriebssystem ein Keim ist. Der "Kernel" des Seeds ist der Kern des Betriebssystems und stellt Betriebssystemdienste für Anwendungsprogramme bereit, die von der "Shell" des Seeds umgeben sind, die Benutzer von außen sehen.

Einige Leute wollen "Kernel" (und in der Tat "Shell") binden, um genauer zu sein. In Wahrheit gibt es jedoch viele Unterschiede zwischen den Betriebssystemen. Nicht zuletzt stellen diese Variationen eine "Shell" dar (die von Solaris shüber den Console Command Interpreter von Netware bis zur Workplace Shell von OS / 2 und dem Explorer von Windows NT reichen kann ), aber es gibt auch große Unterschiede von Betriebssystem zu Betriebssystem Was ist und ist nicht Teil eines "Kernels" (der beispielsweise Festplatten-E / A enthalten kann oder nicht).

Denken Sie am besten daran, dass diese Begriffe Metaphern sind .

Weiterführende Literatur

JdeBP
quelle
Nett. Ihre Antwort stammt jedoch wörtlich aus der "Weiterführenden Literatur". Jetzt weiß ich, wie man durch Kopieren und Einfügen viele positive Stimmen erhält. LOL. Trotzdem hilfreich.
Lacostenycoder
18

Nun, es gibt einen Unterschied zwischen Kernel und Betriebssystem. Der oben beschriebene Kernel ist das Herzstück des Betriebssystems, das die Kernfunktionen eines Betriebssystems verwaltet. Wenn einige nützliche Anwendungen und Dienstprogramme über den Kernel hinzugefügt werden, wird das gesamte Paket zu einem Betriebssystem. Man kann also leicht sagen, dass ein Betriebssystem aus einem Kernel-Space und einem User-Space besteht.

Wir können also sagen, dass Linux ein Kernel ist, da es keine Anwendungen wie Dateisystemdienstprogramme, Fenstersysteme und grafische Desktops, Systemadministratorbefehle, Texteditoren, Compiler usw. enthält. Daher fügen verschiedene Unternehmen diese Art von Anwendungen über den Linux-Kernel hinzu und bieten ihr Betriebssystem wie Ubuntu, Suse, CentOS, RedHat usw.

n.zia
quelle
9

Das Betriebssystem ist ein generischer Name für alle Elemente (Benutzeroberfläche, Bibliotheken, Ressourcen), aus denen das gesamte System besteht.

Der Kernel ist das "Gehirn" des Betriebssystems, das alles vom Zugriff auf die Festplatte bis zur Speicherverwaltung steuert. Wann immer Sie etwas tun möchten, geht es durch den Kernel.

Kyle
quelle
8

Der Kernel ist Teil des Betriebssystems, jedoch nicht das Betriebssystem selbst. Anstatt auf alles einzugehen, was ein Kernel tut, werde ich auf die Wikipedia-Seite zurückgreifen: http://en.wikipedia.org/wiki/Kernel_%28computing%29 . Toller, gründlicher Überblick.

danben
quelle
3
Meh, versuchen Sie stattdessen den ersten Satz von en.wikipedia.org/wiki/Operating_system . Ein Betriebssystem hat formal die Aufgabe, den Zugriff auf begrenzte Ressourcen (ungefähr alles auf dem Computer) zu vermitteln, und monolithische Kernel tun genau das (Mikrokernel speichern einen Teil dieser Arbeit in Prozessen, diese werden jedoch weiterhin mit dem Kernel verteilt). Von einem prospektiven Programmierer der Kernel ist das Betriebssystem. Benutzer können sich auf die Shell oder andere Schnittstellen verlassen, aber das sind Benutzer . Denken Sie daran, dass Betriebssysteme auf allen Computern bis hin zu eingebetteten Widgets ausgeführt werden, die zwei Aufgaben ausführen müssen .
dmckee --- Ex-Moderator Kätzchen
Ihr Punkt ist also, dass einige Betriebssysteme selbst Kernel sind oder dass die Teile eines Betriebssystems, mit denen ein Benutzer interagiert, nicht Teil des Betriebssystems sind?
Danben
Außerdem lautet "der erste Satz von en.wikipedia.org/wiki/Operating_system" "Ein Betriebssystem (OS) ist eine Schnittstelle zwischen Hardware und Benutzer ...", sodass ich nicht verstehe, warum Sie zwischen was unterscheiden Ein Benutzer interagiert mit und dem Rest davon.
Danben
7

Ein Kernel ist Teil des Betriebssystems. Es ist das erste, was der Bootloader auf die CPU lädt (für die meisten Betriebssysteme). Es ist der Teil, der mit der Hardware verbunden ist, und er verwaltet auch, welche Programme was mit dem tun können Hardware, es ist wirklich der zentrale Teil des Betriebssystems, es besteht aus Treibern, ein Treiber ist ein Programm, das mit einer bestimmten Hardware verbunden ist, zum Beispiel: Wenn ich eine Digitalkamera für Computer machen würde, müsste ich machen Als Treiber dafür sind die Treiber die einzigen Programme, die die Ein- und Ausgabe des Computers steuern können

Noah
quelle
3

Einfache Antwort

Der Kernel ist das Kernstück des Betriebssystems. Es ist nicht unbedingt ein Betriebssystem an und für sich.

Alles andere ist darum herum gebaut.

Ausgefeilte Definition

Kernel (Computing) - Wikipedia

Justin Niessner
quelle
Ist das Kernel-Betriebssystem also ohne Treiber?
Xinus
1
Nein ... die meisten Kernel binden die verschiedenen Teile des Betriebssystems zusammen (nicht nur Treiber).
Justin Niessner
2

Beim Rechnen ist der Kernel die zentrale Komponente der meisten Computerbetriebssysteme. Es ist eine Brücke zwischen Anwendungen und der tatsächlichen Datenverarbeitung auf Hardwareebene. Zu den Aufgaben des Kernels gehört die Verwaltung der Systemressourcen (die Kommunikation zwischen Hardware- und Softwarekomponenten). Normalerweise kann ein Kernel als Grundkomponente eines Betriebssystems die Abstraktionsschicht der untersten Ebene für die Ressourcen (insbesondere Prozessoren und E / A-Geräte) bereitstellen, die die Anwendungssoftware steuern muss, um ihre Funktion auszuführen. Diese Funktionen stehen Anwendungsprozessen in der Regel über prozessübergreifende Kommunikationsmechanismen und Systemaufrufe zur Verfügung.


quelle
2

Der Kernel kann das Betriebssystem oder ein Teil des Betriebssystems sein. Unter Linux wird der Kernel zuerst geladen und ausgeführt. Dann werden andere Teile des Betriebssystems (wie init) gestartet, um das System nützlich zu machen.

Dies gilt insbesondere in einer Mikrokernumgebung. Der Kernel hat nur minimale Funktionalität. Alles andere, wie Dateisysteme und TCP / IP, wird als Benutzerprozess ausgeführt.

Richard Pennington
quelle
Was ist mit Kernel in einer Skriptsprache wie Ruby? Wenn Sie beispielsweise Ruby installiert haben, können Sie dies vom * nix-Terminal aus ausführen, ruby -e "puts Kernel.methods"und es werden viele Methoden definiert.
Lacostenycoder
2

Der Kernel befindet sich im Betriebssystem. Tatsächlich handelt es sich um einen Speicherplatz, der speziell für die Verwaltung der Betriebssystemfunktionen bereitgestellt wird. Einige sagen sogar, dass das Betriebssystem die Ressourcen des Systems verwaltet und der Kernel das Herzstück des Betriebssystems ist und die Verwaltung des Betriebssystems verwaltet und verwaltet.

Raj
quelle