57
Il Il sistema sistema operativo operativo più più semplice semplice : MS-DOS : MS-DOS Il PC ha bisogno di un programma che gli consenta di “comunicare” con l’utente per ricevere i comandi da eseguire e per presentare i risultati prodotti: questo è quanto è percepito dall’utente In realtà il S.O. deve essere in grado di gestire tutte le parti del PC e di renderle disponibili per eseguire gli altri programmi, deve anche essere in grado di lanciare un programma Il sistema operativo è, in generale, il software che si incarica di fare da “interprete” tra uomo e calcolatore MS-DOS è un sistema operativo per Personal Computer La sigla sta per Microsoft-Disk Operating System

Il sistema operativo più semplice : MS-DOS

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Il Il sistemasistema operativooperativo piùpiù semplicesemplice: MS-DOS: MS-DOS

� Il PC ha bisogno di un programma che gli consenta di“comunicare” con l’utente per ricevere i comandi daeseguire e per presentare i risultati prodotti: questo èquanto è percepito dall’utente

� In realtà il S.O. deve essere in grado di gestire tutte le partidel PC e di renderle disponibili per eseguire gli altriprogrammi, deve anche essere in grado di lanciare unprogramma

� Il sistema operativo è, in generale, il software che siincarica di fare da “interprete” tra uomo e calcolatore

� MS-DOS è un sistema operativo per Personal Computer� La sigla sta per Microsoft-Disk Operating System

MS-DOSMS-DOS

� Non esistono praticamente in commercio PC che installino DOS, peròWindows conserva la console (che si lancia con cmd.exe) che permettedi interagire direttamente con l’interprete dei comandi. Però esistonoSO che si basano fortemente sull’interazione con la console (Linux)

� Il DOS mette a disposizione dell’utente una serie di comandi� I comandi sono, in generale, introdotti usando la tastiera� Prima di poter eseguire un nuovo comando è necessario aspettare la

terminazione del precedente� Per segnalare all’utente che è pronto ad accettare un comando, il

sistema operativo presenta quello che viene chiamato PROMPT disistema

� Tutto ciò è utile a capire il fatto che i SO, e il software in genere è unsistema a cipolla

MS-DOSMS-DOS

�Ogni volta che il sistema è pronto ad accettare uncomando vi sarà il cursore lampeggianteprompt di sistema cursore lampeggiante

C: \DOS>_

MS-DOSMS-DOS� La sintassi generale di un comando DOS è:

COMANDO parametri [opzioni]� Non tutti i comandi hanno parametri ; ad esempio il

comando di cancellazione dello schermo CLS è senzaparametri

� Non tutti i comandi hanno delle opzioni; queste possonoanche essere omesse. Le parentesi [ ] (da non digitare nelcomando) racchiudono le opzioni

� L’interprete in genere è abbastanza robusto: es. seinseriamo un comando che non esiste ‘pippo’, ci sarà unmessaggio d’errore: “pippo” non è riconosciuto comecomando interno o esterno, un programma eseguibile oun file batch.

MS-DOSMS-DOS

�Osservazioni:

Un comando DOS viene eseguito, cioè è inviatoal PC, solo dopo aver battuto il tasto di INVIO(altrimenti detto ENTER o RETURN o ↵↵↵↵)

Il DOS non fa distinzione tra lettere maiuscole eminuscole (si dice che: non è case sensitive)

Dopo ogni comando DOS, prima dei parametri eopzioni, si deve lasciare almeno uno spazio(blank)

MS-DOSMS-DOS

� Il DOS offriva all’utente una interfaccia puramentetestuale (ossia a caratteri), Windows vi aggiunge unainterfaccia grafica (diciamo che tutte le funzionalità chesono disponibili a riga di comando, sono arricchite di unaGUI, che è maggiormente user friendly)

� Il DOS, oltre a mettere a disposizione una serie di comandi,“predispone” il PC affinché possano essere eseguiti anchealtri programmi non appartenenti al sistema operativostesso, ad es.� programmi commerciali� programmi creati dall’utente

I fileI file

� L’unità elementare di informazione che il calcolatore èin grado di comprendere è il bit (0|1)

