Perché Mac OS X funziona su XNU: Kernel Breakdown

2

Apri il portatile. Fare clic sull’applicazione. Funziona. La maggior parte degli utenti non guarda mai sotto il cofano. Non dovrebbero doverlo fare. Ma comprendere il motore aiuta a spiegare perché i Mac sono diversi dai PC Windows e dai dispositivi Linux. Il segreto non è magico. E’ un codice. Nello specifico, il kernel XNU.

Quando premi il pulsante di accensione, il kernel XNU verrà caricato per primo. È il capo dell’hardware. Determina la quantità di memoria allocata a qualsiasi applicazione. Gestisce il tempo della CPU. Controlla le unità disco per assicurarsi che i dati non si perdano nell’etere. Ma XNU non è stato costruito da zero. È un ibrido.

Fondazione Mach

Al centro di XNU c’è Mach. Questa non è una novità. È un prodotto della Carnegie Mellon University e risale agli anni ’80. Perché usare il codice degli anni ’80? Perché funziona. Mach gestisce il lavoro pesante della gestione della memoria virtuale. Gestisce anche il multitasking.

Quando il tuo Mac inizia a surriscaldarsi, Mach interviene. Può ridurre la velocità di elaborazione della CPU. Questo non è un problema tecnico. Questa è una caratteristica. Il sistema dà priorità alla sopravvivenza dell’hardware rispetto alla velocità pura. Potresti notare che le ventole si accendono o le app rallentano leggermente. Questo è Mach che protegge il tuo silicio.

Kit I/O: Hub di connessione

Successivamente abbiamo il kit Input-Output. Fa parte del kernel, ma ha un lavoro specifico. Controlla i driver del dispositivo. Quelli li conosci. Questi sono traduttori che consentono alla tua stampante di comunicare con il tuo computer. Senza questi, l’hardware è solo plastica costosa.

Il kit I/O utilizza una versione speciale e limitata di C++. Non è C++ completo. È ridotto all’osso. Efficiente. Questo livello gestisce un massiccio afflusso e deflusso di dati. Gestisce le richieste che si spostano dal tuo Mac alle periferiche e viceversa.

Così puoi collegare contemporaneamente un mouse USB, un’unità FireWire e un display Thunderbolt. Il kit I/O li destreggia. Nessuna confusione. Elabora diverse tecnologie contemporaneamente. Se lo provi su alcune architetture PC meno recenti, potresti riscontrare conflitti di driver. I Mac generalmente no.

BSD: buttafuori di sicurezza

Il terzo pilastro di XNU proviene da Berkeley Software Distribution (BSD). È un derivato UNIX. Consideralo come una guardia. Oppure il buttafuori di un club esclusivo.

Quando accedi, BSD determina le tue autorizzazioni. Gli amministratori hanno campo libero. Possono eliminare i programmi. Possono installare software a livello di sistema. Un utente standard? Ottengono di meno. Il livello BSD impone queste regole. Impedisce agli utenti normali di rompere le cose. Inoltre sincronizza i processi. Mantiene il sistema organizzato.

Senza questo livello, Mac OS X sarebbe un caos di permessi contrastanti. Chiunque può cancellare il sistema. BSD mantiene la pace.

Concetto di pila

Gli ingegneri pensano a Mac OS X come a uno stack. Questo è un modello concettuale. In basso: hardware e firmware. Il prossimo è il kernel XNU. Sopra: i servizi principali. Successivamente, i servizi applicativi. In alto: l’app effettiva che stai utilizzando.

Questo stack è importante. Mostra come interagiscono gli strati. I cambiamenti nucleari possono causare effetti a catena. L’aggiornamento della GUI di solito non interrompe il core. La separazione è intenzionale.

Servizi principali e GUI

Il livello di servizio principale contiene il framework. Gestisci attività come ricerche di testo in più lingue. Fornisce API di sistema. Gli sviluppatori utilizzano queste API per creare software. I servizi principali svolgono il lavoro pesante in background.

Viene visualizzato il livello di servizio dell’applicazione. Questa è un’interfaccia utente grafica (GUI). Crea finestre, icone e cursori. Questo è un canale di comunicazione tra le applicazioni. Questo livello semplifica la copia del testo dal browser e l’incollamento nel documento. Ecco come le applicazioni possono comunicare tra loro.

Cosa significa XNU?

Il nome stesso è uno scherzo. Gli ingegneri informatici adorano i giochi di parole cattivi. XNU non rappresenta un’abbreviazione complessa. Ciò significa “X non è Unix”.

Unix è un altro sistema operativo. Mac OS X condivide lo stesso DNA. Ma non è Unix. Il nome sottolinea questa differenza. È rispetto per gli antenati e divisione. Ci ricorda che, sebbene il Mac sia costruito sui principi UNIX, è una bestia a sé stante.

Il kernel gestisce la memoria. La serie I/O si occupa delle connessioni. BSD si prende cura della sicurezza. La pila li tiene insieme. La prossima volta che vuoi che il tuo Mac funzioni senza problemi, ricorda il codice che esegue il lavoro invisibile per te. Questa non è magia. Questa è architettura.

Articolo precedenteCome utilizzare un motore di ricerca di beneficenza per finanziare cause globali
Articolo successivoComprendere l’architettura client/server della propria rete