MS-DOS

Commercializzato dal giugno 1982 al 2000, Microsoft MS-DOS (acronimo di “MicroSoft – Disk Operating System”) è il primo di una lunga serie di sistemi operativi commerciali della maggiore software house del pianeta, negli anni 80 era detenente oltre il 90% del mercato mondiale dei sistemi operativi.Fino all’avvento di Microsoft Windows 95 (della stessa Microsoft Corporation) rilasciato il 24 agosto 1995, MS-DOS è stato il sistema operativo per computer più diffuso al mondo.

msdos2

 

LA STORIA

Verso l’ottobre del 1980 la IBM stava cercando un sistema operativo per il suo nuovo prodotto, il PC IBM prossimo al lancio. Fece domanda alla Microsoft di Bill Gates e Paul Allen che allora produceva quasi solo linguaggi (il Microsoft BASIC). I due, davanti all’occasione che si profilava loro, non esitarono a contattare la Seattle Computer Products che pochi mesi prima aveva scritto un clone a 16 bit del CP/M chiamato QDOS (Quick & Dirty Operating System), poi distribuito come 86-DOS, per i microcomputer che stava producendo, basati sull’8086 e sul bus S-100, i “Gazelle”. Dopo una veloce revisione dei sorgenti, che consistevano in circa 4000 linee di codice assembly, il tutto fu mandato alla IBM per una valutazione. La IBM rimase soddisfatta e l’affare andò in porto. La Microsoft acquisì i diritti dell’86-DOS nel luglio 1981 e il mese dopo la prima versione di MS-DOS era sul mercato.

IBM_PC_5150

IBM però, avendola sottoposta ad un esteso controllo di qualità ed avendo trovato oltre 300 bug, ne riscrisse alcune parti: per questo motivo tale versione portò il nome di IBM PC-DOS 1.0 e fu licenziata congiuntamente da Microsoft e da IBM. Inizialmente non era obbligatorio comperare una copia di MS-DOS insieme ai PC IBM, ma si poteva scegliere fra 3 sistemi operativi: il CP/M-86, l’UCSD p-System e l’MS-DOS. Tuttavia il prezzo del CP/M era di 240 dollari, quello del p-System di poco meno, e l’MS-DOS costava 39,95 dollari, rendendolo una scelta praticamente obbligata per un hobbysta. La pratica di vendere l’MS-DOS e il PC-DOS solo insieme ad un PC iniziò a partire dalla vendita degli AT/339, con la versione 3.0 del DOS.Fino alla versione 3.1 di Microsoft Windows, l’MS-DOS era il sistema operativo con il quale il computer partiva, e Windows veniva esplicitamente caricato dall’utente come uno strato software sovrapposto. A partire da Windows 95, il processo di boot del sistema IBM-compatibile è stato modificato in modo da caricare l’MS-DOS e, in automatico, Windows. Ciò è stato fatto per consentire di mantenere la retrocompatibilità con i vecchi programmi DOS, ma dando all’utente l’impressione di un ambiente totalmente grafico (in tal senso va visto l’artificio di visualizzare una schermata grafica con il logo di Windows 95 durante l’avvio di MS-DOS). Oggi Windows fornisce un limitato sottosistema DOS (NTVDM) che però, a partire da Windows Vista non supporta neanche la modalità schermo intero necessaria per eseguire la gran parte dei giochi per DOS. Pertanto, l’emulazione del vecchio sistema è demandata a programmi di terze parti di livello utente, il più noto dei quali è DOSBox.

msdos3

L’INTERFACCIA

L’interfaccia standard di MS-DOS, un’interfaccia a riga di comando, era una shell (chiamata command), come su tutti i sistemi dell’epoca. In seguito divennero disponibili altre interfacce utente, basate su menù testuali (come, ad esempio, Norton Commander) o grafiche, come il GEM e le prime versioni di Microsoft Windows fino alla 3.11.

ms-dos4

L’ARCHITETTURA

Come praticamente tutti i sistemi operativi per home e personal computer del periodo, l’MS-DOS era un sistema operativo monoutente e monotask, cioè capace di far girare un solo programma alla volta. I principali limiti di DOS sono stati la limitazione a 640KB di RAM, la mancanza di supporto per la rientranza, l’architettura esclusivamente a 16 bit e il fatto che ogni processo una volta avviato avesse il controllo totale del sistema. Tali limitazioni erano dovute a scelte progettuali, basate sulle limitazioni del primo PC IBM; essendo strutturali, questi limiti non furono in seguito superabili. Divenuti presto evidenti per la rapidissima evoluzione tecnologica di quegli anni, questi limiti vennero poi aggirati con stratagemmi software come i gestori di memoria EMS e XMS, e i cosiddetti DOS extender che gestivano il funzionamento a 32 bit in modalità protetta, che MS-DOS non poteva supportare. Tuttavia non si trattava di modifiche strutturali al SO: in ogni caso la gestione del file system e la risposta agli interrupt restavano comunque in mano al vecchio MS-DOS e soffrivano dei suoi limiti.

mappa_memoria

Alla fine, la Microsoft fu costretta ad abbandonare l’MS-DOS e scrivere da zero una nuova famiglia di sistemi operativi, cioè le varie versioni di Windows 9x e NT.

Il codice eseguibile fondamentale del DOS era contenuto in due file dal nome IBMBIO e IBMDOS. Il primo conteneva le routine di servizio degli interrupt e la gestione delle periferiche fisiche e caricava il secondo, che conteneva il gestore di periferiche logiche e il gestore del file system FAT.

I CLONI

Dato il grande successo e la longevità del DOS sarebbe stato ben strano se nessuno avesse cercato di emularlo. E in effetti ci sono moltissimi sistemi operativi compatibili con varie versioni dell’MS-DOS o che cercano di estenderne le funzioni, alcuni commerciali, alcuni gratuiti, altri addirittura open source.