�Tutti i dati vengono trasformati in sequenze ordinatedi bit

�Per memorizzare più sequenze di bit in un disco ènecessario che queste non si mescolino

� Le sequenze vengono raggruppate in appositi“contenitori” detti file

�Non tutti i file sono uguali� I file si dividono in due categorie:

� file di testo� file binari

I fileI file

� I file di testo sono quelli composti che possonoessere interpretati usando la codifica ASCII

� I file di testo possono essere letti e scritti con unqualunque editor (ad esempio EDIT di DOS)

� I file binari sono invece memorizzati con unacodifica che è diversa a seconda del programmache ha generato il file

� I file binari non possono essere né letti némodificati con un normale editor (non è vero, ma èmeglio non farlo)

I fileI file

� Il comando TYPE del DOS serve per visualizzare ilcontenuto di un file di testo

� Se si cerca di leggere un file binario come se fosse un filedi testo, le informazioni in esso contenute sarebberointerpretate come in codice ASCII pur non essendo tali

� Il risultato di tale operazione sarebbe impredicibile, inquanto apparirebbero caratteri strani senza alcunsignificato apparente (se uno è fortunato trova anche icaratteri che fanno partire l’altoparlante di sistema esente qualche bip)

I fileI file

� Ad ogni file viene associato un nome per distinguerlodagli altri

� In DOS ‘puro’ i nomi dei file possono essere lunghi da 1a 8 caratteri, seguiti da un punto e da una estenzione dial massimo 3 caratteri (il famoso 8+3)� i caratteri possono essere alfa-numerici più alcuni caratteri

“speciali”: £, $, %, &, _ , etc.� N.B. Non essendo il DOS case sensisitive è indifferente

specificare il nome del file scrivendolo in maiuscolo o inminuscolo

� In Windows non c’è spazio alla fantasia (si possonomettere anche gli spazi), ci sono solo alcuni caratteriproibiti: \/:*?<>| (per ragioni storiche)

I fileI file

�Per aumentare le possibilità di diversificare i nomi deifile, e soprattutto per indicare in modo omogeneo glistessi tipi di file, è possibile specificare una estensione

� In DOS l’estensione del file può essere lunga al più trecaratteri ed è separata dal nome dal carattere “.”

�Un file deve sempre avere un nome mentre può nonavere un’estensione

�EsempiPIPPO.TXTPLUTORADICE.C

I fileI file�Alcune estensioni tipiche:

.txt file di testo

.doc file del programma MS-Word

.c file di codice in linguaggio C

.xls file contenente una tabella del programma MS-Excel

� I file che possono essere mandati in esecuzione (ingergo “lanciati”) devono avere una di queste treestensioni (anche in Windows):.COM

.EXE

.BAT

I fileI file

� I file con estensione .BAT sono dei file di testocontenenti i nomi di comandi da eseguire insequenza, tali file sono detti file batch

� Invece di digitare tutte le volte la sequenza dicomandi da tastiera, si possono elencare i nomidei comandi da eseguire in un file batch e poisolo questo viene mandato in esecuzione (questolancia tutti gli altri nell’ordine indicato)

Le directoryLe directory�Per catalogare più

efficientemente leinformazioni, si possonoraggruppare i file in qualchemodo correlati tra loro

� I file possono essereraggruppati (collocati) in“ contenitori” chiamatidirectory (nell’analogia con loschedario sono i cassetti)

Directory

File

Le directoryLe directory� Una directory ha un nome (max 8 caratteri e un’estensione

opzionale - stesse regole viste per i file). In Windowsovviamente vale tutto quanto detto prima. E’ simpatico notareperò come lanciando un comando edit (p.e.) da una directorycon nome lungo, al ritorno si abbia il nome in formato ridottocon all’interno alcune tilde ~.

� Le directory possono a loro volta contenere altre directory(subdirectory):� la struttura gerarchica che si viene a creare ha la forma di un albero

rovesciato (che è come si rappresentano in informatica gli alberi)� la radice dell’albero (root), che in MS-DOS si indica con il simbolo \

(back slash), è una directory creata alla formattazione (preparazione)del disco

