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

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

Descrizione modifica

Specifiche modifica

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

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

AIX modifica

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

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

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

UnixWare 7.1.3 è UNIX 95 compliant.[3] SCO OpenServer 5 è UNIX 93 compliant.[senza fonte]

Solaris modifica

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

Tru64 UNIX V5.1A (e versioni successive) sono UNIX 98 compliant.[senza fonte]

z/OS modifica

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

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

Sistemi Unix-like non registrati modifica

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

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

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

  1. ^ (EN) The Open Group annuncia il completamento della revisione congiunta alle specifiche POSIX e Single UNIX Archiviato il 29 ottobre 2013 in Internet Archive.
  2. ^ a b c d (EN) UNIX 03 Product Standard, su Open Brand.
  3. ^ a b (EN) UNIX 95 Product Standard, su Open Brand.
  4. ^ (EN) Mac OS X Leopard receives UNIX 03 certification, su Ars Technica, 1º agosto 2007.
  5. ^ 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.»
  6. ^ (EN) Copia archiviata, su ocf.berkeley.edu. URL consultato il 6 ottobre 2005 (archiviato dall'url originale il 12 settembre 2005).
  7. ^ 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.
  8. ^ 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
  9. ^ FreeBSD C99 and POSIX Conformance Project Archiviato il 23 dicembre 2013 in Internet Archive.
  10. ^ (EN) https://developer.apple.com/documentation/Darwin/Reference/Manpages/man5/compat.5.html
  11. ^ (EN) https://www.linuxfoundation.org/lsb-cert/productdir.php

Bibliografia modifica

Voci correlate modifica

Collegamenti esterni modifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica