4. Sistemi operativi

La nuova moda nei sistemi operativi per smart card è il JavaCard Operating System. Il JavaCard OS è stato sviluppato da Sun Microsystem e quindi promosso al JavaCard Forum. Il JavaCard OS è popolare poiché rendere indipendenti i programmatori rispetto all'architettura e applicazioni pensate per il JavaCard OS possono essere utilizzate da qualsiasi produttore di smart card che supportino JavaCard OS.

La maggior parte delle smart card usano oggi i loro specifici OS per le sottostanti comunicazioni e funzioni. Per poter dare un reale supporto alle applicazioni i sistemi operativi per smart card vanno ben oltre le semplici funzioni indicate dagli standard ISO7816. Conseguenza di ciò è che il porting delle applicazioni sviluppate per un produttore verso un altro produttore di smart card diventa un lavoro particolarmente complesso. Un altro vantaggio del JavaCard OS è che permette il concetto del caricamento posticipato delle applicazioni. Ciò permette di aggiornare le applicazioni delle smart card dopo la consegna della scheda all'utente finale. L'importanza sta nel fatto che l'utilizzo di una smart card è legato all'esecuzione di un'applicazione specifica, necessità che però successivamente può cambiare e rendere necessaria l'esecuzione di un maggior numero di applicazioni.

Un altro sistema operativo per smart card è MULTOS (Multi-application Operating System). Come il nome stesso suggerisce, MULTOS può anch'egli supportare più applicazioni. MULTOS è tuttavia stato disegnato specificatamente per necessità d'elevata sicurezza ed in molte nazioni ha conseguito la certificazion "ITSec E6 High".

Anche Microsoft sta interessandosi alle smart card con Smart Card for Windows.

I citati sistemi operativi possono essere quindi considerati come API dal lato scheda per sviluppare cardlets o piccoli programmi in grado d'essere eseguiti sulla scheda. Esistono inoltre API dal lato lettore come OpenCard Framework e GlobalPlatform.