� La struttura delle directory e i file costituiscono quello cheviene chiamato file system

Le directoryLe directory�Teoricamente non esistono limiti per i livelli di

annidamento, ma in pratica il limite è imposto daidispositivi fisici (non è facilmente raggiungibile)

�Esempio di albero di directory e file (file system)\

APPUNTI

DATI.TXTFISICA

GIOCHI

SCACCHITENNIS

SUONO

MUSICA.WAV

PROVA.C

Le directoryLe directory

�Quando viene creata una nuova directory,automaticamente vengono generate due directoryspeciali:.. è un semplice riferimento alla directory padre

(cioè quella al livello immediatamente superiore)

. è un semplice riferimento alla directory stessa

�Osservazione: La directory .. non è definita perla directory radice

Il pathnameIl pathname

�Per poter identificare un file in un file systemnon è quindi sufficiente specificare solo il suonome e la sua estensione:bisogna anche indicare in quale directory sitrova

�Per specificare univocamente la directory dove sitrova il file bisogna indicare tutta la sequenza didirectory dalla radice del file system fino alladirectory contenente il file stesso

Il pathname Il pathname assolutoassoluto

� La sequenza di directory che parte dalla radicedel file system viene chiamata pathnameassoluto

�E’ possibile “percorrere” l’albero delle directory

� La directory dove ci si trova in un dato momentoè detta directory corrente (o di lavoro)

Il pathname Il pathname relativorelativo

�Un pathname è relativo quando invece di partiredalla radice del file system, si riferisce alladirectory corrente (il corrispondente pathnameassoluto viene calcolato dal sistema)

Il pathnameIl pathname

� In DOS i nomi delle directory che compongono unpathname sono separati gli uni dagli altri dalcarattere “\”. In Windows funziona sia \che /

� I pathname assoluti iniziano sempre con ilcarattere “\” (che identifica la radice del filesystem)

�Esempio (riferito alla struttura ad albero mostratain precedenza)Il file MUSICA.WAV viene specificato in modoassoluto così:

\GIOCHI\TENNIS\SUONO\MUSICA.WAV

Il pathnameIl pathname

�Esempi (riferito alla struttura ad albero mostrata inprecedenza)a) Si supponga che la directory corrente siaSCACCHI, il file MUSICA.WAV viene specificatoin modo relativo come:

..\TENNIS\SUONO\MUSICA.WAV

� la parte iniziale ..\ indica che dalla directory SCACCHIsi risale di un livello (la directory padre, qui è GIOCHI)

b) Si supponga che la directory corrente sia TENNIS,il file MUSICA.WAV viene specificatoin modo relativo come:

SUONO\MUSICA.WAV

Il pathnameIl pathname�Due file possono avere lo stesso nome purché

non siano contenuti nella stessa directory

�Due directory possono avere lo stesso nomepurché non abbiano la stessa directory padre

\

APPUNTI

DATI.TXTFISICA

GIOCHI

SCACCHITENNIS

SUONO

MUSICA.WAV

PROVA.C

MUSICA.WAV

UnitaUnita’ ’ logichelogiche

� Il DOS utilizza più file system: ad ogni unità logica (disco)corrisponde un file system

� Le unità logiche sono specificate con lettere (non importase maiuscole o minuscole) seguite dal carattere “:”� Il lettore di floppy ha associata la lettera A:

� il secondo lettore di floppy (probabilmente si può vedere abordo di qualche vecchia macchina), se presente, la lettera B:

� le altre unità logiche le lettere a partire dalla C: in avanti

� D: il secondo HD, o in sua mancanza il lettore CD|DVD

UnitaUnita’ ’ logichelogiche

�Quando si hanno più dischi, per identificareunivocamente un file è necessario indicare anchein quale disco si trova il file system

�EsempioSupponendo che il file system visto in precedenzasi trovi nel disco identificato dalla lettera C:,allora il file MUSICA.WAV viene specificato (qui inmodo assoluto) in questo modo:

C:\GIOCHI\TENNIS\SUONO\MUSICA.WAV

UnitaUnita’ ’ logichelogiche

