O per meglio dire è un sistema operativo commerciale della Microsoft Corporation dedicato ai personal computer con microprocessore x86.
Ne esistono numerose versioni elaborate dal giugno 1982 (versione 1.24) al settembre 2000 (versione 8.0).
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. Il mercato sviluppò, sfruttando una peculiarità del meccanismo di esecuzione dei programmi di DOS, i cosiddetti TSR : programmi che una volta caricati, restituivano il controllo alla shell senza però liberare la memoria allocata e, sovente, assumendo il controllo della tastiera o di un altro dispositivo, in modo da poter essere in qualche modo invocati dall'utente. Ciò consentiva una sia pur elementare simulazione di multitasking, anche se la pratica dimostrò che due o più TSR entravano spesso in conflitto o causavano instabilità al sistema. I principali limiti di DOS sono stati la limitazione a 640KB di RAM, la mancanza di supporto per la rientranza, l'architettura esclusivamente a 16 bit e il fatto che ogni processo una volta avviato avesse il controllo totale del sistema. Tali limitazioni erano dovute a scelte progettuali, basate sulle limitazioni del primo PC IBM; essendo strutturali, questi limiti non furono in seguito superabili. 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. Tuttavia non si trattava di modifiche strutturali al SO: 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 IBMBIO 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.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
Ecco la lista dei comandi dos:
.bat - avvia i file tipo BAT. Per avviare un file BAT scrivere: nome del file.bat
.com - avvia i file tipo COM. Per avviare un file COM scrivere: nome del file oppure nome del file.com
.exe - avvia i file tipo EXE. Per avviare un file EXE scrivere: nome del file.exe
assign - reindirizza tutte le richieste a un drive, verso un altro drive
attrib - visualizza o modifica gli attributi dei file
backup - crea una copia di sicurezza di uno o più file su una serie di floppy-disk
break - abilita o disabilita l'interruzione o l'esecuzione fornita da CTRL C e CTRL BREAK
cd - lett. change directory, entra in una directory. Sintassi: "cd\" per entrare in C, e "cd<spazio>percorso directory" per entrare in altra cartella.
chdir - cambia la directory corrente o ne visualizza il nome
chkdsk - analizza il contenuto del disco e visualizza una relazione sul suo stato
cls - cancella il contenuto della schermata (questo comando non è distruttivo)
color - permette di impostare il colore dello sfondo e del testo
command - avvia un nuovo interprete dei comandi MS-DOS
comp - confronta il contenuto di due o più file e ne mostra le differenze
copy - copia uno o più file in un'altra posizione
ctty - cambia la console di input/output da cui vengono impostati i comandi
date - visualizza e permette di aggiornare la data
defrag - riorganizza i file in un disco rigido per ottimizzarne l'uso
del - cancella uno o più file
deltree - elimina una directory e tutti i file e le sottodirectory in essa contenute.
dir - visualizza il contenuto di una directory
diskcopy - copia il contenuto di un disco floppy in un altro disco floppy
diskcomp - confronta il contenuto di due dischetti dello stesso tipo
echo - abilita o disabilita l'eco da file batch
edit - avvia MS-DOS Editor per creare o modificare i file ASCII
edlin - avvia un editor di righe di testo. Per magg. informazioni (Prompt comandi e edlin/?)
emm386 - abilita o disabilita la memoria espansa di EMM386
erase - cancella uno o più file specificati
exe2bin - converte in formato binario un file eseguibile
exit - provoca l'uscita da un interprete di comandi secondario per ritornare a un interprete di comandi o ad un programma precedenti
expand - decomprime uno o più file compressi
fastopen - accelera l'apertura di un programma
fc - confronta il contenuto di due file
fdisk - configura un disco rigido creando le partizioni, per l'utilizzo di MS-DOS
find - ricerca una sequenza di caratteri all'interno di uno o più file
for - permette di eseguire in modo iterativo comandi di MS-DOS
format - formatta un disco per l'utilizzo di MS-DOS
goto - trasferisce l'esecuzione ad una determinata posizione di un file batch
graftabl - carica in memoria i caratteri ASCII non BIOS per i modi grafici
help - visualizza la guida di MS-DOS. ATTENZIONE: la guida è troppo lunga per essere visualizzata in una sola schermata, quindi per visualizzarla schermata per schermata digitare help|more (il simbolo "|" è il tasto alla sinistra tasto uno (1) altrimenti alt+124 = "|" e scrivere more
hexdump - lista in formato esadecimale il contenuto di un file, byte per byte
hostname - nome dell'host dal quale si lancia il comando
if - condiziona l'esecuzione di un comando in un file batch
if not - esegue un comando se la condizione stabilita non è rispettata
ipconfig - visualizza ip attuale del computer
join - unisce un drive di disk ad una directory vuota su di un altro drive
keyb - configura la tastiera per la lingua specificata
label - crea, modifica o elimina l'etichetta di volume di un disco
md - crea una directory (si può utilizzare anche il comando mkdir, abbreviazione di "make directory")
mem - visualizza la quantità della memoria usata e quella libera del sistema
mode - stabilisce le modalità di visualizzazione e trasmissione per la stampante
more - permette la visualizzazione di informazioni, (files, pagine, o altri tipi di dati) che per la loro grandezza (insieme di righe) devono essere visualizzate con più schermate alla volta. ATTENZIONE: è necessario che "more" sia preceduto dal simbolo "|" ALT+124. Ex. help|more. Prestare ulteriore ATTENZIONE: in alcuni computer o Sistemi operativi anteriori al MS-DOS 6.0 non riconoscono il simbolo "|" è, perciò, necessario digitare il simbolo "/" seguito da una p. Ex. help/p
net user - con questo comando si può creare un account, cancellarlo, cambiargli la password. Alcuni comandi sono molti comuni, come:
net user nome_utente password /add con questo comando si aggiunge un account
net user nome_utente password con questo comando si cambia la password dell'utente specificato
net user nome utente * come prima citato, si cambia password
net user /delete nome utente con questo comando si cancella l'utente specificato
net share - permette ad un computer di condividere dei file in rete
net start - apre un servizio
net stop - chiude un servizio
path - visualizza o imposta un percorso di ricerca per file eseguibili
pause - provoca una pausa nell'esecuzione di un file batch per consentire un input da operatore
ping + www.sito.it - ti dice se sono connessi computer remoti ad un sito
print - stampa un file di testo
prompt - cambia il prompt dei comandi di MS-DOS
rasdial - seguito da /disconnect disconnette l'ADSL
rd - cancella una directory
recover - recupera un file o un intero disco con settori danneggiati
reg add - aggiunge chiave di registro
reg delete - elimina chiave di registro
rem - visualizza commenti durante l'esecuzione di un file batch
ren - rinomina uno o più file
replace - sostituisce i file
restore - ripristina dai dischi di back-up un certo numero di file
rmdir - rimuove una sottodirectory vuota
select - copia il dischetto MS-DOS per creare una copia di lavoro per la nazionalità selezionata della tastiera
set - assegna un valore di sostituzione ad un parametro con chiave presente in un programma applicativo o in un file batch
share - installa la condivisione ed il bloccaggo dei file MS-NET
shift - aumenta il numero di parametri sostituibili in un file batch
systeminfo - visualizza molte informazioni utili riguardanti le connessioni e altro
shutdown - arresta o riavvia il sistema
sort - ordina i dati alfabeticamente, in un senso o nell'altro
/stext - manda le informazioni di alcuni tipi di file eseguibili a file di testo
subst - associa un percorso ad una lettera di unità
sys - copia i file di sistema di MS-DOS e l'interprete dei comandi sul disco specificato
time - visualizza e consente di modificare l'ora
tracert - consente di tracciare il percorso sulla rete compiuto verso un sito/IP
tree - visualizza tutte le directory ed i percorsi del drive specificato
type - visualizza il contenuto di un file di testo
undelete - ripristina i file cancellati precedentemente con il comando del
unformat - ripristina i dati di un disco cancellati con il comando format
ver - visualizza la versione di MS-DOS in uso
verify - abilita la verifica dei dati in scrittura
vol - visualizza l'etichetta e il numero di serie di volume del disco
xcopy - copia i file e la struttura delle directory (ad esclusione dei file nascosti e di sistema)
@ - se messo all'inizio di una linea nasconde i dettagli durante la loro esecuzione
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.
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.