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.
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 tuttaltro.
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 lidentificazione
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 nellapposito
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 limmissione 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 nellambito 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 lazione
del comando. Se si omette, il DOS opera sul drive che appare nel
prompt. I due punti fanno parte integrante della sintassi
path è lindirizzamento 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 leffetto 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, allinterno 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, lultima è 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 lesecuzione di un comando, è
necessario premere il tasto CTRL e la lettera C
contemporaneamente. Il comando non può riprendere lesecuzione;
se si vuole solo sospendere lesecuzione di un comando, è
necessario premere il tasto CTRL e la lettera S
contemporaneamente. Premendo un qualsiasi altro tasto, il comando
riprende lesecuzione.
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 leffetto 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 lopzione
/?, 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 lopzione /?) è
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.