===== MS-DOS ===== Da DVG - Il Dizionario dei Videogiochi \\ **MS-DOS** è il sistema operativo, prodotto da [[Microsoft]], che fu abbinato al primo [[PC]] [[IBM]]. Il nome deriva dalle iniziali della [[Microsoft]], cioè MS, e dall'acronimo DOS ovvero Disk Operating System. {{gennaio08:dos_logo2.png|}} =====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 [[gates, bill|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 compatibile|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. 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. =====Versioni dell'MS-DOS===== * PC-DOS 1.0 - Agosto 1981 per il primo [[PC]] [[IBM]] * PC-DOS 1.05 versione interna alla [[IBM]] - mai rilasciata * PC-DOS 1.10 - Giugno 1982 corretti alcuni [[bug]], supporto per [[floppy]] a doppia faccia * MS-DOS 1.24 - Giugno 1982 come il PC-DOS 1.10 * MS-DOS 1.25 - Luglio 1982 prima release non [[IBM]]: la storia dell'MS-DOS propriamente detto inizia da qui * PC-DOS 2.0 - Marzo 1983 per il primo PC XT: introdotte le subdirectory, il supporto agli [[hard disk]], ai device driver installabili di terze parti, redirezione dell'I/O, la gestione dei file tramite handle * PC-DOS 1.85 - Aprile 1983 versione interna alla [[IBM]], una diversa evoluzione della 1.1 * MS-DOS 2.01 - Maggio 1983 Supporto iniziale per l'internazionalizzazione (comando COUNTRY) * PC-DOS 2.10 - Ottobre 1983 versione per PCjr, corretti alcuni [[bug]]. Nessun supporto all'internazionalizzazione * MS-DOS 2.11 - Dicembre 1983 una via di mezzo tra il 2.01 e il 2.10 * MS-DOS 2.12 - 1983 versione speciale per TI pro * PC-DOS 3.0 - Agosto 1984 per l'uscita del PC AT: nuove chiamate di sistema, nuovi [[programmi]] utility, supporto per la FAT a 16 [[bit]], i [[floppy]] da 1,2 [[MB]] e per le reti locali [[IBM]] * MS-DOS 3.05 - Novembre 1984 Primo rilascio non [[IBM]] della versione 3 * PC-DOS 3.10 - Novembre 1984 corretti alcuni [[bug]] e migliorato il supporto alle reti locali * MS-DOS 3.25 - Ottobre 1985 esteso il supporto alle lingue straniere * PC-DOS 3.20 - Gennaio 1986 supporto per i [[floppy]] da 720[[KB]] e per i laptop (IBM PC Convertible), XCOPY. Rilasciate varie versioni nazionalizzate * MS-DOS 4.0 - Aprile 1986 lanciato solo in Europa: introdotto il multitasking. Molto instabile e pieno di [[bug]], viene ritirato dal mercato poco tempo dopo * PC-DOS 3.3 - Aprile 1987 per la serie PS/2: altre nuove chiamate di sistema, supporto per [[floppy]] da 1.44, per le partizioni DOS multiple, per l'orologio CMOS degli AT, per la commutazione della pagina codici. Migliorato il supporto alle lingue internazionali * MS-DOS 3.31 - Novembre 1987 supporto per partizioni maggiori di 32[[MB]]. Versioni diverse da parte di vari OEM * PC-DOS 3.40 - 1988 versione interna alla [[IBM]], non rilasciata * MS-DOS 2.11R - 1988 versione bootabile da ROM per i PC Tandy * PC-DOS 4.0 - Agosto 1988 Limite di dimensione di 32[[MB]] per le partizioni degli [[hard disk]] ufficialmente superato: aggiunte altre chiamate di sistema, limitato supporto alla memoria EMS, supporto di rete migliorato per alcuni comandi esterni. Abbandonato il PCjr * MS-DOS 4.01 - Dicembre 1988 corregge molti [[bug]] della catastrofica 4.0 [[Microsoft]] ma è ancora instabile * MS-DOS 3.21R.85 - Settembre 1989 ROM DOS, supporta il Flash file system per i portatili * MS-DOS 3.3R - 1990 ROM DOS, versione per i portatili TI * MS-DOS 5.0 - Giugno 1991 Introdotto l'uso della memoria alta, possibilità di usare fino a 8 [[hard disk]], supporto ai [[floppy]] da 2,88[[MB]]. Versione decisamente più stabile e robusta delle precedenti * PC-DOS 5.02 - Agosto 1990? per alcune macchine particolari [[IBM]] * MS-DOS V - Febbraio 1993 versione per il mercato giapponese, con supporto per i caratteri Kanji a 16 [[bit]] * MS-DOS 6.0 - Marzo 1993 Compressione del disco on the fly (Doublespace), configurazioni multiple in AUTOEXEC.BAT e CONFIG.SYS * PC-DOS 6.0 - Agosto 1993 * MS-DOS 6.20 - Settembre 1993 Doublespace riscritto, per perdite di dati che occasionalmente causava * MS-DOS 6.21 - Febbraio 1994 Doublespace rimosso, dopo che la Stac Electronics aveva vinto la causa per violazione di copyright * MS-DOS 6.22 - Maggio 1994 Nuovo [[software]] di compressione del disco (Drivespace). Ultima versione di DOS standalone * PC-DOS 6.30 - 1994 * MS-DOS 7.0 - Agosto 1995 incorporata in [[Windows]] 95 * MS-DOS 7.10 - Agosto 1996 incorporata in [[Windows]] 95b OSR2 =====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. * [[Cloni]] commerciali: * MultiUserDOS-7 Gold * DR Multiuser-DOS * SuperDOS * [[Cloni]]: * DR-DOS * [[Cloni]] gratuiti: * OpenDOS * DOS-C * TR-DOS * [[Cloni]] open source * FreeDOS * FreeGEM DOS \\ |{{gennaio08:freegema.png|}}| | //Screenshot di FreeGEM// | \\ =====Glossario===== //__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** - entra in una directory * **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 un file o gruppo di file con altri * **copy** - copia uno o più file in un altro punto del disco * **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 * **discopy** - copia il contenuto di un disco [[floppy]] in un altro disco [[floppy]] * **diskcomp** - confronta il contenuto di due [[dischetti]] dello stesso tipo * **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 interattivo 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 * **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|computers]] 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 bloccaggio 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) \\ |{{gennaio08:wxpmsds5.gif|}}| | //Ecco come appare una tipica schermata di MS-DOS.// |