MS-DOS
In informatica MS-DOS ([ˌɛmɛsˈdɒs], acronimo di Microsoft Disk Operating System) è un sistema
operativo commerciale della Microsoft Corporation dedicato ai personal computer con microprocessore x86.
Il significato del nome, molto spesso confuso col concetto di "sistema operativo su disco", è "sistema
operativo per dischi"; è dovuto al fatto che in precedenza i microcomputer non utilizzavano dischi, esso è
nato appunto originariamente come OS di gestione dei dischi ovvero di microcomputer con dischi.
Commercializzato dal giugno 1982 al 2000, Microsoft MS-DOS è il primo di una lunga serie di sistemi
operativi commerciali della maggiore software house del mondo che, si stima, negli anni '80 era detentrice
di oltre il 90% del mercato mondiale dei sistemi operativi.
Fino all'avvento di Microsoft Windows 95 (della stessa Microsoft Corporation), messo in commercio il 24
agosto 1995, MS-DOS è stato il sistema operativo per computer più diffuso al mondo.
Storia
Nell'ottobre del 1980 la IBM stava cercando un sistema operativo per il suo nuovo prodotto, il PC IBM
prossimo al lancio. Si rivolse alla Digital Research di Gary Kildall, l'autore del CP/M che allora era lo
standard per i microcomputer. I negoziati iniziali però fallirono, perché la IBM offriva il pagamento di una
licenza fissa di 250.000 dollari indipendentemente dal numero di copie del sistema operativo realizzate,
mentre Digital Research voleva un accordo basato sul pagamento di una royalty per ogni singola copia
realizzata[1][2].
Continuando la ricerca, IBM fece domanda alla Microsoft di Bill Gates e Paul Allen che allora produceva
principalmente linguaggi di programmazione (il Microsoft BASIC). I due, vista l'occasione che si profilava
loro, contattarono la SCP (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, quindi la Microsoft acquisì i diritti dell'86-DOS dalla SCP nel luglio 1981. Il
mese dopo la prima versione di MS-DOS era sul mercato; IBM però, avendola sottoposta ad un esteso
controllo di qualità ed avendo trovato oltre 300 bug, ne riscrisse alcune parti e ne cambiò il nome in PCDOS 1.0, entrambe le versioni furono licenziate congiuntamente da Microsoft e da IBM. Le versioni
successive furono licenziate separatamente: da Microsoft come MS-DOS e da IBM come PC-DOS, in
genere in coincidenza con l'uscita sul mercato di una nuova linea di personal computer.
Inizialmente non era obbligatorio comprare una copia di MS-DOS insieme ai PC IBM ma si poteva scegliere
fra 3-4 sistemi operativi: il CP/M-86 (poi DR-DOS), l'UCSD p-System (noto familiarmente come USCD-p),
l'IBM PC-DOS, lo XENIX (cioè lo UNIX di AT&T con licenza acquistata dalla Casa di Gates e riadattato
dalla Microsoft per i microcomputer). Tuttavia il prezzo del CP/M era di 240 dollari, quello del p-System di
poco meno, mentre l'MS-DOS costava 39,95 dollari, rendendolo una scelta praticamente obbligata in molti
àmbiti. 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 si
avviava, Windows veniva esplicitamente caricato dall'utente come uno strato software sovrapposto. A
partire da Windows 95, il processo di avvio del sistema IBM-compatibile venne modificato in modo da
caricare l'MS-DOS e, in automatico, Windows. Ciò venne fatto per mantenere la retrocompatibilità con i
programmi DOS, ma dando anche all'utente l'impressione di un ambiente totalmente grafico (viene visto in
tal senso l'artificio di visualizzare una schermata grafica con il logo di Windows 95 durante l'avvio di MSDOS).
A differenza della linea di prodotti da Windows 95 a Windows ME, detta Win9x (basata su MS-DOS a 16
bit ma con un numero di componenti via via maggiore a 32 bit e non basati su DOS), la linea Windows NT
nacque sin dalla versione 3.1 non retrocompatibile, totalmente 32 bit e priva di reale supporto MS-DOS (il
prompt dei comandi fornito era in effetti un applicativo Win32 che emulava una console e i principali
comandi DOS, senza però inglobare nulla del precedente sistema operativo). MS-DOS è stato reso
definitivamente obsoleto con la nascita di Windows XP, prima versione della linea di prodotti NT orientata
al mercato consumer. Oggi Windows fornisce un limitato sottosistema DOS (NTVDM) che però, a partire
da Windows Vista non supporta neanche la modalità a schermo intero necessaria per eseguire 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.
Il 26 marzo 2014 Microsoft concede al Computer History Museum di pubblicare, sotto una licenza ad uso
esclusivamente consultativo e non commerciale, i sorgenti delle versioni 1.1 e 2.0 di MS-DOS.[3]
Descrizione
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. Il mercato
sviluppò, sfruttando una peculiarità del meccanismo di esecuzione dei programmi di DOS, i cosiddetti TSR
(Terminate and Stay Resident, termina e resta residente): programmi che, una volta caricati, restituivano il
controllo alla shell senza però liberare la memoria allocata e, sovente, assumendo il controllo della tastiera o
di un altro dispositivo, in modo da poter essere in qualche modo invocati dall'utente. Ciò consentiva una sia
pur elementare simulazione di multitasking, anche se la pratica dimostrò che due o più TSR entravano
spesso in conflitto o causavano instabilità al sistema.
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.
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 IO.SYS e MSDOS.SYS. 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. MSDOS.SYS
caricava a sua volta il COMMAND.COM, la shell interprete dei comandi. I file dovevano occupare le prime
due posizioni nella File Allocation Table del disco ed essere contingui. Sul PC-DOS i file si chiamavano
rispettivamente IBMBIO.COM e IBMDOS.COM ma svolgevano le medesime mansioni. Altri file di
sistema rilevanti erano CONFIG.SYS e AUTOEXEC.BAT: il primo si occupava della configurazione dei
dispositivi (periferiche) e delle applicazioni; il secondo, invece, era un eseguibile di tipo batch che gestiva i
comandi automatici all'avvio del sistema. Tutti questi file di sistema si trovavano nel percorso radice.
Interfaccia utente
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 menu
testuali (come, ad esempio, Norton Commander) o grafiche, come il GEM e le prime versioni di Microsoft
Windows fino alla 3.11.
Versioni
Versione
Data di
distribuzione
Note
Microsoft MS-DOS 1.24
giugno 1982
come il PC DOS 1.10
Microsoft MS-DOS 1.25
luglio 1982
prima release non IBM del PC DOS: la storia dell'MS-DOS propriamente detto inizia da qui
Microsoft MS-DOS 2.01
maggio 1983
supporto iniziale per l'internazionalizzazione (comando COUNTRY)
Microsoft MS-DOS 2.11
dicembre 1983
una via di mezzo tra MS-DOS 2.01 e PC DOS 2.10
Microsoft MS-DOS 2.12
1983
versione speciale per TI pro
Microsoft MS-DOS 3.05
novembre 1984
prima release non IBM di PC DOS versione 3
Microsoft MS-DOS 3.25
ottobre 1985
esteso il supporto alle lingue straniere
Microsoft MS-DOS 4.0
aprile 1986
lanciato solo in Europa; introdotto il multitasking; molto instabile e pieno di bug viene ritirato dal mercato
poco tempo dopo
Microsoft MS-DOS 3.31
novembre 1987
supporto per partizioni maggiori di 32 MB; versioni diverse da parte di vari OEM
Microsoft MS-DOS 2.11R
1988
versione bootabile da ROM per i PC Tandy
Microsoft MS-DOS 4.01
dicembre 1988
corregge molti bug della catastrofica versione 4.0 ma è ancora instabile
Microsoft MS-DOS 3.21R.85
settembre 1989
ROM DOS, supporta il Flash file system per i portatili
Microsoft MS-DOS 3.3R
1990
ROM DOS, versione per i portatili TI
Microsoft MS-DOS 5.0
giugno 1991
introdotto l'uso della memoria alta; possibilità di usare fino a 8 hard disk; supporto ai floppy disk da 2,88
MB; versione decisamente più stabile e robusta delle precedenti
Microsoft MS-DOS V
febbraio 1993
versione per il mercato giapponese con supporto per i caratteri Kanji a 16 bit
Microsoft MS-DOS 6.0
marzo 1993
compressione del disco on the fly (Doublespace); configurazioni multiple in AUTOEXEC.BAT e CONFIG.SYS
Microsoft MS-DOS 6.20
settembre 1993
Doublespace riscritto per perdite di dati che occasionalmente causava
Microsoft MS-DOS 6.21
febbraio 1994
Doublespace rimosso dopo che la Stac Electronics aveva vinto la causa per violazione di copyright
Microsoft MS-DOS 6.22
maggio 1994
nuovo software di compressione del disco (Drivespace); ultima versione di DOS stand-alone
Microsoft MS-DOS 7.0
agosto 1995
incorporata in Windows 95
Microsoft MS-DOS 7.10
agosto 1996
incorporata in Windows 95B OSR2 e Windows 98
Microsoft MS-DOS 8.0
settembre 2000
ultima versione di MS-DOS; incorporata in Windows ME
Microsoft MS-DOS
31 dicembre
2001
Fine del supporto