La RAM (Random Access Memory) veniva utilizzata in modo molto diverso su computer e cloni PC IBM® in passato, quando dominava il DOS, un sistema operativo a riga di comando utilizzato prima di Windows®. I primi 0-640 Kilobyte (KB) di RAM sono stati designati come memoria convenzionale; l’area in cui DOS viene caricato convenzionalmente all’avvio. Il blocco da 640 KB – 1 Megabyte (MB) composto da 384 KB era l’Upper Memory Area (UMA); i primi 64 KB oltre il limite di 1 MB sono diventati l’area di memoria elevata (HMA o HIMEM) e tutto ciò che è stato designato come memoria estesa.
La memoria convenzionale è stata utilizzata come area di lettura/scrittura per il sistema operativo e per i programmi, per un adattamento ottimale. DOS ha anche caricato routine, driver di sistema e parametri di sistema in questo spazio. Per aiutare a liberare spazio, alcuni residenti della memoria convenzionale sono stati spostati nella scala della RAM all’UMA e all’HMA. Ciò è stato ottenuto aggiungendo un paio di righe al file CONFIG.SYS, un file che insieme ad AUTOEXEC.BAT determinava in larga misura i parametri di caricamento della memoria dei dispositivi software e hardware utilizzati in DOS e nei primi sistemi Windows®. Alla fine degli anni ‘1980, il Quarterdeck Expanded Memory Manager® (QEMM) ha automatizzato gran parte dell’ottimizzazione richiesta dagli utenti di computer dell’epoca che non erano in grado di farlo manualmente.
Nel 1990, DR DOS versione 5.0 di Digital Research® ha introdotto una strategia migliore per ottenere il massimo dalla memoria convenzionale, incluso il proprio gestore di memoria esteso integrato: EMM386.EXE. Questa versione di DOS si caricava quasi interamente in memoria alta, liberando la memoria convenzionale per i programmi che potevano essere eseguiti solo lì. Un altro vantaggio di questo sistema operativo è che poteva essere acquistato dal pubblico (a partire dalla versione 3.1), mentre MS DOS era disponibile solo in bundle con l’hardware.
Microsoft® ha risposto a Digital Research® con la propria versione 5.0 nel 1991 che ha contrastato i vantaggi di DR DOS 5.0. La competizione è proseguita con DR. DOS 6.0 che includeva la commutazione delle attività e la compressione del disco, e MS DOS 6.0 seguirono in natura. MS DOS 6.22 è stato l’ultimo pacchetto MS DOS commercializzato indipendentemente, mentre DR DOS continua a essere venduto tramite drdos.com.
Con l’avanzare dei sistemi operativi Windows®, i vincoli dell’ottimizzazione della memoria convenzionale sono diventati un ricordo lontano, fatta eccezione per coloro che hanno continuato a utilizzare i programmi DOS, per necessità o per divertimento. A partire da Windows® 95, è stata integrata una versione ridotta di MS DOS allo scopo di eseguire il bootstrap o la risoluzione dei problemi. Windows® XP conserva una versione scheletrica di MS DOS 8.0, accessibile solo creando un dischetto di avvio, così come Vista®. Tutte le versioni di Windows® mantengono una shell o un’interfaccia a riga di comando. Nelle versioni precedenti di Windows® era COMMAND.EXE, che divenne CMD.EXE nella famiglia Windows-NT®.
A partire da settembre 2006, è diventata disponibile anche una versione gratuita e open source di DOS, nota come FreeDOS, sebbene non sia mai stata sviluppata oltre la versione 1.0. Per coloro che utilizzano macchine legacy o eseguono programmi DOS oggi, esistono molte informazioni online per l’ottimizzazione manuale della memoria convenzionale per ottenere il massimo dai programmi o dai giochi DOS.