Differenza tra POSIX, specifica UNIX singola e specifiche base gruppo aperto?


Risposte:


9

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.


Ti sbagli, XSI è (se mai) reso obbligatorio nelle nuove versioni dello standard. Inoltre, secondo l'autore della suite di test di convalida POSIX, la conformità XSI è obbligatoria a meno che non si desideri convalidare solo una piattaforma UNIX incorporata.
schily,

1
@schily: citazione?
R ..

L' attuale documentazione per leunistd.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 "
R ..


25

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


POSIX.1-2008 non è la versione 4 ma piuttosto il NUMERO 7 dello standard.
schily

@schily Ho scelto male dove terminare la seconda citazione? Per me, sia la fonte che la citazione sembrano mettere chiaramente in relazione la "versione 4" con SUS, non con POSIX.
Daniel Beck,

Il termine "problema 7" si applica a Opengroup. Vedi: pubs.opengroup.org/onlinepubs/9699919799 Potrei essere stato confuso. Quindi credo che UNIX95 è SUSv1, UNIX98 è SUSv2, POSIX.1-2001 è SUSv3 e POSIX.1-2008 è SUSv4
Schily

@schily A destra, vedi la pagina di Wikipedia dove la fonte della citazione continua a menzionare il numero 7.
Daniel Beck,

11

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:

  • Definizioni di base, Numero 7
  • Interfacce di sistema e intestazioni, Numero 7
  • Comandi e utilità, numero 7

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?


1
È anche ISO / IEC 9945-2009
fpmurphy

Ah, sì, che bello avere così tanti standard. Faccio ancora fatica a capire le differenze tra ISO / IEC 10646 e Unicode che, pur rappresentando set di caratteri identici mantenuti strettamente sincronizzati tra loro, sono ancora due standard separati e diversi. Non sono sicuro del motivo per cui non possono semplicemente andare d'accordo e dichiararli completamente sinonimi.
penguin359,

1
Nel caso specifico di POSIX vs SUS, la ragione ha a che fare con la licenza e il marchio. POSIX è generico, può essere implementato su qualsiasi sistema operativo. SUS è lo standard per definire UNIX. Anche se sono identici, POSIX è necessario per qualsiasi cosa * nix. O * nix compatibile. SUS deve essere realizzato anche per tentare di essere chiamato UNIX. Se SUS non esistesse, almeno il marchio UNIX potrebbe essere indebolito. Non sto giustificando alcuna azione aziendale, sto solo speculando sulla loro posizione.
JM Becker,

La versione IEEE dello standard oggi è identica al 100% alla versione SUS ad eccezione delle prime pagine e il fatto che la versione IEEE di solito appaia ca. 6 mesi dopo.
schily,
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.