Il parallelo e' quello con il modello della ISO detto di Interconnettivita' dei Sistemi Aperti (OSI) e ne e' in effetti la controparte: se una rete deve essere aperta, anche i sistemi operativi che ne sono alla base devono affrontare queste problematiche.
Anche per un sistema operativo sono identificabili almeno tre strati di software sovrapposto:
Come gia' visto nel caso delle reti, definire un Sistema Aperto significa definire le interfacce tra strati software componenti. In particolare e' importante l'interfaccia tra applicativi e kernel. Definire il comportamento di una interfaccia significa definirne i Service Access Points (SAP), o modalita' di come il software a livello superiore possa contattare quello a livello inferiore per porre delle richieste e come possa ottenere dei responsi.
Bisogna porre particolare attenzione a non discendere subito in dettagli ma mantenere le definizioni formali di Sistemi Aperti indipendenti dall'implementazione architettonica propria di uno di essi. L'implementazione di riferimento del discorso formale di Sistema Aperto e' sempre stata quella di UNIX.
L'interfaccia tra gli applicativi e il kernel e' definita in UNIX dalle chiamate di sistema (system calls). Queste sono funzioni scritte in Linguaggio C e supportate dalla libreria principale.
Ogni funzione ha un prototipo, cioe' la specifica di:
L'implementazione del codice di supporto alla funzione naturalmente appartiene al livello del kernel e quindi e' invisibile dal lato applicativo.
Si definisce quindi Sistema Aperto un kernel che offre un numero finito, costante e ben documentato di funzioni. In generale le funzioni non devono essere necessariamente in Linguaggio C ma in qualsiasi linguaggio di terza generazione.
Un Sistema Aperto possiede delle Interfacce di Programmazione ben definite - Application Programming Interfaces (API).
Questo spesso non e' sufficiente a garantire l'interoperabilita tra applicativi software e diversi sistemi operativi.
Un Sistema Aperto Standard e' un sistema aperto il cui insieme di API coincide con uno standard de jure riconosciuto a livello internazionale. Il minimo comun denominatore come standard internazionale e' il sistema POSIX.