MacOS è una distribuzione Unix?


19

So che macOS è un sistema operativo UNIX , ma non so se macOS potrebbe essere chiamato una distribuzione UNIX nello stesso modo in cui Gentoo o Debian sono distribuzioni GNU / Linux .

MacOS è una distribuzione UNIX? In caso contrario, come si può fare correttamente riferimento all'appartenenza di macOS alla famiglia del sistema operativo UNIX e alla conformità alla specifica UNIX singola (ovvero, è una variante Unix , una versione Unix , un sapore Unix , ecc.)? Inoltre, questa domanda si applica a Solaris, HP-UX e altri Unix (sono tutte distribuzioni UNIX?).

Inoltre, la parola "distribuzione" è limitata ai sistemi operativi GNU (/ Linux, / Hurd, / kFreeBSD, / etc) o può essere usata in altri casi?

EDIT: Mi sono reso conto che il sito Web ufficiale di UNIX utilizza "implementazioni UNIX" e "sistemi operativi UNIX" per fare riferimento alla famiglia di sistemi operativi Unix, ovvero quelli che implementano lo standard Unix singolo.


Come si definisce "distribuzione Unix" e cosa si intende per "essere una distribuzione Unix"?
Jörg W Mittag,

@ JörgWMittag Non ho alcuna definizione per questo. Penso che il senso GNU delle distribuzioni come l'insieme dei sistemi operativi che condividono lo stesso software di base, come definito nella risposta, sia il più giusto.
Seninha,

2
UNIX è un marchio. Unix è un sistema operativo. Sono due cose differenti.
fpmurphy

1
A rigor di termini, Debian e Gentoo non sono distribuzioni Unix, sono distribuzioni Linux. Linux non è Unix, funziona solo come Unix. Né AFAIK sono distribuzioni GNU: gli strumenti GNU fanno parte di qualsiasi distribuzione Linux, ma non l'unica parte.
jamesqf,

1
Se pubblichi la tua modifica come risposta, otterrà il mio voto.
Dal

Risposte:


32

Che cos'è UNIX?

Risposta breve: UNIX è una specifica / standard al giorno d'oggi.

Al momento della stesura, per citare le fonti ufficiali , "UNIX® è un marchio registrato di The Open Group", la società che tra le tante cose fornisce la certificazione UNIX :

"UNIX®, uno standard aperto di proprietà e gestito da The Open Group, è un fattore abilitante per le tecnologie chiave e offre un costo totale di proprietà ridotto, maggiore agilità IT, stabilità e interoperabilità in ambienti eterogenei che consentono l'innovazione di business e di mercato in tutto il mondo ".

La stessa pagina indica specificamente quale specifica definisce UNIX:

L'ultima versione dello standard di certificazione è UNIX V7, in linea con la specifica UNIX versione 4, edizione 2013

I dettagli di tali specifiche sono disponibili qui . Curiosamente, l'ultimo standard elencato sul loro sito Web è UNIX 03 e, per citare un'altra fonte , "UNIX® 03 - il marchio per i sistemi conformi alla versione 3 della specifica UNIX singola".

Per citare la pagina Chi siamo con la mia enfasi in grassetto:

Il successo dell'approccio UNIX ha portato a un gran numero di sistemi operativi "simili", spesso divergenti in termini di compatibilità e interoperabilità. Per ovviare a questo, i fornitori e gli utenti si sono uniti negli anni '80 per creare lo standard POSIX® e successivamente le specifiche UNIX singole .

Quindi ciò che suggerisce (o almeno così è la mia interpretazione), è che quando un sistema operativo è conforme allo standard POSIX e alle specifiche UNIX singole, è compatibile nel comportamento con Unix come sistema operativo che esisteva un tempo nella storia. Si noti che ciò non menziona la presenza di tracce del codice sorgente Unix originale, né menziona in alcun modo il kernel (questo diventerà importante in seguito).

