„Linux“ ist nicht nur eine Linux-Software, aus der Linux-Systeme bestehen
Linux-Distributionen sind nicht nur der Linux-Kernel. Sie enthalten alle andere wichtige Software, wie den Grub-Bootloader, die Bash-Shell, GNU-Shell-Dienstprogramme, Daemons, den grafischen X.org-Server, eine Desktop-Umgebung und mehr.
Alle diese verschiedenen Programme werden von verschiedenen unabhängigen Entwicklungsgruppen entwickelt. Sie werden durch Linux-Distributionen kombiniert, in denen sie aufeinander aufbauen, um ein vollständiges Linux-Betriebssystem zu schaffen. Dies unterscheidet sich von Windows, das vollständig von Microsoft entwickelt wurde.
Bootloader
Wenn Sie Ihren Computer einschalten, lädt die BIOS- oder UEFI-Firmware Ihres Computers die Software von Ihrem Startgerät. Das erste Programm, das mit einem beliebigen Betriebssystem geladen wird, ist der Bootloader. Bei Linux ist dies normalerweise der Grub-Bootloader.
Wenn Sie mehrere Betriebssysteme installiert haben, bietet Grub ein Menü, in dem Sie zwischen den Betriebssystemen auswählen können. Wenn Sie beispielsweise Linux in einer Dual-Boot-Konfiguration installiert haben, können Sie beim Booten entweder Linux oder Windows auswählen.
Grub startet Ihr Linux-System möglicherweise fast sofort, wenn Sie nur ein einziges Betriebssystem installiert haben, aber es ist immer noch vorhanden. Grub erledigt das eigentliche Booten von Linux, gibt Befehlszeilenoptionen aus und ermöglicht Ihnen das Booten von Linux zu anderen Zwecken zur Fehlerbehebung. Ohne einen Bootloader würde eine Linux-Distribution einfach nicht booten.
Der Linux-Kernel
Das genaue Stück Software, das Grub bootet, ist der Linux-Kernel. Dies ist der Teil des Systems, der eigentlich als "Linux" bezeichnet wird. Der Kernel ist der Kern des Systems. Es verwaltet Ihre CPU, Speicher und Eingabe- / Ausgabegeräte wie Tastatur, Mäuse und Displays. Da der Kernel direkt von der Hardware spricht, sind viele Hardwaretreiber Bestandteil des Linux-Kernels und werden in diesem ausgeführt.
Alle andere Software läuft über dem Kernel. Der Kernel ist die unterste Software, die mit der Hardware verbunden ist. Es bietet eine Abstraktionsebene über der Hardware, die alle unterschiedlichen Hardwareprobleme behandelt, so dass der Rest des Systems sich so wenig wie möglich um sie kümmern kann. Windows verwendet den Windows NT-Kernel und Linux den Linux-Kernel.
Daemons
Dämonen sind im Wesentlichen Hintergrundprozesse. Sie werden häufig als Teil des Startvorgangs gestartet, also eines der nächsten Dinge, die nach dem Kernel und vor dem Anzeigen des grafischen Anmeldebildschirms geladen werden. Windows bezeichnet solche Prozesse als "Dienste", während UNIX-ähnliche Systeme sie als "Daemons" bezeichnen.
Crond zum Beispiel, das geplante Tasks verwaltet, ist ein Daemon - das d am Ende steht für "Daemon". Syslogd ist ein weiterer Daemon, der traditionell Ihr Systemprotokoll verwaltet. Server wie der sshd-Server werden als Daemons im Hintergrund ausgeführt. Dadurch wird sichergestellt, dass sie immer aktiv sind und auf Remote-Verbindungen warten.
Daemons sind im Wesentlichen nur Hintergrundprozesse, aber Prozesse auf Systemebene, die Sie normalerweise nicht bemerken.
Die Muschel
Die meisten Linux-Systeme verwenden standardmäßig die Bash-Shell. Eine Shell bietet eine Befehlsprozessorschnittstelle, mit der Sie Ihren Computer durch Eingabe von Befehlen an einer Textschnittstelle steuern können. Shells können auch Shell-Scripts ausführen. Hierbei handelt es sich um eine Sammlung von Befehlen und Operationen, die in der im Skript angegebenen Reihenfolge ausgeführt werden.
Selbst wenn Sie nur einen grafischen Desktop verwenden, werden Shells ausgeführt und im Hintergrund verwendet. Wenn Sie ein Terminalfenster öffnen, wird eine Shell-Eingabeaufforderung angezeigt.
Shell-Dienstprogramme
Die Shell bietet einige grundlegende integrierte Befehle, die meisten von Linux-Benutzern verwendeten Shell-Befehle sind jedoch nicht in die Shell integriert. Zum Beispiel gehören Befehle wie der Befehl cp zum Kopieren einer Datei, der Befehl ls zum Auflisten von Dateien in einem Verzeichnis und der Befehl rm zum Löschen von Dateien zum Paket GNU Core Utilities.
Linux-Systeme würden ohne diese wichtigen Dienstprogramme nicht funktionieren. Tatsächlich ist die Bash-Shell selbst Teil des GNU-Projekts. Aus diesem Grund wurde kontrovers diskutiert, ob Linux wirklich "Linux" oder "GNU / Linux" heißen sollte. Kritiker des Namens „Linux“ weisen zu Recht darauf hin, dass viel mehr Software in typische Linux-Systeme fließt, was oft nicht anerkannt wird. Kritiker des Namens „GNU / Linux“ weisen zu Recht darauf hin, dass ein typisches Linux-System auch andere kritische Software enthält, die der Name „GNU / Linux“ nicht enthält.
Nicht alle Shell-Dienstprogramme und Befehlszeilenprogramme werden vom GNU-Projekt entwickelt. Für einige Befehle und Terminalprogramme ist jeweils ein eigenes Projekt vorgesehen.
X.org Graphischer Server
Der grafische Desktop-Teil von Linux ist nicht Teil des Linux-Kernels. Es wird von einer Art Paket bereitgestellt, das als "X-Server" bezeichnet wird, da es das "X-Window-System" implementiert, das vor vielen Jahren entstanden ist.
Derzeit ist X.org der beliebteste X-Server - oder Grafikserver. Wenn ein grafisches Anmeldefenster oder ein Desktop angezeigt wird, wirkt X.org seine Magie. Das gesamte grafische System wird von X.org betrieben, das eine Schnittstelle zu Ihrer Grafikkarte, Ihrem Monitor, Ihrer Maus und anderen Geräten herstellt.
X.org bietet nicht die vollständige Desktop-Umgebung, nur ein grafisches System, auf dem Desktop-Umgebungen und Toolkits aufbauen können.
Desktop-Umgebung
Was Sie auf einem Linux-Desktop wirklich verwenden, ist eine Desktop-Umgebung. Zum Beispiel umfasst Ubuntu die Unity-Desktop-Umgebung, Fedora umfasst GNOME, Kubuntu umfasst KDE und Mint im Allgemeinen Cinnamon oder MATE. Diese Desktop-Umgebungen bieten alles, was Sie sehen - Desktop-Hintergrund, Bedienfelder, Fenstertitelleisten und Rahmen.
Sie enthalten im Allgemeinen auch eigene Dienstprogramme, die in die gesamte Desktopumgebung integriert sind. Zum Beispiel enthalten GNOME und Unity den Nautilus-Dateimanager, der als Teil von GNOME entwickelt wurde, wohingegen KDE den Dolphin-Dateimanager enthält, der als Teil des KDE-Projekts entwickelt wurde.
Desktop-Programme
Nicht jedes Desktop-Programm ist Teil einer Desktop-Umgebung. Beispielsweise sind Firefox und Chrome agnostisch für die Desktopumgebung. Dies sind nur Programme, die normalerweise auf jeder Desktop-Umgebung ausgeführt werden können. OpenOffice.org ist eine weitere Suite von Programmen, die nicht an eine bestimmte Desktop-Umgebung gebunden ist.
Sie können jedes Linux-Desktop-Programm in einer beliebigen Desktop-Umgebung ausführen. Die für bestimmte Desktop-Umgebungen entwickelten Programme können jedoch unpassend erscheinen oder in andere Prozesse ziehen. Wenn Sie beispielsweise versucht haben, den Nautilus-Dateimanager von GNOME auf KDE auszuführen, würde dies unpassend erscheinen, Sie müssten eine Vielzahl von GNOME-Bibliotheken installieren und wahrscheinlich GNOME-Desktopprozesse beim Öffnen starten, wenn Sie sie öffnen. Aber es würde laufen und brauchbar sein.
Linux-Distributionen führen die letzten Schritte aus. Sie nehmen all diese Software, kombinieren sie so, dass sie gut zusammenarbeitet, und fügen ihre eigenen notwendigen Dienstprogramme hinzu. Bei Distributionen werden beispielsweise eigene Betriebssysteminstallationsprogramme erstellt, mit denen Sie Linux sowie Paketmanager für die Installation zusätzlicher Software und die Aktualisierung der installierten Software installieren können.
Bildnachweis: tao mai auf Flickr