MacOS è UNIX? (e cosa significa?)

MacOS è UNIX o solo Unix? O è simile a Unix? Rispondiamo al dibattito senza fine e spieghiamo standard come POSIX e SUS lungo la strada.

macOS: UNIX o no?

Questo argomento solleva una serie di domande diverse. Qual è il lignaggio di macOS? Quanto di quel materiale ereditario è ancora presente nell’odierno macOS e ha importanza? Prima di poter iniziare a rispondere se qualcosa è UNIX, Unix o Unix-like, dobbiamo essere a nostro agio con il significato di questi termini. Chi decide se qualcosa è Unix o UNIX e quali criteri usano?

Cominciamo dall’inizio.

Unix è stato creato cinquant’anni fa a Bell Labs, una società di ricerca e sviluppo di proprietà di AT&T. Avanti veloce al 1973 e alla versione 4 di Unix, che è stata riscritta nel linguaggio di programmazione C. Ciò ha reso il sistema operativo molto più portabile e più facile da trasferire su diverse piattaforme hardware. Quello stesso anno, Ken Thompson e Dennis Ritchie, due dei principali architetti Unix, hanno presentato un documento a una conferenza sui sistemi operativi. Immediatamente hanno ricevuto richieste di copie del sistema operativo.

Legato da a decreto consenso che risale al 1956, AT&T ha dovuto evitare “qualsiasi attività diversa dalla fornitura di servizi di comunicazione di vettore comuni”. Unix non si qualificava come qualcosa da cui AT&T poteva trarre profitto. Quindi, l’azienda ha fatto qualcosa di straordinario per quel tempo: distribuito Unix come codice sorgente con una licenza liberale. Piccole spese coprivano la spedizione e l’imballaggio e una “royalty ragionevole”.

  Come disattivare il microfono dalla tastiera o dalla touch bar su macOS

Una proliferazione di Unix

Poiché Unix è stato fornito “così com’è”, è arrivato senza supporto. Di conseguenza, una comunità Unix ha iniziato a unirsi per aiutare i membri, patchare ed estendere Unix. Quindi, potresti ottenere il codice sorgente, modificarlo e ottenere supporto dalla comunità. Ha un suono familiare. Diverse versioni di Unix iniziarono ad apparire, adattate e ottimizzate per adattarsi all’organizzazione che svolgeva il lavoro.

Bob Fabry, professore di informatica alla UC Berkeley, faceva parte del comitato del programma per il Simposio sui principi dei sistemi operativi del 1973. Ha ascoltato una presentazione di Thompson e Ritchie, intitolata The UNIX Time-Sharing System.

Fabry ha richiesto una copia del sistema operativo e, nel 1974, Unix è stato installato su un file PDP / 11 presso il Computer Sciences Research Group (CSRG) presso la UC Berkeley. Significativamente, Ken Thompson ha trascorso un anno lì, lavorando su quello che divenne rapidamente il sapore di Unix dell’università. Copie delle modifiche e aggiunte alla UC Berkeley furono distribuite e divennero note come Berkeley Software Distribution (BSD). Alla fine, queste divennero distribuzioni di un intero sistema Unix, ancora noto come BSD. I numeri di versione, come 4.2BSD, hanno identificato le diverse versioni.

  Come visualizzare la password WiFi su macOS

Nel 1984, AT&T è stata liberata dalle restrizioni del decreto sul consenso del 1956 e in grado di commercializzare adeguatamente il proprio sistema operativo. Includeva codice BSD, come TCP / IP, vie la shell C, csh. Anche con questa impollinazione incrociata e collaborazione, c’erano difficoltà con le licenze. BSD conteneva codice AT&T, che non era open source, ma gli elementi BSD lo erano.

Per aggirare questi problemi è stata sviluppata una versione di BSD senza codice AT&T. Quando il codice AT&T è stato rimosso, tuttavia, mancava circa il 20% del kernel. William Jolitz ha scritto le parti mancanti e quella versione di Unix è stata rilasciata come 386BSD. Il progetto 386BSD è andato in stallo, ma nel 1993, il suo codice sorgente ha dato origine a NetBSD e FreeBSD progetti.

Questo ci ha dato un pezzo del puzzle: FreeBSD.

Passo successivo

Dopo essere stato licenziato da Apple, Inc. nel 1985, Steve Jobs ha fondato una società chiamata NeXT, Inc. Per fornire un sistema operativo per la sua linea di prodotti di workstation, NeXT ha sviluppato Passo successivo. Ha usato BSD come base di codice ma ha introdotto un kernel completamente diverso.

  Come attivare gli hot corner con i tasti modificatori su macOS

NeXT ha utilizzato una versione modificata del Mach microkernel e 4.3BSD per formare NeXTSTEP, che è la seconda parte di questo puzzle. Mach è stato sviluppato alla Carnegie Mellon per facilitare la ricerca nel calcolo distribuito e parallelo. Il team di ricerca ha utilizzato BSD come sistema operativo e ha sostituito il kernel piuttosto che scrivere il proprio sistema operativo.

XNU

Nel 1996, Apple, Inc. ha acquistato NeXT, Inc. e, quindi, ha acquisito NeXTSTEP. Apple ha iniziato a sviluppare il sistema operativo che sarebbe finalmente diventato macOS Mac OS X. Ha aggiornato il kernel Mach e lo ha sostituito con la versione più avanzata sviluppata e utilizzata da Open Software Foundation in OSF / 1 sistema operativo. Apple ha anche aggiornato i componenti BSD con versioni aggiornate e migliorate dalla distribuzione di FreeBSD.

Apple ha riportato elementi del kernel BSD nel kernel Mach. Ha anche sviluppato un kernel ibrido che combinava le caratteristiche di entrambi monolitico e architetture microkernel.

Il Kit I / O, che Apple ha sviluppato sulla base del DriverKit di NeXTSTEP, era incluso. Ciò ha reso possibile aggiungere driver a un kernel senza doverlo modificare ogni volta.

XNU è la terza parte del puzzle.

Gli standard POSIX e SUS

Nel 1996, due organismi di normalizzazione—X / Apri e il Open Software Foundation—Fusa per formare Il gruppo aperto.

The Open Group è il certificatore