Per quanto riguarda AT&T e System V Unix sviluppati da Ritchie e Thompson, oggi possiamo dire che ha smesso di esistere. Sulla base delle fonti precedenti, sembra che UNIX al giorno d'oggi non sia quel sistema operativo specifico, ma piuttosto uno standard derivato dalla migliore generalizzazione possibile per il comportamento dei sistemi operativi nella famiglia Unix .


 Dove si trova macOS X nel mondo * nix?

In una definizione molto specifica, macOS versione 10.13 High Sierra su hardware basato su Intel è conforme allo standard UNIX 03 e per citare il certificato pdf , "Apple Inc. ha stipulato un accordo di licenza di marchio con X / Open Company Limited." Nota a margine: esito a chiedermi cosa significherebbe trattare macOS 10.13 su hardware non Intel, ma considerando che l'hardware è menzionato per altri sistemi operativi, l'hardware è significativo. Esempio: "Hewlett Packard Enterprise: HP-UX 11i V3 versione B.11.31 o successiva su server HP 9000 con architettura di precisione" (dalla pagina del registro ).

Torniamo alla sezione precedente della mia risposta. Poiché questa particolare versione del sistema operativo è conforme all'interoperabilità e agli standard di compatibilità, significa che il sistema operativo è il più vicino possibile nel comportamento e nell'implementazione del sistema a Unix originale come un sistema operativo. Per lo meno, sarà vicino nel comportamento e nell'ambiente. Più si avvicina al livello di sistema e al livello del kernel, più l'area sarà specifica e più ombreggiata, ma almeno la meccanica e il comportamento fondamentali presenti in Unix dovrebbero essere presenti in un sistema operativo che mira a essere compatibile. macOS X dovrebbe essere molto vicino a questo obiettivo.


Che cos'è una distribuzione?

Per citare Wikipedia :

Una distribuzione Linux (spesso abbreviata come distro) è un sistema operativo costituito da una raccolta di software, che si basa sul kernel Linux e, spesso, un sistema di gestione dei pacchetti.

Ricordiamo per un secondo che Linux come nel kernel Linux dovrebbe essere un software distribuibile , con modifiche, o almeno in conformità con GPL v2 . Se consideriamo un gestore di pacchetti e un kernel, Ubuntu e Red Hat sono distribuzioni sensate. macOS X ha un kernel diverso da quello originale AT&T Unix - quindi chiamare macOS X una distribuzione Unix non ha senso. Le persone suggeriscono che il kernel macOS X sia basato su FreeBSD, ma per citare Wiki di FreeBSD :

Il kernel XNU usato su OS X include alcuni sottosistemi di (versioni precedenti di) FreeBSD, ma è principalmente un'implementazione indipendente

Alcune persone chiamano erroneamente il kernel Darwin di OS X. Per citare la Guida alla programmazione del kernel di Apple :

Il kernel, insieme ad altre parti fondamentali di OS X, sono collettivamente definiti Darwin. Darwin è un sistema operativo completo basato su molte delle stesse tecnologie alla base di OS X.

E per citare la stessa pagina:

La tecnologia Darwin si basa sulle tecnologie BSD, Mach 3.0 e Apple.

Sulla base di tutto ciò che possiamo dire con sicurezza, OS X non è una distribuzione , nel senso della distribuzione Linux. Allo stesso modo, altri sistemi operativi citati sono conformi a POSIX e sono sistemi Unix certificati, ma differiscono ancora per i kernel e le variazioni nelle chiamate di sistema sottostanti (motivo per cui esistono libri sulla programmazione del sistema Solaris ed è un argomento degno a sé stante). Pertanto, non sono distribuzioni nel senso in cui lo sono le distribuzioni Linux: un nucleo comune con variazioni sulle utility. Nel caso di Linux, vedi libri sulla programmazione del sistema Linux o sulla programmazione del kernel Linux, non sulla programmazione del sistema specifica per la distribuzione, perché non c'è nulla di specifico per il sistema in una particolare distribuzione.

La conferma di ciò che vediamo qui può essere trovata nella documentazione ufficiale. Ad esempio, l'articolo su developerWorks di IBM che affrontava la differenza tra i tipi di sistema operativo UNIX e gli stati di distribuzione di Linux (enfasi aggiunta):

