Il sistema operativo MS DOS


MS-DOS è il sistema operativo, prodotto da Microsoft, che fu abbinato al primo PC della IBM.

Il nome deriva dalle iniziali della Microsoft, cioè MS, e dall'acronimo DOS ovvero Disk Operating System.

Interfaccia utente
L'interfaccia standard di MS-DOS, un'interfaccia a linea di comando, era una shell (chiamata command), come su tutti i sistemi dell'epoca. In seguito divennero disponibili altre interfacce, 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.

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 suoi due grandi limiti che ne impedirono lo sviluppo successivo erano l'incapacità di gestire più di 640 KB di memoria RAM e la sua natura non rientrante, che gli impedirono di evolversi e sfruttare le maggiori capacità dei nuovi processori che via via si resero disponibili. Purtroppo queste limitazioni erano dovute a scelte di progetto fondamentali, che seppure giustificate inizialmente dalle limitazioni del primo PC IBM, poi non fu più possibile superare. 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: ma 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 IBMIO 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. IBMDOS caricava a sua volta il COMMAND.COM, la shell interprete dei comandi.

Storia dell'MS-DOS
Verso l'ottobre del 1980 la IBM stava cercando un sistema operativo per il suo nuovo prodotto, il PC IBM prossimo al lancio. Inizialmente si rivolse alla Digital Research di Gary Kildall, l'autore del CP/M che allora era lo standard per i microcomputer; ma l'affare, per ragioni mai del tutto chiarite, andò in fumo. Continuando la ricerca, bussarono anche alla porta della 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 86-DOS per i microcomputer che stava producendo, basati sull'8086 e sul bus S-100. Dopo una veloce revisione dei sorgenti, che consistevano in circa 4000 linee di codice assembler, 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 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. Le versioni successive furono licenziate separatamente o da Microsoft (che le marcava come MS-DOS) o da IBM (con il nome di PC-DOS e in genere in coincidenza con l'uscita sul mercato di una nuova linea di personal computer).
Inizialmente non era obbligatorio comperare una copia di MS-DOS insieme ai PC IBM, ma si poteva scegliere fra tre sistemi operativi: il CP/M, l'UCSD p-System e l'MS-DOS. Tuttavia il prezzo del CP/M era di 495 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.

Versioni dell'MS-DOS

Cloni dell'MS-DOS
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.


Esiste Dosbox, un Emulatore open source di MS-DOS


Lista dei comandi del MS-DOS


Principali sistemi operativi

BSD: FreeBSD - NetBSD - OpenBSD - DragonFly BSD - PC-BSD
GNU/Linux (Lista): Debian - Fedora - Gentoo - Mandriva - Red Hat Linux - Slackware - SUSE - Ubuntu
Mac OS: System 5 - 6 - 7 - 8 - 9 - Mac OS X -.0 -.1 -.2 -.3 -.4 -.5 - Server
MS-DOS - Microsoft Windows: 1.0 - 2 - 3.x - 95 - 98 - Me - NT - 3.5x - 4.0 - 2000 - XP - 2003 - Vista
Altri: AmigaOS - BeOS - Inferno - LynxOS - Haiku OS - OS/2 - QNX - Solaris - Unix - MVS - I5/OS - Plan 9 - ReactOS - VMS - Zeta - FreeDOS


La struttura dei comandi
I comandi del DOS hanno una rigorosa struttura, che possiamo chiamare sintassi, come regole di una vera e propria grammatica. Dare un comando con la sintassi errata può non avere alcun effetto, se ciò che abbiamo scritto non ha nessun senso per il DOS, oppure un effetto disastroso, se ciò che abbiamo scritto corrisponde a tutt’altro.
Alcuni comandi esistono sin da quando è nato il DOS, senza mutamenti, altri ancora sono stati introdotti man mano che venivano presentate le nuove versioni. Nessun comando è stato abolito, così che un programma elaborato ai tempi del DOS 2.1 possa funzionare ancora.
Ovviamente non è possibile il contrario, che un programma scritto utilizzando il DOS 5 possa funzionare con una versione molto più vecchia: non potrebbe trovare tutti quei comandi che non esistevano ancora quando è stata emessa quella versione.
Fra interni ed esterni, il DOS 5 possiede circa 90 comandi. Quelli presenti nella versione 2.1 erano poco più di 40.

Il prompt
Quando un computer è acceso e inattivo, sullo schermo possiamo vedere qualcosa del genere:
C:\>
o anche nella forma
C>
Oltre alla forma, anche la lettera può variare. Se invece di caricare il sistema presente sul disco rigido, avessimo acceso il computer con un floppy da 5,25 pollici o un dischetto da 3,5, avremmo una “A” oppure una “B” a seconda della configurazione del computer.
Questo simbolo si chiama prompt, e viene visualizzato sul monitor dal DOS per segnalare di essere in attesa di un comando. Come abbiamo appena visto, non solo il DOS ci dice di essere in attesa di un comando, ma anche su quale disco stiamo lavorando.
Nel corso di questo libro dimostreremo i comandi del DOS utilizzando entrambi i tipi di dischetti. Immaginiamo quindi di avere un computer che abbia come drive “A” quello da 5,25 e come drive “B” quello da 3,5 pollici. Nel vostro personal potreste anche avere un solo drive e l’identificazione potrebbe non coincidere. I comandi del DOS, comunque, avranno le stesse regole e lo stesso funzionamento.
Avendo
C>
sul monitor, immettiamo un dischetto da 3,5 nell’apposito drive. Digitiamo
C> B:
e premiamo il tasto “Invio”, chiamato anche “Return” o contrassegnato da una freccia che torna indietro. Il DOS comprende che vogliamo spostarci sul dischetto da 3,5 e ci risponde
B>
restando sempre in attesa di un comando. Inseriamo un floppy da 5,25 pollici nel suo drive e digitiamo
C> A:
ed il DOS risponde con
A>
Qualunque sia la lettera presente, il prompt indica sempre che il DOS sta aspettando l’immissione di un comando.
Questo se nel drive esiste veramente un dischetto, se è stato preparato per essere utilizzato, se non è difettoso ed infine se il drive funziona. Altrimenti otterremo un avviso di errore.
Abbiamo così indirizzato il DOS verso il dischetto nel drive A o verso il dischetto nel drive B. Qualunque altro comando noi andremo a digitare, il drive che figura nel prompt è quello sul quale il DOS opererà, sul quale il comando agirà, a meno di non specificare un drive diverso nell’ambito della sintassi prevista.

La sintassi
I comandi del DOS si dividono, come abbiamo visto, in
- interni, se contenuti nel file COMMAND.COM, e risiedono sempre in memoria;
- esterni, se rappresentati da piccoli file registrati su disco nella subdirectory \DOS, e vengono caricati in memoria solo quando devono essere eseguiti.
Entrambi hanno la stessa sintassi:
COMANDO [drive:] [path] [nomefile] [opzioni]

COMANDO è il nome specifico del comando
[ ] le parentesi quadre significano che la parte di comando compresa fra le parentesi non è obbligatoria
drive: è uno dei drive presenti, sul quale si deve svolgere l’azione del comando. Se si omette, il DOS opera sul drive che appare nel prompt. I due punti fanno parte integrante della sintassi
path è l’indirizzamento attraverso le subdirectory. Le “\”, barre inclinate a sinistra, fanno parte integrante della sintassi
nomefile è il nome del file oggetto del comando
opzioni parametri che modificano l’effetto del comando.

Regole generali:
dopo il nome del comando, e fra ogni elemento del comando, deve essere dato uno spazio vuoto, premendo la barra spaziatrice;
drive:, path e nomefile possono essere accorpati in un solo elemento, all’interno del quale non bisogna usare lo spazio vuoto;
la successione dei diversi elementi del comando non può essere modificata;
alla fine del comando deve essere sempre premuto il tasto “Invio”, contrassegnato anche come “Return” o con il disegno di una freccia che torna indietro;
i comandi devono essere dati uno per volta, non si possono sommare più comandi sulla stessa riga;
i comandi devono essere digitati prestando attenzione ai caratteri speciali come “\” (barra inclinata a sinistra), “/” (barra inclinata a destra), “|” (barra verticale), “>” (maggiore), “+” (più), “-” (meno), “:” (due punti), “;” (punto e virgola), “,” (virgola), “?” (punto interrogativo), “*” (asterisco) e “=” (uguale);
le indicazioni di drive:, path e nomefile possono essere ripetute, in alcuni comandi, più volte;
si possono indicare più opzioni per lo stesso comando, ma se rappresentano parametri che si annullano, l’ultima è quella che prevale;
nomi dei comandi, drive:, path ed opzioni possono essere digitati sia con lettere maiuscole che minuscole;
se, digitando un comando, si compie un errore di battitura, si può tornare indietro sulle lettere appena scritte con il tasto “Backspace”, chiamato anche “Ritorno unitario”, che si trova sulla tastiera in alto a sinistra e che è contrassegnato da una freccia verso sinistra. Ogni volta che si preme questo tasto, si cancella una lettera verso sinistra e, appena cancellata la parte errata, si può riprendere a scrivere il comando;
se si vuole bloccare l’esecuzione di un comando, è necessario premere il tasto “CTRL” e la lettera “C” contemporaneamente. Il comando non può riprendere l’esecuzione;
se si vuole solo sospendere l’esecuzione di un comando, è necessario premere il tasto “CTRL” e la lettera “S” contemporaneamente. Premendo un qualsiasi altro tasto, il comando riprende l’esecuzione.

Ora un minimo di convenzioni per poter rendere più leggibile questo libro.
Quando indichiamo un comando:
C> COPY C:\LETTERE\NOMEFILE B:\COPIE\LETTERE
deve essere digitata solo la parte in neretto, seguita da “Invio”. La prima parte della riga rappresenta il prompt del DOS, che potrebbe essere leggermente diverso sul vostro computer.
Come già detto, i comandi possono essere digitati sia in lettere maiuscole che minuscole.
Quando indichiamo la sintassi di un comando:
COMANDO [drive:] [path] [nomefile] [opzioni]
non devono essere digitate le parentesi quadre.

Un comando subito utile
Uno dei comandi introdotti con il DOS 5 è il seguente.
HELP
Mostra sul monitor una spiegazione di ciascun comando DOS, la sua sintassi ed il significato delle opzioni utilizzabili.
sintassi: HELP comando
il comando è uno qualsiasi dei comandi DOS.
Esempio:
C> HELP DIR
mostra il significato del comando “DIR”, la sua sintassi e le opzioni a disposizione.

Parlando della sintassi dei comandi DOS, abbiamo visto che sono presenti delle opzioni, cioè dei parametri che modificano l’effetto del comando al seguito del quale sono stati digitati.
Il DOS 5 ha introdotto una opzione valida per tutti i comandi.
Digitiamo
C> DIR /?
otteniamo lo stesso effetto del comando “HELP”: appare sul monitor una spiegazione del comando, la sua sintassi, ed il significato delle opzioni utilizzabili.
Questo parametro è a disposizione di qualunque comando DOS e deve essere usato da solo, senza alcuna indicazione di drive:, path, nomefile od altre opzioni.
Quando, nel corso di questo libro, indichiamo i parametri a disposizione di ciascun comando, non indicheremo mai l’opzione “/?”, ma è utile tenere presente che in caso di dubbio sulla esatta sintassi di un comando è sempre possibile utilizzarla.

Problemi di vocabolario
La presenza di un aiuto sempre disponibile su schermo (con il comando “HELP” o con l’opzione “/?”) è molto importante, e costituisce uno dei punti di forza del DOS 5.
Come avete già potuto constatare, tutti i comandi e le parole chiave del DOS sono in inglese. Non è possibile una traduzione nelle varie lingue, a meno di apportare un consistente mutamento al COMMAND.COM, con il rischio di creare tanti piccoli sistemi operativi, uno per ogni lingua, incompatibili fra loro. Il costo di poter avere a disposizione migliaia di programmi, a basso costo proprio perché venduti in migliaia di copie in tutto il mondo, è di dover convivere costantemente con un sistema operativo che parla una lingua straniera.
Con questa innovazione, i comandi restano sempre in inglese anche nella edizione italiana del DOS, ma almeno le schermate di spiegazione sono nella nostra lingua.


Indietro alla pagina dei Links

Indietro alla Home Page