GNU/Linux >> Linux Esercitazione >  >> Linux

Qual ​​è la differenza tra i kernel macOS e Linux

Alcune persone potrebbero pensare che ci siano somiglianze tra macOS e il kernel Linux perché possono gestire comandi simili e software simili. Alcune persone pensano addirittura che macOS di Apple sia basato su Linux. La verità è che entrambi i kernel hanno storie e caratteristiche molto diverse. Oggi daremo un'occhiata alla differenza tra i kernel macOS e Linux.

Cronologia del kernel macOS

Inizieremo con la cronologia del kernel macOS. Nel 1985, Steve Jobs lasciò la Apple a causa di un litigio con il CEO John Sculley e il consiglio di amministrazione di Apple. Ha quindi fondato una nuova società di computer chiamata NeXT. Jobs voleva immettere rapidamente sul mercato un nuovo computer (con un nuovo sistema operativo). Per risparmiare tempo, il team NeXT ha utilizzato il kernel Mach di Carnegie Mellon e parti della base di codice BSD per creare il sistema operativo NeXTSTEP.

NeXT non è mai diventato un successo finanziario, in parte a causa dell'abitudine di Jobs di spendere soldi come se fosse ancora in Apple. Nel frattempo, Apple aveva tentato in diverse occasioni senza successo di aggiornare il proprio sistema operativo, arrivando persino a collaborare con IBM. Nel 1997, Apple ha acquistato NeXT per $ 429 milioni. Come parte dell'accordo, Steve Jobs è tornato in Apple e NeXTSTEP è diventato la base di macOS e iOS.

Cronologia del kernel Linux

A differenza del kernel macOS, Linux non è stato creato come parte di un'impresa commerciale. Invece, è stato creato nel 1991 dallo studente di informatica finlandese Linus Torvalds. In origine, il kernel è stato scritto secondo le specifiche del computer di Linus perché voleva sfruttare il suo nuovo processore 80386. Linus pubblicò il codice per il suo nuovo kernel su Usenet nell'agosto del 1991. Presto ricevette suggerimenti su codice e funzionalità da tutto il mondo. L'anno successivo Orest Zborowski portò l'X Window System su Linux, dandogli la possibilità di supportare un'interfaccia utente grafica.

Nel corso degli ultimi 27 anni, Linux è lentamente cresciuto e ha acquisito funzionalità. Non è più il piccolo progetto di uno studente. Ora gestisce la maggior parte dei dispositivi informatici del mondo e i supercomputer del mondo. Non troppo malandato.

Caratteristiche del kernel macOS

Il kernel macOS è ufficialmente noto come XNU. L'acronimo sta per "XNU is Not Unix". Secondo la pagina Github di Apple, XNU è "un kernel ibrido che combina il kernel Mach sviluppato presso la Carnegie Mellon University con componenti di FreeBSD e API C++ per la scrittura di driver". La parte del codice del sottosistema BSD è "tipicamente implementata come server spazio utente nei sistemi di microkernel". La parte Mach è responsabile del lavoro di basso livello, come multitasking, memoria protetta, gestione della memoria virtuale, supporto per il debug del kernel e I/O della console.

Caratteristiche del kernel Linux

Mentre il kernel macOS combina la funzionalità di un microkernel (Mach)) e un kernel monolitico (BSD), Linux è esclusivamente un kernel monolitico. Un kernel monolitico è responsabile della gestione della CPU, della memoria, della comunicazione tra processi, dei driver di dispositivo, del file system e delle chiamate del server di sistema.

Differenza tra il kernel Mac e Linux in una riga

Il kernel macOS (XNU) esiste da più tempo di Linux ed era basato su una combinazione di due basi di codice ancora più vecchie. D'altra parte, Linux è più recente, scritto da zero e viene utilizzato su molti più dispositivi.

Se hai trovato questo articolo interessante, prenditi un minuto per condividerlo sui social media, Hacker News o Reddit.



Linux
  1. Linux:differenza tra spazio utente e spazio kernel?

  2. Qual è la differenza tra individuare e trovare il comando in Linux

  3. Qual è la differenza tra un driver di piattaforma Linux e un normale driver di dispositivo?

  4. Qual è la differenza tra una chiamata di libreria e una chiamata di sistema in Linux?

  5. Qual è la differenza tra driver del kernel e moduli del kernel?

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Rsync e BTRFS in Linux?

Qual è la differenza tra ls e l?

Qual è la differenza tra kernel preventivo non preventivo, preventivo e selettivo?

Qual è la differenza tra chiamate probabili e improbabili nel kernel?

Qual è la differenza tra Unix, Linux, BSD e GNU?