Quali sono le differenze tra POSIX, le specifiche UNIX singole e le specifiche di base del gruppo aperto ? Penso che il loro scopo sia determinare se un sistema operativo è Unix?
Quali sono le differenze tra POSIX, le specifiche UNIX singole e le specifiche di base del gruppo aperto ? Penso che il loro scopo sia determinare se un sistema operativo è Unix?
Risposte:
Un'importante "differenza" è il gruppo di opzioni XSI (XOPEN), che specifica un numero di interfacce Unix tradizionali che è improbabile che siano applicabili a un nuovo sistema operativo che non sia "un Unix". Spesso le persone useranno "SUS" per fare riferimento allo standard completo inclusa l'opzione XSI e "POSIX" per fare riferimento allo standard di base e possibilmente ai gruppi di opzioni non incentrati su Unix.
Le versioni successive di SUS sembrano deprecare gradualmente parti dell'opzione XSI che non erano davvero utili per scrivere applicazioni portatili e che riflettevano invece solo implementazioni legacy e spostando alcune delle parti più utili allo standard di base.
unistd.h
letture: "L'intestazione <unistd.h> definisce la seguente costante simbolica solo se l'implementazione supporta l'opzione XSI; vedere Conformità XSI. Se definito, il suo valore deve essere adatto per l'uso in direttive di preelaborazione #if. _XOPEN_VERSION "
Oggi POSIX e SUS sono sostanzialmente la stessa cosa; SUS comprende un po 'di più .
Citando qui :
A partire dal 1998, un gruppo di lavoro congiunto noto come Austin Group ha iniziato a sviluppare lo standard combinato che sarebbe noto come Single UNIX Specification Version 3 e come POSIX: 2001 (formalmente: IEEE Std 1003.1-2001). È stato rilasciato il 30 gennaio 2002
e
Nel dicembre 2008, il Gruppo Austin ha pubblicato una nuova revisione importante, nota come POSIX: 2008 (formalmente: IEEE Std 1003.1-2008). Questo è il nucleo della specifica UNIX singola, versione 4
Osservando le specifiche di base del gruppo aperto , vedrai l'identificatore standard IEEE Std 1003.1-2008. IEEE Std 1003.1 è ciò che è noto come POSIX.1 con il 2008 solo l'ultima incarnazione. Guardando POSIX su Wikipedia, vedrai che lo standard contiene tre parti tra cui:
Fondamentalmente, POSIX è solo il nome dello standard sviluppato dall'IEEE con la versione iniziale fatta nel 1988. POSIX non è UNIX ™ ufficialmente semplicemente perché IEEE non possiede il marchio, ma è l'ambiente del sistema operativo e l'interfaccia trovati su UNIX ™ sistemi. Successivamente, The Open Group, che controlla il marchio UNIX ™, è stato coinvolto nella creazione di uno standard basato su POSIX chiamato Single UNIX Specification versione 2 o SUSv2. Ora queste due specifiche sono sviluppate congiuntamente come The Austin Group. L'ultima versione è SUSv4. Quindi, per riassumere:
POSIX: 2008 = IEEE Std. 1003.1-2008 = SUSv4 = The Open Group Specification Issue 7.
Inoltre, leggi la mia risposta a Che cos'è esattamente POSIX?