7 Dicembre 2022

Che cos’è lo standard POSIX ?

Lo standard POSIX sta per Portable Operating System Interface ed è molto utile per la portabilità

Cos’è POSIX (Portable Operating System Interface)?

POSIX (Portable Operating System Interface) è un insieme di interfacce standard del sistema operativo basate sul sistema operativo Unix . Le specifiche POSIX più recenti – IEEE Std 1003.1-2017 – definiscono un’interfaccia e un ambiente standard che possono essere utilizzati da un sistema operativo ( OS ) per fornire l’accesso alle applicazioni conformi a POSIX. Lo standard definisce anche un interprete di comandi ( shell ) e programmi di utilità comuni. POSIX supporta la portabilità delle applicazioni a livello di codice sorgente in modo che le applicazioni possano essere create per essere eseguite su qualsiasi sistema operativo conforme a POSIX.

Una breve storia dello standard POSIX

Le interfacce POSIX sono state originariamente sviluppate sotto gli auspici di IEEE . Tuttavia, lo standard POSIX è ora in fase di sviluppo e manutenzione da parte dell’Austin Common Standards Revision Group, comunemente indicato come Austin Group .

L’Austin Group è un gruppo di lavoro congiunto composto da membri dell’IEEE, dell’Open Group e del Joint Technical Committee 1 dell’International Organization for Standardization ( ISO ) e della International Electrotechnical Commission (IEC). IEEE possiede il marchio POSIX. L’Open Group, proprietario del marchio Unix, è un consorzio globale che sviluppa standard tecnologici.

POSIX è nato dall’esigenza di rendere le applicazioni più portabili su diversi sistemi. Agli albori dell’informatica, i programmatori dovevano riscrivere le proprie applicazioni per ogni modello di computer e sistema operativo. La situazione iniziò a cambiare quando IBM introdusse la sua linea di computer System/360, che potevano eseguire tutti lo stesso sistema operativo, OS/360. Con questi nuovi sistemi, le applicazioni potrebbero essere rese più portatili, risparmiando enormi quantità di tempo di sviluppo.

Quando UNIX è nato, più o meno nello stesso periodo, si è anche mostrato promettente in quanto poteva funzionare su macchine di diversi produttori. Tuttavia, quando UNIX ha iniziato a creare versioni diverse, il porting del codice attraverso queste varianti UNIX è diventato difficile. La promessa della portabilità UNIX stava perdendo terreno.

Per risolvere questo problema di portabilità, POSIX è stata costituita negli anni ’80. Lo standard è stato definito sulla base di System V UNIX e BSD UNIX di AT&T, le due maggiori varianti all’epoca. È importante notare che POSIX non è stato formato per controllare il modo in cui i sistemi operativi sono stati costruiti: qualsiasi azienda era libera di progettare la propria variante UNIX come preferiva. POSIX si occupava solo di come un’applicazione si interfaccia con il sistema operativo. Nel linguaggio dei programmatori, un’interfaccia è il metodo con cui il codice di un programma può comunicare con un altro programma. L’interfaccia si aspetta che il Programma A fornisca un tipo specifico di informazioni al Programma B. Allo stesso modo, il Programma A si aspetta che il Programma B risponda con un tipo specifico di dati.

 

AT&T UNIX

Cos’è lo standard POSIX?

In una parola: portabilità.

Oltre 60 anni fa, i programmatori dovevano riscrivere completamente il codice se volevano che il loro software funzionasse su più di un sistema. Ciò non accadeva molto spesso a causa delle spese necessarie, ma la portabilità divenne una caratteristica a metà degli anni ’60, non tramite POSIX, ma nell’arena dei mainframe.

Nel corso degli anni, le specifiche POSIX hanno continuato a essere riviste e riorganizzate. Un tempo, ogni standard era chiamato informalmente POSIX, seguito da un decimale e quindi dal numero dello standard. Ad esempio, POSIX.1 era lo standard per un’interfaccia di programmazione dell’applicazione nel linguaggio C e POSIX.2 era la shell standard e l’interfaccia di utilità per il sistema operativo. Questi standard sono stati ufficialmente denominati rispettivamente IEEE Std 1003.1 e IEEE Std 1003.2.