� In realtà un singolo hard disk può contenere più di unfile system: il disco viene suddiviso (partizionato) in piùparti e ogni parte viene trattata come un discoindipendente

� A cosa serve partizionare?

� Per cambiare il disco corrente (ossia passare da unaunità logica ad un’altra) si digita al prompt la letteradell’unità che si desidera raggiungere seguita da “:”

� EsempioPer raggiungere il disco C basta digitare

C: (seguito da INVIO)

UnitaUnita’ ’ logichelogiche

� Il prompt standard indica l’unità correnteseguita dalla directory corrente; in questo modol’utente ha sempre l’indicazione della suaposizione nel file system

�EsempioC:\GIOCHI\SCACCHI>

�Nel caso venga specificata un’unità non esistenteil sistema operativo risponde con un messaggiodi errore segnalando che l’unità prescelta èinesistente e chiedendo una nuova unità valida

CaratteriCaratteri jolly jolly

� I caratteri jolly possono essere usati per indicare più filecontemporaneamente

� Sostituiscono delle parti di nome o di estensione comunia un gruppo di file� il carattere ‘*’ sostituisce una stringa (sequenza di caratteri) di

lunghezza qualunque (anche nulla) a partire dalla posizione incui è inserito

� il carattere ‘?’ sostituisce esattamente un carattere incorrispondenza della posizione in cui è inserito

� In Windows, nelle versioni più recenti (a partire da XP)c’è la completion automatica del comando

CaratteriCaratteri jolly jolly

�Si supponga di avere tre file:� conti.bat

� paghe.dat

� prezzi.dat

�Con il comando COPY si vogliono copiare tutti ifile che iniziano con la lettera P e con qualunqueestensione:

COPY P*.* destinazione

�Si vogliono copiare tutti i file che hanno nomequalunque ed estensione che termina con at

COPY *.?at destinazione

ComandoComando ATTRIB ATTRIB

� Nome comando:ATTRIB

� Funzione:permette di visualizzare e modificare gli attributi di uno o piùfile

� Sintassi:ATTRIB [+R|-R][+A|-A][+H|-H][+S|-S]

[unità][path]nomi_file

� Note:R= sola lettura; A= archivio;H= nascosto; S= file di sistema

� Esempi:ATTRIB *.*ATTRIB +R DATI.TXTATTRIB -H HIDDEN.DAT

ComandoComando CD CD

� Nome comando:CD o CHDIR

� Funzione:cambia la directory di lavoro;

senza parametri visualizza il nome della directory corrente

� Sintassi:CD [path]

� Nota: il cammino specificato (path) può essere assoluto orelativo (ma solo in riferimento all’unità corrente)

� Esempi:CD \MSDOS\UTILCD ..\PIPPOCD .. (passa alla directory padre, di quella attuale)

ComandoComando CLS CLS

�Nome comando:CLS

�Funzione:cancella lo schermo

�Sintassi:CLS

�Nota:restituisce il prompt di sistema in alto a sinistra

ComandoComando COPY COPY

�Nome comando:COPY

�Funzione:copia uno o più file in un’altra posizione o concatenauna lista di file

�Sintassi:COPY origine destinazione

COPY file1 + file2 +… + file-n tuttoqui

�Nota: nel caso venga usato per concatenare due opiù file (+), COPY restituisce il nome dei file unitimentre procede nella concatenazione

ComandoComando COPY COPY

�Esempi:copy c:\game\dati.txt c:\copia.txt

copy ..\..\fax.doc fax.doc

copy a:\*.* c:\backup

copy c:\compiti.* a:\dati\scuola

copy c:\autoexec.b?t .

copy dati1.txt+dati2.txt dati12.txt

ComandoComando DEL DEL

� Nome comando:DEL o ERASE

� Funzione:cancella i file specificati come parametro

� Sintassi:DEL [unità][path]nome_file

ERASE [unità][path]nome_file

� Nota: con l’opzione /P il comando DEL chiede confermaper la cancellazione

� Esempi:DEL c:\dati\cifre.dat

DEL ..\lucidi.ppt

DEL program.bat

ComandoComando DELTREE DELTREE� Nome comando:

DELTREE

� Funzione:cancella la directory specificata e tutte le sue sotto directory

