Introduzione ai sistemi operativi DOS, UNIX, VMS

Fondamenti di Informatica - Introduzione ai sistemi operativi
FONDAMENTI DI INFORMATICA
Prof. PIER LUCA MONTESSORO
Ing. DAVIDE PIERATTONI
Facoltà di Ingegneria
Università degli Studi di Udine
Introduzione ai sistemi operativi
DOS, UNIX, VMS
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
1
Fondamenti di Informatica - Introduzione ai sistemi operativi
Nota di Copyright
Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright
e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi
inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio,
musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide
Pierattoni, Università degli Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca,
scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero
dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di
lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su
supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non
esplicitamente autorizzata per iscritto, a priori, da parte degli autori.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della
pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in
progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza
preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste slide
(ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità,
aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste
slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono
mai essere rimossi e devono essere riportati anche in utilizzi parziali.
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
2
Fondamenti di Informatica - Introduzione ai sistemi operativi
Il sistema operativo MS-DOS
• MS-DOS è un sistema operativo sviluppato da
Microsoft per i personal computer
• Le sue origini risalgono al 1981, periodo in cui si
diffusero i primi PC IBM con processore Intel 8088
• MS-DOS è un sistema operativo monoutente: le
risorse hardware e software presenti su un PC sono
a disposizione di un solo utente per volta
• MS-DOS è un sistema operativo monotasking:
gestisce l’esecuzione di un solo programma per volta
• MS-DOS offre un’interfaccia utente a riga di comandi
(Command Line Interface)
• Oggi MS-DOS è l’interfaccia a linea di comandi del
sistema operativo MS-Windows
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
3
Fondamenti di Informatica - Introduzione ai sistemi operativi
Interprete MS-DOS
• Nel sistema operativo MS-DOS, l’interprete dei
comandi è il programma eseguibile COMMAND.COM
• E’ basato su una riga di comandi indicata dal prompt,
che segnala anche il disco e la directory di lavoro:
cursore lampeggiante
C:\> _
• Ogni disco ha un nome, identificato da una lettera di
unità seguita da ":"; il backslash "\" ne indica la
radice
• I dischi A: e B: sono in genere i drive per floppy,
mentre C:, D:, E: … indicano hard disk, lettori di CDROM, dischi di rete
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
4
Fondamenti di Informatica - Introduzione ai sistemi operativi
Nomi dei file
• In MS-DOS, come nella maggior parte dei sistemi
operativi, un file è individuato dalla notazione
nome.estensione
• L’estensione è un codice testuale mnemonico legato alla
codifica dei dati presenti nel file. Ad esempio:
.txt : file di testo ASCII
.exe : file eseguibile (contiene codice macchina)
.c : file ASCII di programma sorgente in linguaggio C
.bat : file batch, file di script contenente comandi per il sistema
operativo
– .jpg oppure .jpeg : dati (immagini) codificati in formato JPEG
– .htm oppure .html : file ASCII di ipertesto in linguaggio HTML
– .mpg oppure .mpeg : dati (filmati) codificati in formato MPEG
–
–
–
–
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
5
Fondamenti di Informatica - Introduzione ai sistemi operativi
Nomi dei file
• In MS-DOS i nomi dei file e dei direttori sono soggetti
alle seguenti limitazioni:
nome può avere al massimo 8 caratteri
estensione può avere al massimo 3 caratteri
• I caratteri utilizzabili sono lettere, cifre e alcuni
simboli, come "_" (underscore)
• Altri simboli, anche se validi, sono da evitare per
problemi di portabilità dei file su altri sistemi operativi
• In tutti i sistemi operativi il punto "." è l’elemento di
separazione fra nome ed estensione
Come per i comandi, anche per nomi di file e directory
MS-DOS è “case insensitive” é PIPPO = PIPPo = pippo...
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
6
Fondamenti di Informatica - Introduzione ai sistemi operativi
Nomi dei file e path
• La directory di lavoro, o default directory, è il direttorio
che il sistema operativo deve considerare
nell’esecuzione dei comandi
• Il prompt E:\FONDINFO\C> indica ad esempio che la
directory di lavoro è, al momento, quella di nome C nel
direttorio FONDINFO del disco E:
• La notazione E:\FONDINFO\C è il path, ossia il
percorso dalla radice del disco fino al nodo considerato
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
7
Fondamenti di Informatica - Introduzione ai sistemi operativi
File, directory e pathname
• Per un file di nome prova.c presente nella directory
E:\FONDINFO\C, il pathname assoluto è:
E:\FONDINFO\C\prova.c
mentre il pathname relativo, se la directory di default è
E:\FONDINFO\C, sarà semplicemente:
prova.c
• Il comando dir stampa il contenuto di una directory:
E:\FONDINFO\C>dir
mostra l’intero contenuto della default directory, mentre:
E:\FONDINFO\C>dir D:\DOCS
mostra il contenuto del direttorio DOCS del disco D:
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
8
Fondamenti di Informatica - Introduzione ai sistemi operativi
Directory
• Per cambiare la directory di lavoro si usa il comando cd:
E:\FONDINFO\C>cd nuovopath
Ad esempio: E:\FONDINFO\C>cd \
stabilisce che la default directory sia la radice del disco
E:
• E:\FONDINFO>cd \SISTELAB é si passa alla
directory SISTELAB del disco E:
• Per passare ad un disco diverso da quello corrente:
E:\FONDINFO\C>a: ê si passa al disco floppy A:, e il
prompt diventa: A:\>
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
9
Fondamenti di Informatica - Introduzione ai sistemi operativi
Directory
• L’organizzazione del file system ad albero consente
anche spostamenti relativi
• il direttorio padre è indicato per convenzione da ..
• il direttorio corrente è indicato per convenzione da .
• Per passare al direttorio superiore, il comando è:
cd ..
Ad esempio:
E:\FONDINFO\C>cd .. é la directory di lavoro
diventa E:\FONDINFO
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
10
Fondamenti di Informatica - Introduzione ai sistemi operativi
Operazioni su file e directory
• Copia di un file in un altro direttorio o disco:
E:\>copy pippo.c a:\sorgenti\pippo.c
• Copia di un file nello stesso direttorio:
E:\>copy pippo.c pluto.c
• Ridenominazione di un file (“rename” o “ren”):
• E:\>rename pippo.txt minnie.c
• Cancellazione di un file (“delete” o “del”):
E:\>delete pippo.c
• Creazione di una directory: E:\>mkdir sistelab
• Cancellazione di una directory (purché vuota):
E:\>rmdir sistelab
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
11
Fondamenti di Informatica - Introduzione ai sistemi operativi
Uso delle wildcard
• Una wildcard consente di specificare un insieme di
nomi evitandone l’elencazione completa
• In MS-DOS il carattere wildcard è *
• Ad esempio:
– dir *.c visualizza la lista dei file con estensione .c
presenti nella default directory
– dir *.* visualizza la lista di tutti i file presenti nella
default directory, ed equivale a dir senza parametri
– delete pippo.* cancella tutti i file di nome pippo aventi
estensione qualsiasi
– copy *.* a:\ copia tutti i file della default directory nella
radice del disco floppy A:
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
12
Fondamenti di Informatica - Introduzione ai sistemi operativi
Comandi e parametri
• La maggior parte dei comandi MS-DOS è dotato di
funzionalità aggiuntive, selezionabili da riga di
comando mediante opportuni parametri (o flag)
• Ad esempio, dir /p stampa il contenuto di un
direttorio in schermate successive, lasciando
all’utente il compito di avanzare riga per riga oppure
una pagina alla volta
• Analogamente, dir /b effettua la stampa dei soli
nomi eliminando le informazioni sulla dimensione e la
data di creazione dei file
• Sintassi e significato dei parametri previsti da un
comando si ottengono di solito con il “flag di help” /?
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
13
Fondamenti di Informatica - Introduzione ai sistemi operativi
Accodamento dei comandi (piping)
• I comandi MS-DOS si possono concatenare mediante il
carattere | (pipe): l’output del primo comando diventa
l’input del comando successivo (purché ciò abbia senso)
• Il comando type nomefile visualizza il contenuto di
un file; ad esempio type pippo.c
• Il comando more permette di eseguire la stampa sullo
schermo pagina per pagina con avanzamento “manuale”
• Per file molto lunghi, può essere utile la seguente
concatenazione:
type pippo.c | more
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
14
Fondamenti di Informatica - Introduzione ai sistemi operativi
Redirezione dell’output
• Il risultato di un certo comando o i messaggi generati
da un programma si possono scrivere (o “redirigere”)
su un file anziché sullo standard output
• La redirezione si effettua con il comando >
• Ad esempio:
C:\>dir *.* > lista.txt
scrive nel file C:\lista.txt la stampa fornita dal
comando dir *.*
• Tale procedura è utile quando si intende conservare
l’output per una valutazione approfondita oppure in
fase di debugging dei programmi:
C:\FONDINFO>prova.exe > debug.txt
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
15
Fondamenti di Informatica - Introduzione ai sistemi operativi
Il file editor DOS
• Un file editor è un programma per la lettura, la scrittura
e la modifica del contenuto dei file di testo ASCII
• Il sistema operativo MS-DOS offre alcuni programmi di
utilità, tra i quali il file editor edit
• Il comando per invocare il file editor DOS è:
edit nomefile
• Per scrivere un sorgente C di nome prova.c:
E:\FONDINFO\C>edit prova.c
• L’interfaccia grafica dell’editor agevola l’utente nelle
procedure di lettura, modifica e salvataggio del file nel
file system
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
16
Fondamenti di Informatica - Introduzione ai sistemi operativi
Il sistema operativo Unix
• Unix è un sistema operativo creato presso i Bell
Laboratories e alcune Università nei primi anni ‘80
• Unix è un sistema operativo multiutente: le risorse
hardware e software presenti su un calcolatore sono
condivise contemporaneamente da molti utenti
• Unix è un sistema operativo multitasking: gestisce
l’esecuzione contemporanea di numerosi programmi,
di uno o più utenti, in modalità time sharing
• Unix offre un’interfaccia utente a riga di comandi
(Command Line Interface) detta shell
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
17
Fondamenti di Informatica - Introduzione ai sistemi operativi
La shell Unix
• L’interprete dei comandi Unix è simile nella forma a
quello di MS-DOS
• All’inizio della sessione di lavoro, l’utente deve fornire il
proprio nome utente e la password di accesso al
calcolatore
cursore lampeggiante
• Il prompt dei comandi è in genere:
nomeutente@nomesistema%_
dove il % indica l’interprete (come > in MS-DOS)
• L’interfaccia Unix è più potente e versatile di MS-DOS,
specie per gli aspetti di amministrazione del sistema, ma
non offre altrettanta semplicità d’uso
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
18
Fondamenti di Informatica - Introduzione ai sistemi operativi
Unix e i file
• A differenza di MS-DOS, Unix implementa i privilegi
di accesso alle risorse e la protezione dei file
• L’accesso ad ogni file o directory avviene con
modalità diverse a seconda dell’utente
• I privilegi accordabili sono: lettura (r), scrittura e
cancellazione (w), esecuzione (x)
• Gli assegnatari dei privilegi sono: il proprietario
(owner), il gruppo (group), il resto del mondo (world)
• Un utente “speciale” è il superuser: questi gode di
tutti i privilegi sull’intero file system e sui comandi del
sistema operativo (ê è l’amministratore)
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
19
Fondamenti di Informatica - Introduzione ai sistemi operativi
Unix e i file
• Ogni utente vede un proprio albero di directory, sul
cui contenuto gode di tutti i privilegi
• Gli archivi degli altri utenti del gruppo sono in genere
accessibili in lettura e scrittura o in sola lettura
• Per ragioni di sicurezza, i file degli utenti esterni al
gruppo sono spesso inaccessibili oppure visibili in
sola lettura
• I file eseguibili del sistema operativo (é i comandi)
sono accessibili a tutti gli utenti in lettura ed
esecuzione
• L’esecuzione dei comandi di amministrazione è
riservata ai soli amministratori e al superuser
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
20
Fondamenti di Informatica - Introduzione ai sistemi operativi
Unix e i file
• Come in MS-DOS, i file sono identificati da un nome più
un’estensione
• Unix consente di utilizzare nomi di file lunghi fino a 32
caratteri, ed estensioni fino a 4 caratteri
• Come il linguaggio C, Unix è case sensitive
é pippo.txt ≠ Pippo.txt ≠ pippo.TXT…
• La radice del file system è indicata dal simbolo / ; inoltre
non vi sono nomi espliciti per le unità disco
• In Unix il path e il pathname di un file si scrivono
utilizzando il carattere slash / (mentre MS-DOS usa il \)
Ad esempio:
/home/studenti/mariorossi/prova.c
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
21
Fondamenti di Informatica - Introduzione ai sistemi operativi
Comandi su file e directory
• Corrispondenza tra comandi MS-DOS e Unix:
dir
ls
copy
cp
delete
rm
cd
cd
rename
mv
type
cat
more
more
Hanno la
stessa
sintassi, ma
non gli
stessi
parametri!
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
22
Fondamenti di Informatica - Introduzione ai sistemi operativi
File e directory
• Il file system Unix è gerarchico
é il direttorio padre è indicato da ..
é il direttorio corrente è indicato da .
• Per visualizzare il path della directory corrente si usa
il comando pwd
• Per un file di nome prova.c presente nella directory
/home/studenti/pippo, il pathname assoluto è:
/home/studenti/pippo/prova.c
mentre il pathname relativo, se la directory di default
è /home/studenti, sarà:
./pippo/prova.c
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
23
Fondamenti di Informatica - Introduzione ai sistemi operativi
File e directory
• La stampa fornita dal comando ls ha il formato:
[davide@fender]%ls
prova prova.c prova1 prova1.c stampa.txt stampa1.txt
• Il parametro -l offre un livello di dettaglio maggiore:
[davide@fender ]%ls -l
total 15
-rwxr-xr-x
-rw-r--r--rwxr-xr-x
-rw-r--r--rw-r--r--rw-r--r--
1
1
1
1
1
1
davide
davide
davide
davide
davide
davide
Dimensione (byte) e ultima modifica
users
users
users
users
users
users
4791
146
4792
99
24
72
Mar
Mar
Mar
Mar
Apr
Apr
23
23
24
24
3
3
14:09
14:09
14:25
14:25
16:01
16:01
Privilegi degli utenti esterni al gruppo
Privilegi del gruppo
Privilegi del proprietario
prova
prova.c
prova1
prova1.c
stampa.txt
stampa1.txt
Nomi dei file
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
24
Fondamenti di Informatica - Introduzione ai sistemi operativi
File editor Unix
• vi è il file editor più semplice da usare in ambiente Unix
• vi ha due modi di funzionamento:
– modo comandi: ad ogni tasto corrisponde un
comando particolare, e le frecce spostano il cursore
– modo inserimento: permette la modifica del file
• Per passare da modo comandi a modo inserimento, si
deve premere il tasto "i"; il ritorno al modo comandi
avviene premendo ESC
• Il comando per salvare il file ed uscire è :wq
• Per uscire senza salvare le modifiche: :q!
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
25
Fondamenti di Informatica - Introduzione ai sistemi operativi
“Allora non sono da solo!”
• Ogni utente può conoscere quanti e quali utenti sono
collegati al sistema mediante il comando who
• Unix offre due semplici funzionalità di comunicazione
fra gli utenti:
– talk: è un programma che consente a due utenti
on-line di dialogare via terminale
– mail: consente di inviare e ricevere messaggi di
posta elettronica tra utenti
• La comunicazione è un supporto molto utile per i
gruppi di lavoro
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
26
Fondamenti di Informatica - Introduzione ai sistemi operativi
Il sistema operativo VMS
• VMS è stato sviluppato alla fine degli anni ‘70 da
Digital Equipment Corporation per i sistemi VAX e
Alpha
• Come Unix, anche VMS è un sistema operativo
multiutente e multitasking
• Le procedure relative a login, privilegi e gestione del
file system sono analoghe a quelle viste per Unix
• In VMS la radice del file system è indicata da
[000000], mentre per scrivere il path o il pathname
di un file si utilizzano le parentesi quadre e il
carattere . (punto)
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
27
Fondamenti di Informatica - Introduzione ai sistemi operativi
VMS e i file
• Il pathname assoluto di un file ha la forma:
NOMEDISCO:[DIRECTORY]NOME.TIPO;VERSIONE
• La versione di un file è data da un numero
progressivo e serve a distinguere file omonimi,
oppure scritture successive dello stesso file
• Ad esempio, il file PROVA.C presente nella directory
INFORMATICA.FONDINFO del disco CDC_DIDROOT
ha pathname assoluto:
CDC_DIDROOT:[INFORMATICA.FONDINFO]PROVA.C;1
• La cifra finale a 1 indica che sul disco c’è una sola
versione del file PROVA.C
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
28
Fondamenti di Informatica - Introduzione ai sistemi operativi
Comandi DCL
• Il linguaggio dei comandi di VMS si chiama DCL (Digital
Command Language)
• L’interprete dei comandi DCL è indicato dal carattere $
• DCL offre una guida in linea, richiamabile con il
comando HELP
• Per visualizzare il contenuto di una directory, il comando
da usare è DIR
• Per conoscere la directory di lavoro si usa il comando:
SHOW DEFAULT
• Per cambiare la directory corrente:
SET DEFAULT [DIRECTORY]
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
29
Fondamenti di Informatica - Introduzione ai sistemi operativi
Prima di andarsene...
• Un PC con sistema operativo MS-DOS non richiede
particolari procedure di “abbandono” del sistema
• Un utente di una macchina MS-Windows, Unix o
VMS deve invece concludere sempre la sessione di
lavoro con il comando logout (in Windows “chiudi
sessione” dal menu di avvio)
Se un utente dimentica di “fare logout” da terminale, un
intruso può accedere ai suoi file e alterarne il contenuto!
© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2)
30