Ci sono stati anche emendamenti allo standard di base, come IEEE Std 1003.1b-1993, che si occupava di estensioni in tempo reale. Tuttavia, tutte le varie specifiche sono state riunite in un unico standard, IEEE Std 1003.1 , che è stato aggiornato l’ultima volta nel 2017 e pubblicato nel 2018. Ufficialmente, si chiama IEEE Std 1003.1-2017. Tuttavia, viene anche indicato come POSIX.1-2017 o, più informalmente, POSIX.1.

Lo standard POSIX ha anche altri nomi. The Open Group lo chiama The Open Group Base Specifications Issue 7, 2018 edition, e ISO/IEC lo chiama ISO/IEC 9945:2009. ISO/IEC ha adottato lo standard nel 2009 e ha aggiunto il Technical Corrigendum 1 alla fine del 2012 e il Technical Corrigendum 2 a marzo 2017, mettendolo alla pari con IEEE Std 1003.1-2017.

Le specifiche POSIX.1-2017 definiscono i servizi fondamentali necessari per creare applicazioni conformi a POSIX. Stabiliscono una semantica e una sintassi standard per aiutare gli sviluppatori a scrivere applicazioni portatili. POSIX.1 è composto dai seguenti quattro volumi:

  1. Definizioni di base. Fornisce definizioni comuni per le specifiche, incluse informazioni su termini, concetti, sintassi, funzioni di servizio e riga di comando
  2. Interfacce di sistema. Fornisce dettagli su termini e concetti relativi all’interfaccia e definisce le interfacce funzionali disponibili per le applicazioni che accedono a sistemi conformi a POSIX.
  3. Shell e utilità. Descrive i comandi e le utilità disponibili per le applicazioni che accedono a sistemi conformi a POSIX, incluso il linguaggio di comando utilizzato in tali sistemi.
  4. Fondamento logico. Include informazioni storiche sui contenuti dello standard e sul motivo per cui alcune funzionalità sono state aggiunte o rimosse.

POSIX.1 adotta un approccio “scrivi una volta, adotta ovunque” alle specifiche fornendo una serie di servizi fondamentali necessari per creare applicazioni in modo efficiente. Lo standard enfatizza le strutture e le caratteristiche che sono importanti per lo sviluppo delle applicazioni, piuttosto che concentrarsi sulle tecniche necessarie per raggiungere queste capacità. Lo standard POSIX è pensato per essere utilizzato sia dagli integratori di sistema, che dai sistemisti che dagli sviluppatori di applicazioni.

In conclusione

Lo standard POSIX consente agli sviluppatori di creare applicazioni, strumenti e piattaforme su molti sistemi operativi utilizzando gran parte dello stesso codice. Non è affatto un requisito scrivere codice secondo lo standard, ma aiuta, in grande stile, quando vuoi portare il tuo codice su altri sistemi.

Fondamentalmente, POSIX è orientato ai progettisti di sistemi operativi e agli sviluppatori di software, ma come utenti di un sistema, siamo influenzati da POSIX, che ce ne rendiamo conto o meno. È grazie allo standard che siamo in grado di lavorare su un sistema UNIX o Linux e portare quel lavoro su un altro sistema e lavorarci sopra senza intoppi. Come utenti, otteniamo numerosi vantaggi in termini di usabilità e riutilizzo dei dati tra i sistemi.

 

Hai dei dubbi? Non sai da dove partire? Contattaci


Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

ManagedServer.it è il principale provider italiano di soluzioni hosting ad alte performance. Il nostro modello di sottoscrizione ha costi contenuti e prevedibili, affinché i clienti possano accedere alle nostre affidabili tecnologie di hosting, server dedicati e cloud. ManagedServer.it offre, inoltre, eccellenti servizi di supporto e consulenza su Hosting dei principali CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Magento.

Torna in alto