� Sintassi:DELTREE [unità][path]nome_dir

� Nota:con l’opzione /Y non chiede conferma per lacancellazione

� Esempi:DELTREE C:\DATI\

DELTREE ..\LUCIDI

DELTREE PROGRAM

ComandoComando DIR DIR

� Nome comando:DIR

� Funzione:visualizza il contenuto della directory specificata

� Sintassi:DIR [unità][path][nome_dir]

� Note:con l’opzione /P visualizza una schermata alla volta;con /W visualizza fino a 5 nomi per riga

� Esempi:DIR C:\DATI\ /P

DIR /W

DIR ..\..\COMPITI

ComandoComando DISKCOPY DISKCOPY

�Nome comando:DISKCOPY

�Funzione:copia il contenuto di un floppy dall’unità di partenzaa quella di destinazione

�Sintassi:DISKCOPY [unità1 [unità2] ]

�Note: il floppy di destinazione può anche nonessere formattato (viene formattato al momento);eventuali dati presenti sull’unità di destinazioneverranno persi

�Esempi:DISKCOPY A: B:DISKCOPY A: A:

ComandoComando EDIT EDIT

� Nome comando:EDIT

� Funzione:attiva un editor di file testuali

� Sintassi:EDIT [unità][path][nome_file]

� Nota:EDIT può aprire fino a 9 file contemporaneamente;si passa da un file all’altro con la combinazione ALT<numero>

� Esempi:EDIT C:\SCUOLA\COMPITO.TXT

EDIT PROVA.FOR

EDIT FILE1.TXT FILE2.TXT

ComandoComando FORMAT FORMAT

� Nome comando:FORMAT

� Funzione:predispone il disco nell’unità specificata per “accettare” file diMS-DOS

� Sintassi:FORMAT unità

� Note: l’opzione /F:dimensione permette di selezionare lacapacità del disco da formattare. L’opzione /S permettedi formattare un floppy di sistema operativo

� Esempi:FORMAT A:

FORMAT B: /F:720

ComandoComando HELP HELP

� Nome comando:HELP

� Funzione:accede ad una guida on-line dei comandi di MS-DOS

� Sintassi:HELP [comando]

� Nota: non specificando un comando presenta la lista ditutti gli argomenti disponibili

� Esempi:HELP

HELP COPY

ComandoComando KEYB KEYB� Nome comando:

KEYB

� Funzione:permette di configurare la tastiera a seconda della lingua scelta

� Sintassi:KEYB [parametro]

� Nota:non specificando un parametro visualizza il tipo ditastiera corrente

� Esempi:KEYB IT configura la tastiera italiana

� N.B. questo comando non è più abilitato in Windows

ComandoComando MD MD�Nome comando:

MD o MKDIR

�Funzione:crea una directory dal nome specificato

�Sintassi:MD [unità][path]nome_directory

�Nota:se si cerca di creare una directory già esistentequesto viene segnalato con un messaggio di errore

�Esempi:MD C:\CORSI\FONDINFO

MD CORSI

ComandoComando MORE MORE

�Nome comando:MORE

�Funzione:permette di visualizzare l’uscita di un comando unaschermata per volta

�Sintassi:comando | MORE

�Esempi:DIR C:\CORSI | MORE

TYPE DATI.TXT | MORE

ComandoComando MOVE MOVE

� Nome comando:MOVE

� Funzione:permette di spostare uno o più file nella posizione specificata

� Sintassi:MOVE [unità][path]origine

[unità][path]destinazione

� Note:può anche essere usato per cambiare nome alle directory;non era presente nelle vecchie versioni del DOS

� Esempi:� MOVE A:\*.* C:\BACKUP� MOVE LUCIDI SLIDE

ComandoComando PRINT PRINT

� Nome comando:PRINT

� Funzione:permette di stampare dei file

� Sintassi:PRINT [/D:device] [drive:][path]filename[...]]

� Esempi:� PRINT LPR: c:\dati.txt

� N.B. Questo funziona ancora, ma è unreperto

ComandoComando RD RD� Nome comando:

RD o RMDIR

� Funzione:permette di eliminare una directory specificata

