Applicazione a 32 bit
# Applicazione a 32 bit

Un'applicazione a 32 bit è un software che viene eseguito in uno spazio di indirizzi flat a 32 bit (un modello di memoria flat). Il termine "applicazione a 32 bit" deriva dal fatto che DOS e Windows furono originariamente scritti per i microprocessori Intel 8088 e Intel 80286. Essi sono dei microprocessori a 16 bit con uno spazio di indirizzi segmentato. I programmi con più di 64 kilobyte di codice e/o dati perciò doveva passare piuttosto frequentemente da un segmento all'altro. Poiché questa operazione richiede abbastanza tempo in confronto ad altre operazioni di macchina, le prestazioni dell'applicazione potrebbero essere penalizzate. Inoltre, è più coinvolta la programmazione con segmenti della programmazione in uno spazio di indirizzi flat, dando luogo ad alcune complicazioni in linguaggi di programmazione, come i "modelli di memoria" nel C e nel C++.

Il passaggio dal software a 16 bit al software a 32 bit sui sistemi PC IBM compatibili divenne possibile con l'introduzione del microprocessore i386. Questo microprocessore e i suoi successori supportano uno spazio di indirizzi segmentato con segmenti a 16 e a 32 bit (più precisamente: segmenti con un offset di indirizzi a 16 o a 32 bit). Se l'indirizzo base di tutti i segmenti a 32 bit è impostato su 0, e i registri di segmento non sono utilizzati esplicitamente, la segmentazione può essere dimenticata e il processore sembra avere un semplice e lineare spazio di indirizzi a 32 bit. Per ragioni di compatibilità, tuttavia, la maggior parte del software è tutt'al più scritto in modelli a 16 bit.

I sistemi operativi come Windows e OS/2 forniscono la possibilità di eseguire programmi (segmentati) a 16 bit e anche programmi a 32 bit. La prima delle due possibilità esiste per retrocompatibilità, e la seconda è di solito destinata ad essere utilizzata per lo sviluppo di nuovo software.

