XNU

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altre voci che possono riferirsi alla stessa combinazione di 3 caratteri, vedi XNU (disambigua).

XNU è il kernel utilizzato nel sistema operativo open source Darwin, che Apple Inc. usa come base per il suo sistema operativo Mac OS X.

È un kernel ibrido, basato su un'unione del codice del microkernel Mach e del kernel monolitico FreeBSD. XNU è un acronimo ricorsivo che sta per XNU's Not Unix ("XNU Non è Unix"). Il sistema, nato col nome XINU (acronimo ricorsivo XINU Is Not Unix e scrittura capovolta del nome UNIX, distribuito dalla startup MT XINU, a sua volta scrittura capovolta di UNIX TM dove TM sta per Trade Mark) nel 1984 sotto VAX 11-780, ebbe un certo successo – persino in Italia – tra gli hacker e gli studenti del tempo, grazie al porting (fatto dagli studenti di varie Università, principalmente della Purdue University dell'Indiana) verso 68000 e soprattutto per l'8088 del primo XT IBM, e grazie alla disponibilità dei sorgenti, presenti persino nel libro che ne descriveva l'approccio[1]. La diffusione del sistema fu ostacolata dalla grande diffusione dell'MS-DOS.

Le funzioni primitive e i servizi fondamentali del kernel XNU si basano su microkernel Mach 3.0. Apple ha modificato ed esteso Mach per raggiungere la funzionalità e gli obiettivi prestazionali di Mac OS X. Mach 3.0 originariamente è stato concepito come un microkernel semplice ed estensibile. In questo modo, riesce ad eseguire il nucleo del sistema operativo come un processo separato, il che permette una grande flessibilità (si possono eseguire svariati sistemi operativi in parallelo sul microkernel Mach), ma questo riduce le prestazioni a causa delle traduzioni tra Mach e gli altri sistemi operativi. Con Mac OS X, poiché il comportamento del sistema è conosciuto in anticipo, le funzionalità di BSD sono state inserite nel microkernel con Mach. Il risultato è una combinazione dei vantaggi di Mach e BSD. La parte del microkernel Mach è responsabile del gestore della memoria, della comunicazione tra processi e del sistema input/output; permette inoltre protezione della memoria, pre-emptive multitasking e una gestione avanzata della memoria virtuale. La parte del kernel BSD gestisce gli utenti e i permessi, contiene lo stack di rete, offre un virtual file system (VFS) e osserva la compatibilità con le specifiche POSIX.

Note[modifica | modifica sorgente]

  1. ^ Douglas Comer, Operating System Design – The XINU approach, Prentice-Hall, 1984, ISBN 0-13-637539-1.

Voci correlate[modifica | modifica sorgente]

Apple Portale Apple: accedi alle voci di Wikipedia che trattano di Apple