La maggior parte delle varianti UNIX moderne conosciute oggi sono versioni con licenza di una delle edizioni UNIX originali . Sun's Solaris, Hewlett-Packard HP-UX e IBM AIX® sono tutti elementi di UNIX che hanno i loro elementi e fondamenti unici .

In altre parole, si basano sulla stessa base, ma non condividono esattamente la stessa nel senso che le distribuzioni Linux condividono il kernel.

considerazioni

Si noti che la distribuzione delle parole sembra essere utilizzata principalmente quando si fa riferimento a sistemi operativi che hanno il kernel Linux al centro. Prendiamo ad esempio il tipo di sistema operativo BSD: c'è GhostBSD , che si basa sul kernel e usa alcune delle utility di FreeBSD , ma non l'ho mai visto come una distribuzione BSD; ogni sistema operativo BSD menziona solo ciò su cui si basa e di solito un sistema operativo viene menzionato come sistema operativo a sé stante. Certo, BSD sta per Berkeley Software Distribution, ma ... questo è tutto.

Per citare questa risposta sul nostro sito in risposta alla domanda se versioni diverse di BSD usano gli stessi kernel:

No, anche se ci sono somiglianze dovute alle forcelle storiche. Ogni progetto si è evoluto separatamente.

Sono Non distribuzioni nel senso di distribuzioni Linux. Considera l'avviso sul copyright di questo documento :

Parti di questo prodotto possono essere derivate dai sistemi BSD UNIX® e Berkeley 4.3

Appunti

In conclusione:

  • macOS X può essere indicato come sistema operativo simile a Unix, sistema simile a Unix, implementazione Unix, sistema operativo POSIX conforme quando si desidera metterlo in relazione con AT&T Unix originale;
  • "Versione Unix" non sarebbe il termine appropriato perché macOS X è molto diverso dall'AT&T Unix originale, e come accennato prima non c'è più Unix nel senso del software, e ora è più uno standard del settore;
  • Probabilmente la parola "distribuzione" si adatta solo al mondo Linux.
  • Il vero problema è che tu (il lettore) e io abbiamo troppo tempo per discutere dell'argomento di cui dovrebbero discutere gli avvocati. Forse dovremmo essere come i Torvald di Linux e usare la terminologia e i sistemi operativi che ci permettono solo di andare avanti con la vita e fare le cose di cui onestamente ci preoccupiamo e di cui dovremmo preoccuparci.

15
Potresti voler controllare ciò che BSD rappresenta effettivamente prima di affermare che la parola "distribuzione" non viene utilizzata lì ;-).
Stephen Kitt,

2
Ci scusiamo per le modifiche multiple, la mancanza di "a" se "the" mi ha reso un po 'difficile seguire l'intero testo. POSIX è più recente dei vecchi Unices e non sono del tutto sicuro se la risposta li mescoli entrambi; Penso anche che tu stia facendo un disservizio che caratterizza il mondo BSD, che è molto più vicino a Unix che a Linux. Anche la certificazione in sé non significa molto di più che qualcuno abbia avuto il tempo e i soldi per passare attraverso il processo di certificazione, e questo deve essere fatto in ogni versione. IMO, rielaborando il testo un po 'di più, questo ha il potenziale per essere un'ottima risposta.
Rui F Ribeiro,

1
@Matthew Tuttavia non garantirò la qualità della terra dell'utente BSD di OS / X / Mac OS. Spesso le utility sono versioni molto vecchie rispetto a quelle di FreeBSD, e persino un'implementazione IPv6 corretta e recente ha impiegato molto tempo a emergere solo in versioni molto recenti.
Rui F Ribeiro,

3
Il sito Web standard Unix utilizza "implementazioni UNIX" per fare riferimento ai sistemi operativi Unix. Quindi questa è la parola che stavo cercando: implementazione.
Seninha,