� Sintassi:RD [unità][path]nome_directory

� Nota:la directory specificata non può essere eliminata se nonvuota

� Esempi:� RD APPUNTI

� RMDIR C:\UTIL\DATI

� RD ..\..\SLIDE

ComandoComando REN REN� Nome comando:

REN o RENAME

� Funzione:permette di cambiare nome ad un file specificato

� Sintassi:REN [unità][path]nome1 nome2

RENAME [unità][path]nome1 nome2

� Nota:il comando non può essere utilizzato per spostare i file

� Esempi:REN C:\DATI1.TXT DATI2.TXT

REN TABELLA1.TXT TAB.DAT

ComandoComando TREE TREE

� Nome comando:TREE

� Funzione:permette di visualizzare graficamente una struttura di file esotto-directory

� Sintassi:TREE [unità][path][dir o unità disco]

� Notail comando visualizza anche i file quando è specificatal’opzione /F

� Esempi:TREE C:\WINDOWS

TREE C:\MSDOS /F

ComandoComando TYPE TYPE

� Nome comando:TYPE

� Funzione:permette di visualizzare il contenuto di un file testuale

� Sintassi:TYPE [unità][path]nome_file

� Nota:TYPE non permette di modificare il file visualizzato

� Esempi:TYPE C:\COMPITO.TXT

TYPE PROVA.FOR

TYPE A:\FILE1.TXT

ComandoComando UNDELETE UNDELETE� Nome comando:

UNDELETE

� Funzione:permette di recuperare i file cancellati in precedenza con DEL,quelli cancellati con erase dovrebbero essereirrimediabilmente persi

� Sintassi:UNDELETE [unità][path]nomi_file

� Nota:il ripristino dei file non è sempre possibile e, comunque,dovrebbe essere tentato il prima possibile

� Esempi:UNDELETE *.*

UNDELETE C:\MSDOS\*.FOR

ComandoComando XCOPY XCOPY

� Nome comando:XCOPY

� Funzione:permette di copiare tutti i file di una directory più le sottodirectory

� Sintassi:XCOPY origine destinazione

� Nota:per copiare anche le sotto-directory bisogna usarel’opzione /S altrimenti si comporta come COPY

� Esempi:XCOPY A:\BIN C:\BIN /S

EserciziEsercizi�Sia data la seguente configurazione di file e

directory:C:\

APPUNTI

DATI.TXT

SCUOLA

ALLIEVI.TXT

COMPITI.DAT

GAME

F1

F1.EXEDOOM

SOUND

TEMP

COPIA2.TXTCOPIA1.TXT

EsercizioEsercizio 1 1

�Si scriva una sequenza di comandi DOS percreare sul disco C la struttura del file systempresentata sul lucido precedente. Per ognicomando si indichi anche il prompt di DOS.

EsercizioEsercizio 2 2

�Supponendo di trovarsi nella directory <TEMP>,senza spostarsi dalla directory, copiare il fileALLIEVI.TXT nella directory <F1>

� L’esercizio può essere risolto usando riferimentiassoluti:COPY \APPUNTI\SCUOLA\ALLIEVI.TXT \GAME\F1

� oppure relativi:COPY ..\APPUNTI\SCUOLA\ALLIEVI.TXT ..\GAME\F1

� Attenzione Ad essere precisi, dopo F1 bisognerebbeaggiungere il carattere \ in quanto se la directoryF1 non esistesse, verrebbe creato un file di nome F1,copia di ALLIEVI.TXT

EsercizioEsercizio 3 3

� Indipendentemente dalla propria posizione nelfile system, con un solo comando, cancellare ilfile DATI.TXT� In questo caso bisogna usare un riferimento assoluto,

in quanto non è nota la posizione correnteall’interno del file systemDEL C:\APPUNTI\DATI.TXT

EsercizioEsercizio 4 4

�Supponendo di essere nella directory <SOUND>,spostare tutti i file da <TEMP> alla directory incui ci si trova� Si possono adottare due diverse soluzioni:COPY C:\TEMP\*.* .

DEL C:\TEMP\*.*

� oppure:MOVE C:\TEMP\*.* .