GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – I diversi kernel Linux/unix sono intercambiabili?

Posso prendere un kernel Linux e usarlo, ad esempio, con FreeBSD e viceversa (kernel FreeBSD in, ad esempio, una Debian)? Esiste una risposta universale? Quali sono i limiti? Quali sono gli ostacoli?

Risposta accettata:

No, i kernel di diverse implementazioni di sistemi operativi in ​​stile Unix non sono intercambiabili, in particolare perché presentano tutti interfacce diverse con il resto del sistema (spazio utente) — le loro chiamate di sistema (incluso ioctl specifiche), i vari file system virtuali che utilizzano...

Ciò che è intercambiabile in una certa misura, a livello sorgente, è la combinazione del kernel e della libreria C, o meglio, le API a livello utente che il kernel e le librerie espongono (essenzialmente, la vista al livello descritta da POSIX, senza considerando se lo è effettivamente POSIX). Esempi di questo includono Debian GNU/kFreeBSD, che costruisce un sistema Debian su un kernel FreeBSD, e Debian GNU/Hurd, che costruisce un sistema Debian su Hurd.

Questo non è proprio a livello di intercambiabilità del kernel, ma ci sono stati tentativi di standardizzare un'interfaccia binaria di un'applicazione comune, per consentire l'uso di binari su vari sistemi senza necessità di ricompilazione. Un esempio è l'Intel Binary Compatibility Standard, che consente ai binari conformi ad esso di essere eseguiti su qualsiasi sistema Unix che lo implementa, comprese le versioni precedenti di Linux con il livello iBCS 2. L'ho usato alla fine degli anni '90 per eseguire WordPerfect su Linux.


Linux
  1. Principali differenze tra il kernel Linux e UNIX

  2. Linux è un Unix?

  3. Cosa sono la memoria alta e la memoria bassa su Linux?

  4. I thread del kernel di Linux sono davvero processi del kernel?

  5. Perché i numeri di chiamata del sistema Linux in x86 e x86_64 sono diversi?

Come passare da un kernel Linux all'altro su Arch Linux

Kernel Linux vs. Kernel Mac

Gestire gli aggiornamenti del kernel Linux in Debian

Come installare Linux Kernel 5.15 su Debian 11

Linux vs Unix

I diversi kernel Linux/Unix sono intercambiabili?