Indice
Single UNIX Specification
Single UNIX Specification (in acronimo SUS) è una definizione collettiva di una serie di standard che i sistemi operativi per computer devono rispettare per potersi fregiare del nome "Unix". La SUS viene sviluppata e mantenuta da Austin Group, ed è basata su specifiche precedenti dell'IEEE e di The Open Group.
Storia
[modifica | modifica wikitesto]La SUS è il prodotto scaturito da un progetto nato nella prima metà degli anni ottanta per uniformare l'interfaccia del sistema operativo dal punto di vista dei software progettati per essere eseguiti sulle diverse varianti del sistema operativo Unix. La necessità di una standardizzazione si fece sentire poiché le aziende che avevano acquistato dei computer volevano essere in grado di sviluppare programmi che potevano essere utilizzati su sistemi di produttori diversi senza che fosse necessario reimplementarli da zero. Unix fu scelto come base di un'interfaccia di sistema standard poiché non era legato a nessun produttore in particolare. Questi standard divennero nel 1988 IEEE 1003 (registrato anche come ISO/IEC 9945), o POSIX, che significa proprio Interfaccia di Sistema Operativo Portabile per uniX.
Nei primi anni novanta, diverse grandi aziende, che formarono l'alleanza COSE all'inizio delle guerre Unix, crearono la Common API Specification, o Spec 1170. Questa specifica divenne sempre più popolare perché era disponibile gratuitamente, mentre l'IEEE chiedeva il pagamento di una somma di denaro consistente prima di fornire l'accesso alle specifiche POSIX.
A partire dal 1998, un gruppo di lavoro congiunto noto come Austin Group ha iniziato a sviluppare lo standard combinato che sarebbe divenuta la Single UNIX Specification Version 3, pubblicata il 30 gennaio 2002.[1]
Descrizione
[modifica | modifica wikitesto]Specifiche
[modifica | modifica wikitesto]L'interfaccia utente e il software del sistema operativo vengono descritti in quattro sezioni principali:
- Definizioni basilari - lista di definizioni e convenzioni utilizzate nelle specifiche e una lista di file d'intestazione C che devono essere forniti dai sistemi.
- Shell ed utility - lista di utility e descrizione della shell, sh.
- Interfacce di sistema - lista di chiamate di sistema C che devono essere fornite.
- Rationale - la motivazione che sta dietro allo standard
L'interfaccia di riga di comando e di scripting standard è la shell POSIX, un'estensione della Bourne shell basata su una delle prime versioni della Korn shell. Altri programmi a livello utente sono awk, echo, ed, vi, e centinaia di altri. È richiesta la presenza di servizi quali quelli di I/O (per i file, i terminali e le reti).
Una suite di test viene fornita insieme allo standard, chiamata PCTS (Posix Certification Test Suite).
Si noti che un sistema non deve includere necessariamente del codice sorgente derivato da AT&T Unix per poter rispettare la specifica: ad esempio, IBM OS/390, ora z/OS, è uno Unix secondo la specifica, sebbene non abbia alcun legame a livello di codice.
Marchi per i sistemi
[modifica | modifica wikitesto]I marchi ufficiali di cui i sistemi operativi che rispettavano la specifica possono fregiarsi:
- UNIX 98 - per i sistemi conformi alla versione 2 della SUS (aderenza parziale)
- UNIX 03 - per i sistemi conformi alla versione 3 della SUS (aderenza totale)
In precedenza ne sono stati disponibili degli altri, adesso obsoleti:
- UNIX93 (del tutto obsoleto)
- UNIX95 (aderenza tuttora accettabile per alcuni sottosistemi software semplici)
Sistemi aderenti alla specifica
[modifica | modifica wikitesto]AIX
[modifica | modifica wikitesto]IBM AIX 7.1 TL5 ed AIX 7.2 TL2 sono UNIX 03 compliant.[2] AIX 5L V5.2 è UNIX 98 compliant.[senza fonte]
HP/UX
[modifica | modifica wikitesto]HP-UX 11i V3 Release B.11.31 è UNIX 03 compliant.[2] Le release ad essa precedenti erano UNIX 95 compliant.[3]
Mac OS X
[modifica | modifica wikitesto]La prima versione di OS X ad essere certificata UNIX 03 è Mac OS X Leopard.[4][5] La versione più recente a ricevere la certificazione è macOS Big Sur.[2]
SCO
[modifica | modifica wikitesto]UnixWare 7.1.3 è UNIX 95 compliant.[3] SCO OpenServer 5 è UNIX 93 compliant.[senza fonte]
Solaris
[modifica | modifica wikitesto]Oracle Solaris 10 è UNIX 03 compliant sui sistemi x86 e SPARC a 32-bit e 64-bit.[2] Solaris 8 e 9 sono UNIX 98 compliant sulle medesime piattaforme, eccezion fatta per i sistemi x86 a 64-bit.[senza fonte]
Solaris 2.5.1 era stato certificato come UNIX 95 compliant sulla piattaforma PReP PowerPC nel 1996, ma il prodotto è stato ritirato prima che ne venisse venduta poco meno di una dozzina di copie.[6]
Tru64 UNIX
[modifica | modifica wikitesto]Tru64 UNIX V5.1A (e versioni successive) sono UNIX 98 compliant.[senza fonte]
z/OS
[modifica | modifica wikitesto]Le versioni di IBM z/OS precedenti alla 1.9 sono UNIX 95 compliant.[senza fonte]
IBM ha annunciato che z/OS 1.9, pubblicato il 28 settembre 2007 si "allineerà meglio" ad UNIX 03 (non è chiaro, in questo momento, se rispetterà del tutto la specifica, o soltanto in maniera parziale).[7]
Altri sistemi che seguono la specifica
[modifica | modifica wikitesto]Altri sistemi operativi registrati come UNIX 95 o UNIX 93 compliant:
Sistemi Unix-like non registrati
[modifica | modifica wikitesto]I distributori di sistemi Unix-like quali GNU/Linux e BSD non certificano, in genere, i loro prodotti, dal momento che il costo della certificazione e la loro natura estremamente mutevole rendono la procedura troppo costosa da affrontare.[8]
BSD
[modifica | modifica wikitesto]FreeBSD ha un "Progetto di adeguamento agli standard C99 e POSIX"[9] che ha lo scopo di raggiungere l'aderenza ad un vasto subset della specifica.
Darwin è un sistema operativo open source basato su BSD: a conti fatti è un subset open source di Mac OS X. Darwin rispetta la SUS 03[10].
Nessun altro sistema BSD liberamente disponibile ha la certificazione SUS.
Linux
[modifica | modifica wikitesto]Linus Torvalds nel libro "Rivoluzionario per caso - Come ho creato Linux solo per divertirmi" (di Linus Torvalds e David Diamond) ha affermato che il kernel Linux è progettato per rispettare quanto più possibile la specifica POSIX, sebbene abbia cominciato a scriverne il codice prima di aver ottenuto una copia della stessa (al tempo molto costosa, e non accessibile a tutti), basando il comportamento delle chiamate di sistema sulle pagine di manuale di sistemi Unix preesistenti.
La Linux Standard Base è stata costituita nel 2001 come tentativo di standardizzare le strutture interne dei sistemi basati su Linux per migliorarne la compatibilità. Si basa, ed estende, le specifiche POSIX, la Single UNIX Specification ed altri standard aperti. È accettata de facto e seguita da molte distribuzioni Linux.[11]
Note
[modifica | modifica wikitesto]- ^ (EN) The Open Group annuncia il completamento della revisione congiunta alle specifiche POSIX e Single UNIX Archiviato il 29 ottobre 2013 in Internet Archive.
- ^ a b c d (EN) UNIX 03 Product Standard, su Open Brand.
- ^ a b (EN) UNIX 95 Product Standard, su Open Brand.
- ^ (EN) Mac OS X Leopard receives UNIX 03 certification, su Ars Technica, 1º agosto 2007.
- ^ Mac OS X Leopard - Technology - UNIX, su Leopard Technology Overview, Apple Inc.. URL consultato l'11 giugno 2007 (archiviato dall'url originale il 28 agosto 2007).«Leopard è un Open Brand UNIX 03 Registered Product che rispetta le specifiche SUSv3 e POSIX 1003.1 per l'API C API, le utility della shell, e i thread.»
- ^ (EN) Copia archiviata, su ocf.berkeley.edu. URL consultato il 6 ottobre 2005 (archiviato dall'url originale il 12 settembre 2005).
- ^ Anteprima: Soluzioni avanzate di IBM z/OS V1.9 per le vostre necessità d'impresa (PDF), su www-306.ibm.com, IBM, 6 febbraio 2007, pp. 4, 15. URL consultato l'11 giugno 2007 (archiviato dall'url originale il 15 giugno 2007).
- ^ The Open Brand Fee Schedule, su opengroup.org, The Open Group. URL consultato l'11 maggio 2007. Lista dei prezzi da pagare per ottenere l'autorizzazione all'utilizzo del marchio UNIX
- ^ FreeBSD C99 and POSIX Conformance Project Archiviato il 23 dicembre 2013 in Internet Archive.
- ^ (EN) https://developer.apple.com/documentation/Darwin/Reference/Manpages/man5/compat.5.html
- ^ (EN) https://www.linuxfoundation.org/lsb-cert/productdir.php
Bibliografia
[modifica | modifica wikitesto]- Andrew Josey, Single UNIX Specification Frequently Asked Questions, 1.9ª ed., 28 ottobre 2004.
Voci correlate
[modifica | modifica wikitesto]- POSIX
- Unix wars
- Linux Standard Base
- Native POSIX Thread Library
- Man (Unix)
- Sistema aperto
- Standard aperto
- The Open Group
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) The Single UNIX Specification, su unix.org. URL consultato il 25 febbraio 2008 (archiviato dall'url originale il 22 agosto 2011).
- (EN) Text of the Single UNIX Specification, Version 3, su opengroup.org.
- (EN) The Portable Application Standards Committee, su pasc.org. URL consultato il 25 febbraio 2008 (archiviato dall'url originale il 10 febbraio 2021).
- (EN) Registro dei prodotti certificati per UNIX ed altri marchi Open Group, su opengroup.org.
- (EN) Unix-Wars (Living Internet)
- (EN) Unix Standards (Eric S. Raymond, The Art of Unix Programming)