Single UNIX Specification

Da Wikipedia, l'enciclopedia libera.

Single UNIX Specification (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 sorgente]

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 Unix wars, 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, rilasciata il 30 gennaio 2002.[1]

Specifiche[modifica | modifica sorgente]

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 sorgente]

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 sorgente]

AIX[modifica | modifica sorgente]

IBM AIX 5L V5.2 con alcuni aggiornamenti, ed AIX 5L V5.3, sono UNIX 03 compliant. AIX 5L V5.2 è UNIX 98 compliant.

HP/UX[modifica | modifica sorgente]

HP-UX 11i V3 Release B.11.31 è UNIX 03 compliant. Le release ad essa precedenti erano UNIX 95 compliant.

Mac OS X[modifica | modifica sorgente]

Mac OS X v10.5 "Leopard", rilasciato il 26 ottobre 2007, è un sistema Open Brand UNIX 03 registered product se eseguito su processori Intel[2][3]

SCO[modifica | modifica sorgente]

UnixWare 7.1.3 è UNIX 95 compliant. SCO OpenServer 5 è UNIX 93 compliant.

Solaris[modifica | modifica sorgente]

Solaris 10 è UNIX 03 compliant su i sistemi x86 and SPARC a 32-bit e 64-bit. Solaris 8 e 9 sono UNIX 98 compliant sulle medesime piattaforme, eccezion fatta per i sistemi x86 a 64-bit.

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.[4]

Tru64 UNIX[modifica | modifica sorgente]

Tru64 UNIX V5.1A (e versioni successive) sono UNIX 98 compliant.

z/OS[modifica | modifica sorgente]

Le versioni di IBM z/OS precedenti alla 1.9 sono UNIX 95 compliant.

IBM ha annunciato che z/OS 1.9, rilasciato 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).[5]

Altri sistemi che seguono la specifica[modifica | modifica sorgente]

Altri sistemi operativi registrati come UNIX 95 o UNIX 93 compliant:

Sistemi Unix-like non registrati[modifica | modifica sorgente]

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.[6]

BSD[modifica | modifica sorgente]

FreeBSD ha un "Progetto di adeguamento agli standard C99 e POSIX"[7] 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[8].

Nessun altro sistema BSD liberamente disponibile ha la certificazione SUS.

Linux[modifica | modifica sorgente]

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.[9]

Bibliografia[modifica | modifica sorgente]

Voci correlate[modifica | modifica sorgente]

Note[modifica | modifica sorgente]

  1. ^ (EN) The Open Group annuncia il completamento della revisione congiunta alle specifiche POSIX e Single UNIX
  2. ^ Mac OS X Leopard - Technology - UNIX in Leopard Technology Overview, Apple Inc.. URL consultato l'11 giugno 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.».
  3. ^ The Open Group, Certificazione per Mac OS X 10.5 Leopard su computer Macintosh con processore Intel. URL consultato il 12 giugno 2007.
  4. ^ (EN) http://www.ocf.berkeley.edu/solaris/versions/solaris/2.5.1.html
  5. ^ Anteprima: Soluzioni avanzate di IBM z/OS V1.9 per le vostre necessità d'impresa (PDF), IBM, 6 febbraio 2007, pp. 4, 15. URL consultato l'11 giugno 2007.
  6. ^ The Open Brand Fee Schedule, The Open Group. URL consultato l'11 maggio 2007. Lista dei prezzi da pagare per ottenere l'autorizzazione all'utilizzo del marchio UNIX
  7. ^ FreeBSD C99 and POSIX Conformance Project
  8. ^ (EN) http://developer.apple.com/documentation/Darwin/Reference/Manpages/man5/compat.5.html
  9. ^ (EN) http://www.linuxfoundation.org/lsb-cert/productdir.php

Collegamenti esterni[modifica | modifica sorgente]