Nel 1981 Bill Gates e la Microsoft cominciano il loro percorso verso il successo grazie all'MS-DOS: vendono alla IBM la licenza del QDOS della SCP e subito dopo acquisiscono il QDOS per 50.000 dollari, allo scopo di svilupparlo e darlo in licenza direttamente alla IBM per i neonati PC. Il travolgente successo, dettato principalmente dal prezzo bassissimo dell'accoppiata hardware / software e dai notevoli sforzi finanziari e propagandistici della IBM per promuovere lo sviluppo di software sulla piattaforma, è continuato fino all'uscita di Windows 95, sebbene il suo sviluppo sia stato ufficialmente interrotto nel 2000 all'uscita di Windows ME. Questo successo rende senz'altro l'MS-DOS un protagonista del periodo tra gli anni 80 e 90 in cui il computer entra con prepotenza nelle attività produttive e commerciali e, gradualmente, nelle case.
Il nome è presto spiegato: QDOS sta per Quick & Dirty Operative System - togliete il veloce ed aggiungete la ditta della farfalla ed avrete l'MS-DOS. Il sistema fu venduto nel tempo anche con altri nomi, dipendenti dal licenzatario, in genere collegato alla ditta produttrice del computer acquistato: PC-DOS della IBM, Compaq DOS...
L'interfaccia era essenzialmente testuale: un freddo prompt che accetta comandi da tastiera per lanciare programmi o eseguire funzioni di controllo sull'esecuzione, emulando le funzioni più basilari delle interfacce Unix e CP/M. Dal punto di vista del sistema operativo, le funzionalità offerte erano molto semplici e derivavano principalmente da quelle del CP/M:
- un livello d'astrazione dell'hardware praticamente inesistente (tutte le periferiche dovevano avere specifici device driver scritti a bassissimo livello - praticamente in codice macchina - spesso diversificati per ogni applicazione);
- nomi riservati e non personalizzabili per l'accesso ad alcune periferiche basilari come le porte seriali (COM1, COM2...) e quelle parallele (LPT1...);
- una nomenclatura unificata a singola lettera per le periferiche disco, con A e B riservate per le unità floppy e C per la partizione primaria del primo disco rigido;
- un sistema di immagazzinamento dati basato su FAT, ovvero una struttura gerarchica di file (documenti, nella moderna nomenclatura Windows) organizzati in directory (cartelle);
- servizi software forniti alle applicazioni tramite l'uso di interrupt, con limiti notevoli di efficienza e potenza anche in relazione all'hardware disponibile all'epoca: molte applicazioni ignoravano del tutto questi servizi ed utilizzavano direttamente servizi proprietari forti del rapporto diretto coll'hardware permesso dal DOS (cosa possibile grazie alla quasi totale assenza di uno schema di protezione per l'hardware).
Nelle versioni che si sono succedute (di cui una, la 4.0, disastrosa, realizzata direttamente dalla IBM e non dalla Microsoft, impegnata nel realizzare OS/2), l'MS-DOS si è naturalmente evoluto, ma soprattutto negli accessori forniti, mantenendo quasi intatte le caratteristiche di fondo già dette: nel tempo si è aggiunta la DOS Shell (un'inguardabile interfaccia grafica per l'accesso al file system - niente a che vedere con software dedicati disponibili all'epoca), il QBasic, il DoubleSpace (che in tempi in cui gli harddisk avevano costi proibitivi, rispondeva all'esigenza di mantenere i dati su disco compressi ma in modo trasparente per le applicazioni).
Le versioni più importanti sono state sicuramente la 5.0 e la 6.2: la prima ha introdotto il QBasic, lo splendido editor di testo a tutto schermo EDIT.COM, l'help in linea, una gestione avanzata della memoria (EMS e XMS); la seconda e' la versione più stabile che ha introdotto, tra le altre cose, il già citato DoubleSpace (copiato illegalmente da un software molto in voga chiamato Stacker) e la gestione di una cache in memoria per l'accesso veloce ai dati su disco (SmartDrive).
I comandi più comuni avevano un uso abbastanza elementare ed erano rappresentati da parole piuttosto corte, in relazione proprio al loro uso:
- cd: per spostarsi da una directory ad un'altra;
- copy: per copiare un file tra due unità disco o tra due cartelle;
- del: per cancellare un file;
- md/rd: per creare o cancellare una directory;
- dir: per mostrare l'elenco dei file e directory in una directory;
- type/more: per mostrare il contenuto di un file di testo per intero o pagina per pagina;
- ren: per cambiare il nome di un file o di una directory;
- set: per impostare una variabile d'ambiente.
- 4DOS: un sostituto dell'interprete di comandi fornito COMMAND.COM con molte funzionalità aggiuntive che lo rendevano indispensabile già dopo un breve utilizzo;
- Norton Utilities e PC Tools (ma anche altri): strumenti per la gestione dei dischi e del file system a livelli molto più alti e molto più semplici da utilizzare dei comandi forniti dal DOS;
- QEMM: un avanzato gestore di memoria indispensabile nel periodo del "640kb should be enough for anyone, but me";
Rapportato a quello sui sistemi operativi odierni, lo sviluppo di applicazioni per MS-DOS era un puro inferno: solo i programmatori più eccentrici (di cui temo d'aver fatto parte per qualche anno) trovavano lati positivi nella totale assenza di API, di interfacce grafiche standard, di protezione della memoria e dell'hardware (che significa ad esempio un numero infinito di reset della macchina in fase di sviluppo), di mutitasking. Le uniche applicazioni che era possibile fare "in fretta" (relativa) erano quelle con interfaccia testuale, a meno di non legarsi ad una interfaccia grafica proprietaria che avrebbe fatto lievitare non di poco i costi ed in definitiva il prezzo per l'utente: ecco quindi che una percentuale altissima di applicazioni veniva realizzata con interfacce assolutamente scadenti rispetto ad altri sistemi operativi emergenti all'epoca (MacOS, SGI...), che hanno da un lato di fatto castrato le possibilità della piattaforma in alcuni ambiti professionali e dall'altro hanno determinato schemi d'interfaccia vecchi già in partenza e che condizionano ancora le applicazioni di oggi. Una eccezione di rilievo va segnalata per quanto riguarda i videogiochi: la possibilità di contatto diretto con l'hardware e la pressocché totale disponibilità delle risorse hardware presenti (l'impatto dell'MS-DOS su memoria e CPU erano trascurabili rispetto ad altri sistemi operativi dell'epoca) erano ottimi punti a favore per quel particolare settore, penalizzato d'altro canto dalla necessità di supportare specificatamente ogni periferica hardware in circolazione per offrire il massimo agli acquirenti (particolarmente doloroso ad esempio il supporto delle schede audio ed in un secondo tempo delle schede video).
Ricordo i tempi del DOS con una certa nostalgia: certo l'uso del computer è ormai completamente stravolto rispetto all'epoca, eppure la rigida sintassi e la difficoltà nell'uso, la scarsità e la difficile reperibilità delle applicazioni in circolazione, insieme a tanti altri fattori, rendevano a mio parere l'esperienza col personal computer più piena ed anche più didattica - è come se fossimo passati ad un utilizzo più passivo e meno esplorativo, meno curioso del mezzo e più interessato a raggiungere uno scopo in tempi brevi.
Un'ultima, doverosa, nota. Il DOS non è proprio morto: la Microsoft difficilmente manda in pensione del tutto le proprie creature, così ancora oggi la shell di Windows ricorda molto da vicino il DOS e Windows è in grado di eseguire applicazioni di 20 anni fa (almeno la maggior parte). Personalmente finché ho usato Windows a casa ho sempre mantenuto l'uso della versione DOS di F-Prot come antivirus (è freeware e aggiornata in continuazione), del client ftp e di quello telnet forniti da Microsoft stessa (anche se in realtà sono applicazioni Windows con interfaccia testuale) e ogni tanto di Volkov Commander (clone di Norton Commander) - per non parlare di alcuni strumenti un pò più avanzati come compilatori (java, c...) e software per il controllo di versione (cvs, svn...). E per chi ha un pò di nostalgia, è sempre possibile lanciare DOSBox e tuffarsi nei tempi andati... Oppure fare un giro in un archivio di software ancora sviluppato per DOS.
Ultimi commenti