Memoria convenzionale

La memoria DOS, a volte indicata come memoria convenzionale, si riferisce allo schema di indirizzamento alla memoria utilizzato nell'IBM originale e nei PC compatibili. Questi venivano forniti con un solo sistema operativo, Disk Operating System, e questo sistema operativo doveva essere progettato per funzionare con il microprocessore del PC, l'Intel 8088. A causa dei limiti tecnici dell'8088, gli indirizzi di archiviazione o di memoria erano limitati a un massimo di un megabyte. (In seguito, ovviamente, i PC vennero forniti con 2, 4, 8 e gli odierni 16 e 32 megabyte di RAM comuni.) All'epoca, tuttavia, un megabyte era considerato una quantità piuttosto grande di memoria a cui poter accedere.

Una certa quantità della memoria ad accesso casuale era riservata come posto da caricare nel sistema di input / output di base o nel programma di inizializzazione, un altro spazio era riservato per le aree di buffer per i dati di visualizzazione e un altro spazio per i dati di interrupt e così via. I rimanenti 640 kilobyte di memoria potevano essere utilizzati dal sistema operativo DOS (che era relativamente piccolo) e dai programmi applicativi.

La ragione per cui tutto questo non è accademico è che, man mano che sono stati sviluppati nuovi microprocessori e sistemi operativi, molti vecchi programmi scritti con le limitazioni di indirizzamento della memoria originali devono continuare a funzionare nei sistemi più recenti. Ciò significa che i sistemi più recenti hanno dovuto accogliere i programmi più vecchi in modo che possano essere eseguiti nell'intervallo di indirizzi contigui limitato originale di 640 kilobyte. Un programma eseguito con questo vincolo viene descritto come eseguito in modalità protetta. (I programmi in esecuzione senza questo vincolo vengono descritti come in esecuzione in modalità protetta.)

Con i successori dell'8088, i microprocessori 80286 e 80386, la memoria disponibile è aumentata considerevolmente, con un massimo di 15 megabyte possibili in un 286 e fino a quasi 4 gigabyte di RAM possibili in un 386. Questa memoria extra sopra l'originale un megabyte che DOS è stato progettato per affrontare è chiamato memoria estesa . Essere in grado di indirizzare la memoria estesa significa funzionare in modalità protetta.

In generale, le applicazioni DOS possono essere eseguite solo in modalità reale poiché il DOS stesso richiede il vincolo di memoria. Tuttavia, alcuni programmi sono stati sviluppati chiamati Estensori DOS che può essere compilato con l'applicazione e fornisce una capacità di gestione della memoria incorporata. Affinché più programmi DOS con estensori di memoria potessero essere eseguiti contemporaneamente, era necessario un approccio comune in modo che i programmi potessero condividere la memoria estesa in modo efficace. Diversi standard sviluppati per gestire questa condivisione: XMS (Extended Memory Specification), VCPI (Virtual Control Program Interface) e DOS Protected Mode Interface (interfaccia in modalità protetta DOS).