3
@Sergiy Kolodyazhnyy. Conformità POSIX non significa che una versione di un sistema operativo sia as close to original Unix as possibleCi sono molti sistemi operativi non Unix che sono conformi a POSIX.
fpmurphy

4

D: macOS è una distribuzione Unix? In caso contrario, come si può fare correttamente riferimento alla costituzione di macOS nella famiglia del sistema operativo Unix (ovvero, è una variante Unix, una versione Unix, un sapore Unix, ecc.)? Inoltre, questa domanda si applica a Solaris, HP-UX e altri Unix (sono tutte distribuzioni Unix?).

Fonte immagine: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

MacOS X

Fonte: https://en.m.wikipedia.org/wiki/XNU

" XNU è il kernel del sistema operativo sviluppato da Apple Inc. dal dicembre 1996 per l'uso nel sistema operativo macOS e rilasciato come software gratuito e open source come parte del sistema operativo Darwin . Viene anche utilizzato come kernel per iOS , sistemi operativi tvOS e watchOS. XNU è un'abbreviazione di X non è U nix.


Fonte: https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHFEIFI

" Costruire il tuo primo kernel

Prima di poter compilare un kernel, è necessario innanzitutto ottenere il codice sorgente. Il codice sorgente per il kernel OS X è reperibile nel progetto Darwin xnu su http://www.opensource.apple.com . Per scoprire la tua versione attuale del kernel, usa il comando uname -a. In caso di problemi, cercare informazioni negli archivi delle mailing list di darwin-kernel e darwin-development. Se ciò non aiuta, chiedi assistenza in entrambi gli elenchi. Gli archivi dell'elenco e le informazioni sull'abbonamento sono disponibili all'indirizzo http://www.lists.apple.com ".


Fonte: https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html

Cocoa - Una piattaforma di sviluppo avanzata orientata agli oggetti per OS X. Cocoa è un insieme di framework con interfacce di programmazione sia in Java che in Objective-C. Si basa sull'integrazione di OPENSTEP, tecnologie Apple e Java.

Darwin - Un altro nome per il nucleo del sistema operativo OS X. Il kernel Darwin è equivalente alla OS X kernel più i BSD librerie e comandi essenziali per l' BSD ambiente a linea di comando. Darwin è la tecnologia open source.

Xcode - Ambiente di sviluppo grafico integrato di Apple. È disponibile gratuitamente con il pacchetto Strumenti per sviluppatori OS X.

XNU - Il kernel di OS X. L'acronimo sta per X is Not Unix. XNU combina le funzionalità di Mach e BSD con il kit I / O, il modello di driver per OS X.


  • Architettura

Fonte: https://en.wikipedia.org/wiki/MacOS#Architecture

"Al centro di macOS c'è un sistema operativo compatibile POSIX basato sul kernel XNU , con funzionalità Unix standard disponibili dall'interfaccia della riga di comando. Apple ha rilasciato questa famiglia di software come sistema operativo gratuito e open source chiamato Darwin . Darwin , Apple ha stratificato diversi componenti, tra cui l'interfaccia Aqua e il Finder, per completare il sistema operativo basato su GUI che è macOS. ".


Q: Distribuzione o rilascio ? - Fonte: https://en.wikipedia.org/wiki/MacOS#Updating_methods

Fonte: https://en.wikipedia.org/wiki/MacOS_High_Sierra

"macOS High Sierra (versione 10.13) è la quattordicesima versione principale di macOS, il sistema operativo desktop di Apple Inc. per computer Macintosh. Il successore di macOS Sierra, è stato annunciato al WWDC 2017 il 5 giugno 2017.". "Tipo di kernel: ibrido (XNU)".


D: Inoltre, questa domanda si applica a Solaris, HP-UX e altri Unix (sono tutte distribuzioni Unix?).


3
Consiglierei di provare a incollare le citazioni multiple con parole tue.
Rui F Ribeiro,

Come menzionato @RuiFRibeiro, è necessario aggiungere alcune spiegazioni; ciò che non ha detto, tuttavia, è che non è chiaro dove ti trovi con tutte queste diverse citazioni.
Paradox,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.