Prima dell'avvento di Windows, Microsoft commercializzò un altro sistema operativo. Anch'esso, come il suo successore, ebbe un successo planetario e diventò la piattaforma di riferimento in ambito PC, introducendo un livello di standardizzazione indispensabile per la crescita di tutto il settore. Correva l'anno 1981, e il giovane Bill Gates poneva le basi del successo futuro della propria azienda con MS-DOS, acronimo di Microsoft Disk Operating System. L'aspetto curioso è che, contrariamente a quanto sostiene "la leggenda", Gates e soci non lo realizzarono internamente: in realtà, si limitarono ad acquistare un software preesistente che venne poi rimarchiato e ceduto in licenza ad IBM. Fu la prima di molte scelte commerciali e tecnologiche vincenti, tali da portare Microsoft a dominare, pressoché incontrastata, la scena PC dagli anni 90 in poi
nota: questo articolo fa parte de La storia completa di Windows.
IBM e l'hardware senza software
Nel 1981, uno dei principali colossi del settore tecnologico era IBM (International Business Machines). All'epoca, forte del proprio dominio in ambito aziendale (il 62% di tutti i mainframe portava questo marchio), IBM si stava preparando ad immettere sul mercato un nuovo prodotto, chiamato personal computer (PC) e rivolto al mercato "home" e piccoli uffici (SoHo). Un settore in rapida crescita, nel quale modelli come Commodore PET e vari modelli Atari stavano andando forte
Alla base del nuovo IBM 5150 si trovata il processore Intel 8086, capostipite delle CPU moderne basate sull'architettura chiamata x86.
IBM aveva la capacità di produrre e distribuire l'hardware, ma i tempi e i costi per scrivere un sistema operativo compatibile furono giudicati (erroneamente?) inaccettabili. L'azienda decise dunque di affidarsi ad un fornitore esterno.
Microsoft non fu la prima scelta. Inizialmente, IBM cercò di raggiungere un accordo con l'azienda californiana Digital Research (DR). L'obbiettivo era ottenere una versione compatibile con l'architettura x86 del sistema operativo CP/M realizzato da DR. La piattaforma CP/M era altamente desiderabile, poiché costituiva l'ambiente operativo utilizzato dalla maggior parte dei nascenti calcolatori degli anni 70 rivolti al pubblico di hobbysti e aveva il parco software più ampio.
Le parti non riuscirono però a trovare un accordo, ed il contratto sfumò. A quanto pare, il motivo del contendere fu il rifiuto da parte di DR di firmare un accordo di riservatezza (NDA) e la ferma volontà di IBM di ottenere la proprietà del sistema operativo, invece del mero "diritto di sfruttamento" (royalty) come era prassi per Digital Research.
Microsoft e 86-DOS
IBM ripiegò allora su Microsoft: un'azienda in rapida crescita che si era già fatta conoscere nel settore grazie ad un interprete per il linguaggio BASIC divenuto piuttosto popolare fra gli hobbisti degli anni 70
Microsoft fu molto abile ad accaparrarsi il contratto con IBM pur non disponendo di un sistema operativo proprio. La soluzione, condivisa apertamente con IBM stessa, fu di acquistare per 75.000 $ un prodotto chiamato 86-DOS dalla vicina Seattle Computer Products (SCP): un'azienda che già commercializzava una propria scheda con processore Intel 8086 (la stessa microarchitettura utilizzata nei computer IBM) e governata da 86-DOS come sistema operativo.
Microsoft rinominò 86-DOS in MS-DOS, mantenendone però il numero di versione "1.10". "Nasceva" (si fa per dire) così la prima versione del fortunato sistema operativo "di Microsoft" (si fa per dire): MS-DOS 1.10
È interessante notare che il nome originale di 86-DOS era QDOS (acronimo per Quick and Dirty Operating System, cioè "sporco e fatto in fretta"). Tale scelta derivava probabilmente dal fatto che il suo autore, Tim Paterson, lo realizzò in appena 6 settimane (alla faccia delle previsioni catastrofiste di IBM). Il più popolare sistema operativo degli anni 80, tale da portare nelle casse di Microsoft milioni di dollari, partiva dunque da una base di codice "sporca e fatta in fretta", ultimata in un mese e mezzo. Incredibile.
In vero, Microsoft non si limitò a svolgere il ruolo di mero "rivenditore". Il team di Bill Gates assunse infatti lo stesso Paterson nella propria struttura e adattò 86-DOS 1.10 per funzionare correttamente sull'hardware IBM.
Ancor prima dell'acquisizione da parte di Microsoft, 86-DOS era di fatto un clone con poche funzionalità in più del già citato CP/M, semplicemente adattato per funzionare su processori x86. Questa similitudine portò Paterson ad essere accusato di plagio. Il programmatore citò in giudizio gli accusatori per diffamazione, ma il giudice non trovò elementi sufficienti per una condanna, e Peterson perse la causa.
Ad ogni modo: IBM ottenne MS-DOS in licenza, rinominandolo a propria volta in IBM PC DOS.
Microsoft riuscì però a strappare una vendita non-esclusiva, conservando dunque il diritto di cedere in licenza MS-DOS anche ad altri produttori. La concessione si rivelò una mossa estremamente azzardata da parte di IBM: la disponibilità del sistema operativo incentivò infatti altre aziende a realizzare hardware compatibile con i PC IBM, creando una forte concorrenza che, se da un lato contribuì ad espandere il nascente mercato dei personal computer, finì per spodestare IBM stessa.
Nel frattempo, Microsoft riempì i propri forzieri di dobloni d'oro: a meno di un anno dall'accordo con IBM, MS-DOS era già stato ceduto in licenza ad altri 70 produttori.
L'ultima minaccia: CP/M-86
Digital Research non si arrese facilmente. Il tentativo di riscatto più credibile fu forse CP/M-86.
Rilasciato qualche tempo dopo MS-DOS, si trattava del porting ufficiale per architettura Intel dello stesso CP/M che IBM voleva acquistare inizialmente, e dal quale Paterson aveva "tratto ispirazione" per il proprio 86-DOS.
CP/M-86 venne commercializzato da IBM come alternativa a MS-DOS in seguito alla minaccia avanzata da Digital Research di denunciare IBM per il plagio che poteva essere considerato 86-DOS. Ma a causa di un prezzo di listino pari a 240 $ contro i 40 $ di MS-DOS, le copie di CP/M-86 per PC IBM vendute furono ben poche. Di conseguenza, gli sviluppatori terzi abbandonarono progressivamente la piattaforma, in una spirale negativa che non lasciò scampo alla soluzione realizzata da Digital Research.
MS-DOS e CP/M-86 non erano infatti compatibili a causa di parecchie differenze, come il formato degli eseguibili, le modalità per invocare le funzioni di sistema (system call) e numerosi comandi da terminale. Il secondo non poté dunque rimanere a galla nemmeno sfruttando le applicazioni realizzate per la piattaforma Microsoft.
Successivamente, Digital Research corse ai ripari integrando nel proprio sistema operativo un emulatore in grado di eseguire le applicazioni per MS-DOS, ma ormai la penetrazione di mercato del rivale era troppo ampia perché la strategia potesse fare la differenza.
La tecnologia di MS-DOS
MS-DOS era sprovvisto di interfaccia grafica: l'utente doveva invece utilizzare comandi testuali, da immettersi tramite il famoso "prompt dei comandi"
Inizialmente, il software era studiato per funzionare da disco floppy. Non veniva dunque installato sul disco fisso interno (del quale i primi computer non disponevano nemmeno!): l'utente doveva invece caricarlo da dischetto floppy, per poi estrarre il supporto ed inserire quello con i programmi applicativi e/o i documenti.
Si trattava di un sistema operativo a 16 bit, privo di molte caratteristiche che oggi siamo abituati a dare per scontate: niente multitasking (era impossibile eseguire più di un programma per volta), niente multithreading (i programmi non potevano eseguire due operazioni per volta, come elaborare dati in background mentre accettavano input dall'utente), niente multi-utenza.
Il formato dei programmi era particolare: il sistema operativo, almeno inizialmente, poteva eseguire solamente gli ormai dimenticati file .com (niente a che fare con il dominio Internet). Il supporto ai .exe, sebbene in una specifica piuttosto diversa dalla Portable Executable (PE) che usiamo oggi, arrivò con le generazioni successive.
Nelle prime versioni non erano presenti le funzioni di accesso alla rete locale, men che meno a Internet.
L'utilizzo "standard" per l'utente medio era scrivere testi o interagire con programmi di contabilità completamente testuali, spesso realizzati su misura per le specifiche necessità.
Pressoché parallelamente arrivarono i primi, rudimentali videogiochi. Già allora, questa classe di applicazioni spingeva l'hardware ai limiti di quanto possibile e, spesso, i programmatori dovevano sfruttare trucchetti di grande ingegno per ottenere i risultati voluti con la limitatissima memoria disponibile
Fra questi, vi era l'accesso diretto all'hardware senza "passare" per le più lente interfacce offerte dal sistema operativo. La tecnica funzionava però solo fino a quando la configurazione hardware era quella per la quale il programmatore aveva progettato il programma. Poiché molti sviluppatori facevano riferimento alla configurazione classica del PC IBM, i concorrenti finirono per adeguare le proprie a quello che era divenuto lo "standard di fatto". Nasceva così il fenomeno dei computer "IBM-compatibili", designazione tutt'oggi in uso fra gli addetti ai lavori.
MIDAS e Xenix
Negli articoli storici si trovano menzioni di M-DOS (noto anche come MIDAS): un sistema operativo realizzato da Microsoft nel 1979 per i processori a 8 bit 8080 e Z80 (8 MHz). Non trattandosi comunque di CPU compatibili con la microarchitettura di Intel, MIDAS ha davvero ben poco a che fare con MS-DOS.... se non l'uso dell'interfaccia testuale ed il marchio "Microsoft".
Un altro sistema operativo Microsoft fu Xenix. Si trattava di un prodotto contemporaneo a MS-DOS e derivato da Unix, acquisito in licenza da AT&T. Grazie alla derivazione Unix, Xenix era dotato di funzionalità multi-utente e multi-tasking che, per molti versi, lo rendevano nettamente superiore a MS-DOS. In seguito al mutamento del panorama commerciale, Microsoft cedette Xenix a Santa Cruz Operation (SCO) nel 1987. Fino ad allora, Xenix e MS-DOS venivano spesso proposti uno di fianco all'altro nelle campagne marketing.
DR-DOS, FreeDOS e gli altri cloni
Lo straordinario successo di MS-DOS e la standardizzazione che introdusse nel mercato PC portò alla nascita di alcuni "cloni", ovvero sistemi operativi compatibili ed in grado di eseguire programmi originariamente progettati per la piattaforma Microsoft/IBM, ma realizzati da aziende concorrenti.
Fra gli altri, ricordiamo DR DOS (successivamente rimarchiato in DR-DOS, con il trattino). Le prime lettere stanno per la "solita" Digital Research, che lo realizzò come evoluzione di Concurrent DOS, a sua volta derivato da CP/M-86. La prima versione di DR-DOS fu lanciata nel 1988, poi lo sviluppò proseguì poi sino al 2011. DR-DOS venne commercializzato anche con il nome di Novell DOS in seguito all'acquisizione di Digital Research da parte di Novell. In seguito, il prodotto venne ceduto a Caldera che, con il tempo, lo propose al pubblico sotto il nome di OpenDOS.
Nel 1993, l'azienda russa PhysTechSoft lanciò il proprio PTS-DOS, un clone compatibile con MS-DOS. Alcuni sviluppatori abbandonarono poi l'azienda portando con sé il codice sorgente del prodotto (in modo, forse, non del tutto legale): costituirono così Paragon Software Group e commercializzarono una propria versione di PTS-DOS. Un "clone del clone", insomma.
Un altro progetto di una carta importanza fu FreeDOS: una soluzione open source lanciata nel gennaio del 1998 e sviluppata almeno sino a dicembre 2016.
» Leggi anche: Guida a FreeDOS, il sistema operativo clone di MS-DOS
A bordo dei computer Compaq (il più grande produttore di PC degli anni 90, poi acquisito da HP nel 2002), MS-DOS veniva chiamato COMPAQ-DOS, ma sempre del medesimo software si trattava.
Le versioni di MS-DOS
Negli anni seguenti a MS-DOS 1.10 (la prima versione legata al contratto IBM), arrivarono MS-DOS 2.x e MS-DOS 3.x.
La versione 4.0 fu dotata del supporto al multitasking ma, a causa dello scarso interesse dei partner, ebbe una distribuzione estremamente limita e si rivelò un binario morto. Lo sviluppo proseguì su un nuovo ramo, anch'esso chiamato MS-DOS 4.x ma basato sul precedente MS-DOS 3.3 e sprovvisto delle capacità multitasking.
Seguirono MS-DOS 5.x e 6.x.
L'ultima versione commercializzata come prodotto autonomo fu la 6.22 del giugno 1994
Da lì in avanti, arrivarono MS-DOS 7.x alla base di Windows 95 e Windows 98 per poi concludere il ciclo di vita con MS-DOS 8.0 su Windows ME del settembre 2000.
MS-DOS e Windows
MS-DOS rimase un componente critico di sistema fino a Windows ME, per il quale si occupava di avviare il computer prima di "passare" il controllo al kernel di Windows.
Sino a Windows 98 (incluso), era inoltre possibile "riavviare in modalità MS-DOS", ovvero chiudere Windows e ritornare il controllo del PC al sistema operativo testuale. Detta capacità fu disabilitata su Windows ME, anche se rimaneva possibile abilitarla tramite un trucco non-ufficiale.
Tutto questo sparì definitivamente con l'avvento del kernel NT alla base di Windows 2000 e Windows XP, sui quali MS-DOS era raggiungibile in maniera nativa soltanto creando un dischetto di avvio.
Per permettere alle vecchie applicazioni a 16 bit scritte per MS-DOS di funzionare sulla famiglia Windows NT, Microsoft includeva un componente di sistema chiamato Windows NTVDM: un emulatore completo e pressoché trasparente all'utente. Detto strumento non è presente nelle compilazioni di Windows a 64 bit
» Leggi anche: Come utilizzare i vecchi giochi e programmi DOS in Windows
Successo e fine del supporto
La prima versione di MS-DOS esordì nell'agosto del 1981. Si impose rapidamente come sistema operativo di riferimento per il mercato personal computer durante il resto della decade, sbaragliando pressoché qualsiasi concorrente nell'ambito "home/small office".
Rimase poi in una posizione dominante persino in seguito alla disponibilità delle prime versioni di Windows. Il processo di migrazione ai sistemi operativi con interfaccia grafica iniziò infatti seriamente solo con Windows 3.1, ma fu lo straordinario successo di Windows 95 a far perdere realmente popolarità alla vecchia linea di comando.
Ogni forma di supporto a qualsiasi versione di MS-DOS è cessata il 31 dicembre 2001. All'epoca, il grande pubblico era già passato in massa a Windows, ma in molti ambienti lavorativi e statali rimaneva ancora ampiamente in uso.