I Sistemi Operativi

Sito culturale

MS-DOS

MS-DOS (1980-2001) è il sistema operativo, prodotto da Microsoft, che fu abbinato al primo PC IBM.

Il nome deriva dalle iniziali MS (Microsoft Software), e dall'acronimo DOS ovvero Disk Operating System.

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 andò in fumo poiché Kildall rifiutò di firmare l'accordo di non divulgazione del codice. 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.

L'MS-DOS è vissuto come prodotto a sé stante fino all'arrivo di Windows 95 che integrava per ragioni di compatibilità l'MS-DOS. Comunque da Windows 95 in poi l'MS-DOS non è stato più il sistema operativo principale dei computer IBM compatibili e attualmente sopravvive solamente per mantenere la compatibilità con le datate applicazioni che lo utilizzano.

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 utente, 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. 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: 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.

Lista di comandi di MS-DOS

  • 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)
  • cmd - lett. command DOS, apre la schermata per i comandi da DOS
  • color - permette di impostare il colore dello sfondo e del testo
  • command - avvia un nuovo interprete dei comandi MS-DOS
  • comp - confronta il con
  • 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
  • dir *.* >lista.txt - crea in DOS un elenco dei nomi-file presenti nella directory
  • discopy - copia il contenuto di un disco floppy in un altro disco floppy
  • diskcomp - confronta il contenuto di due dischetti dello stesso tipo
  • diskmgmt.msc - indica la lettera assegnata a un'unità di rete. Può essere modificata con una lettera libera perché il PC rilevi la periferica
  • doskey - ripete gli ultimi comandi digitati
  • 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 piu file specificati
  • exe2bin - converte in formato binario un file eseguibile
  • exit - provoca l'uscita da un interprete di comandi secondario per ritornare ad 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 piu 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
  • if - condiziona l'esecuzione di un comando in un file batch
  • ipconfig - visualizza la configurazione IP di Windows. ATTENZIONE per maggiori informazioni digitare ipconfig/all
  • 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
  • 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
  • print - stampa un file di testo
  • prompt - cambia il prompt dei comandi di MS-DOS
  • rd - cancella una directory
  • recover - recupera un file o un intero disco con settori danneggiati
  • 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
  • shutdown - arresta o riavvia il sistema
  • sort - ordina i dati alfabeticamente, in un senso o nell'altro
  • 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
  • title - permette di impostare il titolo della finestra
  • 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
  • win - esegue Windows
  • xcopy - copia i file e la struttura delle directory (ad esclusione dei file nascosti e di sistema)
  • /a - mostra l'output nella schermata DOS
  • /a > <prova.txt> - salva l'output in un file di testo "prova" nella directory corrente
  • /s - esegue il comando anche nei file presenti in tutte le subdirectory.