GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Sind verschiedene Linux/Unix-Kernel austauschbar?

Kann ich einen Linux-Kernel nehmen und ihn beispielsweise mit FreeBSD verwenden und umgekehrt (FreeBSD-Kernel beispielsweise in einem Debian)? Gibt es eine universelle Antwort? Was sind die Einschränkungen? Was sind die Hindernisse?

Akzeptierte Antwort:

Nein, Kernel von verschiedenen Implementierungen von Betriebssystemen im Unix-Stil sind nicht austauschbar, insbesondere weil sie alle unterschiedliche Schnittstellen zum Rest des Systems (Benutzerbereich) darstellen – ihre Systemaufrufe (einschließlich ioctl Einzelheiten), die verschiedenen virtuellen Dateisysteme, die sie verwenden …

Was bis zu einem gewissen Grad auf Quellebene austauschbar ist, ist die Kombination des Kernels und der C-Bibliothek, oder besser gesagt, die APIs auf Benutzerebene, die der Kernel und die Bibliotheken bereitstellen (im Wesentlichen die Ansicht auf der Ebene, die von POSIX beschrieben wird, ohne überlegen, ob es ist eigentlich POSIX). Beispiele hierfür sind Debian GNU/kFreeBSD, das ein Debian-System auf einem FreeBSD-Kernel aufbaut, und Debian GNU/Hurd, das ein Debian-System auf Hurd aufbaut.

Dies ist nicht ganz auf der Ebene der Kernel-Austauschbarkeit, aber es gab Versuche, eine gemeinsame Binärschnittstelle für Anwendungen zu standardisieren, damit Binärdateien auf verschiedenen Systemen verwendet werden können, ohne dass eine Neukompilierung erforderlich ist. Ein Beispiel ist der Intel Binary Compatibility Standard, der es ermöglicht, Binärdateien, die ihm entsprechen, auf jedem Unix-System auszuführen, das ihn implementiert, einschließlich älterer Linux-Versionen mit der iBCS-2-Schicht. Ich habe dies Ende der 90er Jahre verwendet, um WordPerfect unter Linux auszuführen.


Linux
  1. Was sind die verschiedenen Arten von Shells in Linux?

  2. Hauptunterschiede zwischen Linux und UNIX-Kernel

  3. UNIX / Linux:Was ist eine Shell? Was sind verschiedene Muscheln?

  4. Sind Linux-Kernel-Threads wirklich Kernel-Prozesse?

  5. Warum unterscheiden sich Linux-Systemrufnummern in x86 und x86_64?

So wechseln Sie zwischen verschiedenen Linux-Kernels auf Arch Linux

Linux-Kernel vs. Mac-Kernel

Verwalten von Linux-Kernel-Upgrades in Debian

So installieren Sie den Linux-Kernel 5.15 unter Debian 11

Linux gegen Unix

Sind verschiedene Linux/Unix-Kernel austauschbar?