| Storia del DOS (DOS History) |
|
Il DOS (Disk Operating System) nelle sue varie incarnazioni è stato il sistema operativo di "massa" degli anni '80 e dei primi anni '90, direttamente legato allo sviluppo dei processori Intel e dei PC IBM. Lo sviluppo del DOS inizia nell'ottobre 1980 quando IBM effettua una ricerca di mercato per un sistema operativo da affiancare al nascituro PC IBM. Big Blue inizialmente propende per il CP/M della Digital Research già presente su un numero impressionante di calcolatori dell'epoca. Le fonti più attendibili raccontano che il CEO di Digital R., Gary Kildall, abbia respinto la proposta di IBM di acquistare tutti i diritti del CP/M. Altri sostengono invece che nonostante l'accordo fra Digital Research e IBM fosse già stato definito e prevedeva il pagamento di royalties per l'uso del CP/M, non venne siglato per cavilli minori. Nella leggenda è entrata anche la versione secondo la quale Kildall avrebbe disertato l'incontro decisivo per occuparsi del suo hobby preferito: il volo. Fatto sta che IBM, stanca di aspettare e dei continui tentennamenti di Kildall, si rivolge allora ad una piccola società, con cui aveva già degli accordi per il Basic, chiedendole di realizzare il sistema operativo per il nuovo PC. La società si chiamava Microsoft ed era guidata da un giovane sconosciuto di nome William Henry Gates III (Bill). Gates promette di mostrare in tempi brevi il proprio Disk Operating System per il nuovo Personal Computer, garantendo un prezzo modico per la licenza d'uso e chiedendo, inoltre, di poter vendere in proprio il nuovo OS. Quest'ultimo punto è stato fondamentale per la strategia di Microsoft: fino ad allora il software era considerato un accessorio dell'hardware e nessuno si sognava di investire somme ingenti in tale settore, ne tanto meno di pensare ad un modello di business basato su di esso. La realtà dei fatti era, però, che Microsoft non aveva nessun sistema operativo per l'architettura 8086. Gates comunque conosceva una piccola società di nome Seattle Computer Products (SCP) con la quale firma un accordo di acquisizione per la licenza dell'86-DOS.
Il patriarca dei sistemi operativi per gli intel i80x86Molti conoscono il DOS (MS, IBM, DR/NOVELL, ecc) e ne attribuiscono erroneamente la paternità a Microsoft e/o a IBM. Ma la realtà è ben diversa, come si può intuire da quanto accennato fin ora. Infatti tutto comincia con il Q-DOS (Quick and Dirty Operating System), sviluppato nel 1980 dalla Seattle Computer Products - SCP, una piccola società costituita da giovani appassionati di microcalcolatori. Il nome dell'OS deriva dal fatto che il sistema fu scritto rapidamente e con "codice sporco" nel giro di soli 2 mesi.
SCP decide di creare un proprio sistema operativo per il suo 8086 hw kit quando nel 1979 diventa chiaro che Digital Research non è in grado, o non vuole, rilasciare in tempi ragionevoli una release del CP/M per la nuova piattaforma Intel. Lo sviluppo viene affidato al 22enne Tim Paterson che progetta il Q-DOS con in mente il CP/M, clonandone, quindi, i comandi e le API del sistema. Paterson decide di distinguere il proprio OS da quello Digital R. in alcuni aspetti particolari. Tra questi il più rilevante è la gestione della cache del disco in memoria che, nel caso del CP/M, obbligava l'utente ad effettuare manualmente la sincronizzazione dei dati tra disco e cache, pena il ritrovarsi file completamente corrotti. Paterson sceglie invece la strada più lenta, ma sicura, di sincronizzare automaticamente i dati ad ogni modifica. Un'altra differenza significativa si riscontra nella gestione delle periferiche: il CP/M originale, attraverso il comando PIP, gestisce una serie di file speciali per reindirizzare le operazioni su stampanti e porte di comunicazione. Nel Q-DOS tali file divengono i device files gestibili da qualsiasi programma e non solo dal PIP. Inoltre la funzione di copia dei file gestiti dallo stesso comando viene delegata al più intuitivo Copy. Ultima sostanziale differenza è l'adozione del file system FAT, scelto più che altro per garantire la compatibilità con le precedenti soluzioni di SCP. Una volta terminato il Q-DOS viene rinominato in 86-DOS.
Arrivano i BIGMicrosoft acquista una licenza non-esclusiva dell'86-DOS per 25.000$ chiedendo a Paterson di realizzarne una versione specifica per il nuovo PC di IBM (che montava la più lenta CPU 8088) in grado di supportare le periferiche specifiche.
dall'86-DOS all'MS-DOS (BOB OREAR)
Microsoft rinomina l'86-DOS per PC in MS-DOS 1.0 (Microsoft Disk Operating System 1.0) e lo sottopose a tecnici e manager IBM. Nonostante fosse al quanto rudimentale, l'MS-DOS viene accettato da Big Blue e Gates riesce a raggiungere un accordo che porta l'MS-DOS ad essere l'OS ufficiale del nuovo PC. Nel luglio del 1981, Microsoft acquista per circa 50.000$ i diritti completi dell' 86-DOS, tracciando la road-map per l'introduzione dell' "IBM Personal Computer DOS 1.0" (ovvero l'MS-DOS con revisione IBM) che avviene nell'ottobre 1981. IBM sottopone il sistema operativo ad un ampio programma di revisione qualitativa che porta alla luce circa 300bug e costringe i propri ingegneri a riscrivere parte dell'OS stesso, marchiando il PC-DOS con copyright congiunto IBM e Microsoft.
Modifiche richieste da IBM al DOS di Microsoft
E' interessante notare che il PC IBM fu inizialmente progettato in funzione proprio del CP/M e testato utilizzando release preliminari di tale OS per piattaforma 8086. Complici i risvolti legali, che vedremo successivamente, IBM decise di non equipaggiare, di base, il nuovo PC con il PC-DOS essendo convinta che il CP/M-86 sarebbe comunque diventato il principale sistema operativo per PC, vista la sua larga diffusione. L'acquirente poteva, con l'acquisto di un upgrade al RomDrive da 64K, scegliere tra: PC-DOS, l'UCSD p-System (una sorta di Sistema Operativo basato sul Pascal, similare all'OS basato sul Basic per il Commodore 64), ed il CP/M-86. A differenza delle previsioni, però, fu proprio il PC-DOS ad essere l'OS preferito, per due motivi fondamentali:
In seguito a tale successo IBM decide di pre-installare il PC-DOS dalla seconda generazione di Personal Computer, l'AT / 339.
Le Versioni del DOSLa prima versione ufficiale del PC-DOS, la 1.0, viene rilasciata il 12 agosto 1981. Questa release supporta solo unità Single-Sided da 5,25"con una capacità di soli 160KB, mentre non fornisce alcun supporto per i dischi rigidi. Dispone, inoltre, solo di un set minimale di comandi: CHKDSK, DIR, FORMATO, RENAME, COMP, Diskcomp, MODE, SYS, COPY, DISKCOPY, PAUSE, TIME, DATA ERASE, TYPE e REM. Opzionali sono l'Editor di testo EDLIN, un linker, un debugger, e una serie di programmi BASIC. I molti limiti di questa prima release sono mitigati dalla scarsa disponibilità dei PC stessi, consentendo a Microsoft di lavorare con relativa tranquillità alla versione 1.1, rilasciata nel maggio del 1982. Il PC-DOS 1.1 viene anche rilasciato ad OEM terzi come MS-DOS 1.25, che a loro volta lo rinominano ed etichettano in modo diverso. Il DOS 1.1 introduce il supporto per i dischi Double Side da 320KB, utilizza 12Kb di RAM, ed è l'ultima versione scritta da Tim Paterson, diventato nel frattempo dipendente Microsoft, quindi ancora derivato sull'originale 86-DOS. L'8 Marzo del 1983 viene presentato il nuovo PC IBM XT e il PC-DOS 2.0 . Questa release è frutto di una completa riscrittura delle versioni precedenti e richiede 24Kb di Ram per funzionare correttamente. Molte sono le nuove caratteristiche introdotte, derivate per lo più dal mondo UNIX. Tra esse si annoverano: un file system ad albero, il supporto per l'unità disco rigido (fino a 16.76MB) basato su FAT12, il supporto dei dischi da 5,25" da 180KB/360KB, il reindirizzamento dell'I/O e la stampa in background. Il primo upgrade della versione 2.0 arriva il 1 Novembre del 1983 con il PC-DOS 2.1, complemento ideale del nuovo PCjr di IBM. Questa nuova release non porta grandi innovazioni ma si limita a corregge una serie di bug ed è ottimizzato per il nuovo hardware. L'anno successivo, il 14 agosto 1984, arriva il PC-DOS 3.0 e nel mese di ottobre il PC-DOS 3.1: entrambe richiedono 36Kb di RAM. La nuova major release è pensata per il PC IBM AT con processore i286 ed include: supporto per un disco virtuale (vdisk) creato utilizzando la memoria superiore a 1 MB, FAT16, supporto per dischi rigidi con una sola partizione fino a 32 MB, supporto ai dischi 5.25" HD da 1.2 MB. La versione 3.0 è ritenuta una 3.1 incompleta che lo estende aggiungendo il supporto per la tastiera internazionale, il supporto alla stampanti rete e reindirizzamento dei file, la condivisione dei file. Il 2 aprile del 1987 è l'anno del definitivo consacramento dei PC IBM con l'IBM PS/2 e l'MS/PC-DOS 3.3. Il DOS 3.3 introduce la partizione estesa che supporta fino a 23 sub-partizioni (unità logiche) con dimensione massima di 32 MB ciascuna, il supporto ai dischi HD da 3,5" in grado di memorizzare fino a 1.44MB, la possibilità di utilizzare i comandi nidificati nei file batch (utilizzando il nuovo comando CALL), il potenziamento del supporto per le lingue straniere ed i comandi FASTOPEN ed APPEND. La memoria minima necessaria per questa versione è di 128KB. Della versione 3.3 viene realizzato un piccolo upgrade rilevante noto come Compaq DOS 3.31 (dovuto alla stretta collaborazione tra Microsoft e Compaq) che consente di avere partizioni fino a 2Gb, grazie ad un indirizzamento interno dell'OS e del BPB (Bios Parameter Block) a 32 bit. Nel frattempo Digital Research tenta di risalire la china passando gradualmente dal CP/M-86 al DR-DOS, il cui anello gi congiunzione è il DOS Plus presentato nel 1986. L'OS di casa Digital R. è in grado di far girare applicazioni PC/MS-DOS compatibili ed applicazioni CP/M-86 addirittura in multitasking. Il 1988 è l'anno di lancio del DR-DOS 3.41, il cui numero di release è scelto in base alla versione di PC/MS-DOS di confronto. Lo stesso anno (19 luglio) Microsoft presenta il PC/MS-DOS 4.0. Questa nuova major release introduce in modo nativo i miglioramenti del Compaq DOS 3.31, il supporto per standard LIM (Lotus, Intel, Microsoft) per la gestione della Memoria Espansa (EMS), ed una rudimentale interfaccia utente grafica (GUI). Con le funzionalità aumenta anche la quantità di memoria minima necessaria che si attesta intorno ai 256 Kb. La release 4.0 si rileva un vero disastro a causa dei numerosi bug che interessano ogni suo aspetto. Ciò spinge Microsoft a rilasciare velocemente una serie di CSD (Corrective Service Disk) e la release 4.01, ma il destino della serie 4.x è ormai segnato. Nel Maggio del 1990 Digital Research rilascia il DR-DOS 5.0 (saltando la versione 4 per evitare confronti con la disastrosa release MS/IBM). Questa nuova release introduce ViewMax (una shell grafica derivata da GEM della stessa DR), QEMM per l'ottimizzazione e la gestione della Memoria Estesa, una gestione della cache del disco evoluta e tutta una serie di utility accessorie. E' il primo DOS ad introdurre utility esterne in bundle. Il 6 giugno del 1991, a ben tre anni di distanza dalla precedente release, Microsoft rilascia l'MS-DOS 5.0, mentre IBM annuncia il PC-DOS 5.0 l'11 giugno 1991. La nuova versione vuole essere una risposta alla crescente popolarità del DR-DOS che ha il merito di aver rianimato il confronto e, di conseguenza, lo sviluppo dei sistemi DOS. Con questa release il DOS diventa "adulto", potendo finalmente contare su una serie di tool importati ed una migliore gestione della memoria grazie al supporto completo per la memoria estesa. In particolare è possibile spostare pezzi del sistema operativa oltre i 640KB di memoria inferiore, liberando preziosa memoria base per l'esecuzione dei programmi applicativi. E' doveroso sottolineare che tali funzionalità erano del tutto simili a quelle già introdotte nel DR-DOS 5 quasi un anno prima. Con la release 5, per la prima volta, l'MS-DOS ed il PC-DOS seguono strade diverse ed il loro sviluppo è affidato a team distinti: i rapporti tra Microsoft ed IBM sono in declino da tempo, condizionati soprattutto dalle scelte su OS/2 e Windows. L'MS/IBM Dos 5 introduce il supporto ai dischi HD 3.5" da 2.88 MB (un flop di per se) ed il supporto contemporaneo fino ad 8 HD, oltre a nuove utility di gestione come l'undelete e l'unformat. Proprio alcuni bug relativi alle funzionalità riguardanti la gestione dei file portano al rilascio dell' MS-DOS 5.0a, l' 11 novembre 1991. Anche IBM rilascia, in proprio, una serie patch per il PC-DOS 5.0 che oltre a correggere tali problemi pongono rimedio ad altri 50bug. Sempre nel 1991 Digital Research rilascia il DR-DOS 6.0. Si tratta, come da tradizione DR, di un DOS particolarmente innovativo che ingloba il programma di compressione del disco SuperStor/DS, una serie di API per l'utilizzo avanzato dei processori i386 e un sistema della gestione delle applicazioni in multitasking (addirittura pre-emptive sugli i386 o successivi) denominato TaskMax. DR-DOS 6.0 è sicuramente il DOS più evoluto presente sul mercato, tanto da attirare le attenzioni di Novell che decide di acquistare l'intera software house ed iniziare a commercializzare il sistema sotto il proprio marchio. L'evoluzione successiva tocca ad IBM con il PC-DOS 5.00.1, 28 aprile 1992, che oltre a raccogliere tutti i fix precedenti, rappresenta una piccola rivoluzione per Big Blue, supportando per per la prima volta in modo ufficiale hardware non proprietario. Alcuni mesi dopo (20 ottobre 1992) è la volta del PC-DOS 5.02, che aggiunge il supporto APM (Advanced Power Management) per i notebook ed i comandi INTERLINK e INTERSVR che permettono il trasferimento diretto di file tra sistemi attraverso un cavo seriale o parallelo. Il 30 Marzo 1993 Microsoft tenta l'allungo sui concorrenti introducendo l'MS-DOS 6.0 che porta in bundle il software di compressione del disco DoubleSpace, un Antivirus minimale, un sistema di Backup dei dati e Memmaker per l'ottimizzazione automatica dell'uso della memoria. MS-DOS 6 è il complemento ideale per Windows 3.1x. IBM risponde pochi mesi dopo (19 Giugno del 1993) con il PC-DOS 6.1, saltando la release 6.0 per non confonderla con quella Microsoft. Il nuovo prodotto ingloba una serie impressionante di utility: compressione del disco (su licenza di Stac Electronics), IBM Antivirus, Full-screen backup, Nuovo editor full-screen (denominato "E"), RAMBoost per l'ottimizzazione della memroai e un Software di pianificazione. Il nuovo DOS introduce il supporto ai Pen Device e allo standard PCMCIA (PC Card). Nel Novembre del 1993 Microsoft presenta l'MS-DOS 6.2 (nome in codice Elroy), il cui rilascio è principalmente motivato dalla necessità di correggere alcuni bug di DoubleSpace, che provocavano la perdita/corruzione dei dati. Il tutto si traduce nell'aggiornamento di SCANDISK, DISKCOPY, e SmartDrive (cache del disco). A solo un mese di distanza e dopo molti rinvii Novell presenta il Novell DOS 7 (alias DR-DOS 7.0). Questa release però, non ripropone l'apprezzata qualità delle precedenti release targate Digital R, rilevandosi un totale disastro essendo poco stabile e pieno di bug. L'insuccesso pesa talmente tanto che Novell cede l'intero ramo riconducibile ai prodotti DR a Caldera, inizio dell'inesorabile tramonto della gloriosa società di Kildall. Più che per scelta l'evoluzione in casa Microsoft continua per far fronte all'ingiunzione avviata da Stac Electronics basata sul fatto che DoubleSpace altro non è che un clone del proprio Stacker. Ciò porta al rilascio dell' MS-DOS 6.21, senza tool di compressione del disco, ed infine, nel 1994 alla release MS-DOS 6.22 con il nuovo tool DriveSpace. Con la versione 6.22 si conclude lo sviluppo stand-alone del DOS targato Microsoft, ormai concentrata sullo sviluppo di Windows 95. Verranno comunque rilasciate altre tre release 7.0, 7.1 e 8.0, inglobate nelle varie versioni di Windows 9x/ME. IBM continua lo sviluppo del proprio DOS con il rilascio del PC-DOS 6.3, avvenuto il 27 aprile 1994, che migliora notevolmente le varie utility in bundle (ad eccezione del pessimo SuperStor/DS) e include il programma MSCDEX oltre al supporto per le unità CD-ROM. Nonostante il declino del DOS fosse ormai chiaro IBM rilascia sul finire del 1994 il PC DOS 7.0, per supportare tutti gli utenti ancora legati ai vecchi applicativi. Finalmente viene abbandonato SuperStor/DS in favore di Stacker. Dopo ben 4 anni arriva il PC-DOS 2000 (7.0 revision 1) un 7.0 aggiornato per risolvere i problemi del famoso MILLENNIUM BUG e supportare il simbolo dell'Euro. In realtà era già stata rilasciata una release 7.1 definita come kernel-only release poiché aggiornava solo i file di sistema principale.
Di fatti, comunque, la versione 2000 è stata l'ultimo DOS, di qualsiasi produttore, pubblicato in edizione retail.
I Problemi LegaliIl successo dell'MS/PC-DOS fu tale da portare SCP a citare Microsoft in giudizio, contestandole il fatto di aver nascosto i rapporti con IBM al fine di acquistare l'86-DOS a buon mercato. La causa si concluse con un risarcimento di circa 1 milione di dollari che Microsoft dovette versare ad SCP. Ma i problemi legali relativi del DOS sono erano solo all'inizio. Infatti Digital Research, dopo aver analizzato a fondo il PC-DOS, evidenziò che si trattava praticamente di una copia del suo CP/M e decise, di conseguenza, di citare IBM e Microsoft in giudizio. Le leggi in materia non erano però ben chiare ed il tutto si risolse con un accordo tra IBM e DR che consentiva a quest'ultimo di fornire una versione di CP/M per PC (CP/M-86) in alternativa al PC-DOS. Le controversie continuarono dal punto di vista mediatico, anche attraverso aneddoti particolari: Jerry Pournelle (scrittore Americano di fantascienza) affermò che Kildall (fondatore di DR) era stato in grado di dimostrargli che, digitando un particolare comando dal prompt dei comandi DOS, compariva il proprio nome (Gery). Ciò, secondo Kildall, dimostrava che il DOS conteneva codice CP/M. Pournelle comunque non ha mai voluto rilevare quale fosse questo comando non permettendo, quindi, di comprovare le proprie affermazioni. In realtà la storia di questo comando speciale è divenuto una sorta di leggenda tanto da ritrovarla anche in They Made America che, tra gli altri, parla proprio del fondatore di Digital Research. Paterson ha sempre affermato che il DOS è risultato esclusivo del proprio lavoro ed ha intentato causa contro gli autori del testo, senza ottenere però alcun risarcimento. Infatti i giudici sentenziarono che quanto affermato nel libro dagli autori era solo frutto dell'interpretazione delle loro ricerche.
DOS inglobato in Windows 9x/MeWindows 95, 98, Me sono tutti basati su un sottosistema MS-DOS, migliorato ed aggiornato per rispondere adeguatamente alle nuove funzionalità introdotte dall'OS grafico. Il DOS incluso in Windows 95 (internamente codificato come MS-DOS 7.0) include il supporto per nomi di file lunghi attraverso VFat. L'MS-DOS 7,1 incluso in Windows 95B (OEM Service Release 2), Windows 98 e Windows 98SE (Second Edition), aggiunge il supporto per il file system FAT32. Windows Me, infine, include l'MS-DOS 8.0, che ingloba la correzione di alcuni bug per il supporto alle unità di grandi dimensioni. |
DOS

.jpg)
.jpg)







