GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jsou různá jádra Linux/unix zaměnitelná?

Mohu vzít linuxové jádro a používat ho, řekněme, s FreeBSD a naopak (kernel FreeBSD řekněme v Debianu)? Existuje univerzální odpověď? Jaká jsou omezení? Jaké jsou překážky?

Přijatá odpověď:

Ne, jádra z různých implementací operačních systémů unixového stylu nejsou zaměnitelná, zejména proto, že všechna představují různá rozhraní ke zbytku systému (uživatelský prostor) – jejich systémová volání (včetně ioctl specifika), různé virtuální systémy souborů, které používají…

Co je na úrovni zdroje do určité míry zaměnitelné, je kombinace jádra a knihovny C, nebo spíše rozhraní API na uživatelské úrovni, které jádro a knihovny odhalují (v podstatě pohled na vrstvu popsaný POSIXem, bez s ohledem na to, zda je ve skutečnosti POSIX). Příklady tohoto zahrnují Debian GNU/kFreeBSD, který staví systém Debian nad jádrem FreeBSD, a Debian GNU/Hurd, který staví systém Debian nad Hurd.

To není úplně na úrovni zaměnitelnosti jádra, ale byly pokusy standardizovat společné binární rozhraní aplikací, aby bylo možné používat binární soubory na různých systémech bez nutnosti rekompilace. Jedním z příkladů je Intel Binary Compatibility Standard, který umožňuje binárním souborům, které mu vyhovují, běžet na jakémkoli unixovém systému, který jej implementuje, včetně starších verzí Linuxu s vrstvou iBCS 2. Použil jsem to na konci 90. let ke spuštění WordPerfect na Linuxu.


Linux
  1. Vytváření linuxových jader způsobem Debian

  2. Linux – Je Linux Unix?

  3. Linux – Jak lze zkontrolovat informace o struktuře adresářů souboru Unix/linux?

  1. Linux – standardní a/nebo společné adresáře na operačních systémech Unix/linux?

  2. Je Linux Unix?

  3. Co je velká a nízká paměť v Linuxu?

  1. Jsou vlákna jádra Linuxu skutečně procesy jádra?

  2. Proč se telefonní čísla systému Linux v x86 a x86_64 liší?

  3. Jsou různá jádra Linux/Unix zaměnitelná?