Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra...
Click here to load reader
Transcript of Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra...
2/11/2015
1
Introduzione al Sistema Operativo Unix
Laura Antonelli – Diego Romano
Istituto di Calcolo e Reti ad Alte Prestazioni
Consiglio Nazionale delle Ricerche
www.na.icar.cnr.it/~antonelli.l
1
Riferimenti bibliografici
• http://www.levenez.com/unix
• http://it.wikipedia.org/wiki/Unix
• http://it.wikipedia.org/wiki/BSD
• http://www.gnu.org
• http://www.pathname.com/fhs/
2
Unix: un po’ di storia…
• nasce nel 1969 (Unics)
• creato presso la Computing Science ResearchDivision dei Bell Laboratories
• i “padri” di UNIX sono Ken Thompson e Dennis Ritchie
• nel 1974 viene installata presso l’Università di Berkeley la prima versione di UNIX, riscritta interamente in linguaggio C
• nel 1983 viene sviluppata la versione SYSTEM V, che implementa la memoria virtuale
3
PRINCIPALI CARATTERISTICHE DI UNIX
• GENERAL – PURPOSE
• INTERATTIVO
• MULTI UTENTE
• MULTI PROGRAMMAZIONE
• TIME SHARING
4
2/11/2015
2
VANTAGGI DI UNIX PER L’UTENTE
• Potenza e Flessibilità
- Elevato numero di programmi di sistema che eseguono sia operazioni semplici sia operazioni più complesse (ordinamento, ricerca,…)
- Possibilità di creare nuovi e più complessi comandi a partire da quelli elementari
• Potente editor a pieno schermo
• Sistema di posta elettronica
5
I livelli dell’architettura Unix
SHELL: Interprete del linguaggio di comando
PROGRAMMI APPLICATIVI: Risorse software del sistema operativo, programmi di sistema ( editor, compilatori,…)
KERNEL: Nucleo del sistemaoperativo. Coordinal’esecuzione di tutti i programmie l’accesso a tutte le risorse del sistema
6
Accesso ad un sistema Unix: LogIn
• L'accesso ad un sistema UNIX, mediante terminale, avviene utilizzando un programma chiamato login
• Il programma identifica gli utenti chiedendo loro username e password
• Se l'autenticazione avviene con successo il sistema esegue una shell
7
Login definite:
ceinge1ceinge2ceinge3ceinge4ceinge5ceinge6
Accesso ad un sistema Unix con interfaccia grafica
• Nei sistemi UNIX moderni (dopo 1984) con l'introduzione diinterfacce grafiche a finestre l'accesso al sistema può essereeffettuato anche mediante un programma detto displaymanager utilizzando sempre username e password
1/2
8
2/11/2015
3
Accesso ad un sistema Unix con interfaccia grafica
Dopo l'autenticazione il sistema esegue un insieme di programmicon interfaccia grafica detto desktop environment che consenteall'utente di eseguire i programmi desiderati
2/2
9
Desktop Environment
• Le moderne versioni di Unix forniscono diverse alternative come Desktop Environment.
Alcuni esempi tra i più diffusi:
10
GNU Network Object Model Environment
K Desktop Environment
XForms Common Environment
Il FILE SYSTEM di UNIX
• file ordinari
• directory
• Un file system è un sistema logico di organizzazione dei file per la memorizzazione su dispositivi di archiviazione (hard disk , floppy, pen drive,CD-ROM, ...)• Il file system di Unix ha un'organizzazione gerarchica ad albero alla cui radice c’è la directory di root, identificata dal carattere '/‘• Una directory è un contenitore di file e/o directory
1/3
11
Il FILE SYSTEM di UNIX
• FILE ORDINARI: possono contenere, testi, programmisimbolici, rilocabili assoluti, dati e qualsiasi altro tipo diinformazione. Il loro contenuto non ha alcun significato per ilsistema operativo ma solo per i programmi applicativi che liusano.
• DIRECTORY: è una collezione di file. Consente all’utente diorganizzare i file in gruppi.
• FILE SPECIALI: tutte le periferiche sono trattate da UNIXcome file speciali, il cui nome è proprio il nome dellaperiferica. Associato a ciascuna periferica c’è un programmadi sistema (driver) responsabile della comunicazione.
2/3
12
2/11/2015
4
Il FILE SYSTEM di UNIX:
• Alcune sottodirectory della root sono comuni a tutti i sistemi UNIX
• Per i sistemi Linux i nomi delle directory e le loro funzioni sono stabilite dal “Filesystem Hierarchy Standard” FHS
/
bin boot dev etc home sbin tmp usr var
lauranto ceinge1 ceinge2 ... bin include lib local sbin
bin include lib sbin
root
3/3 Il FILE SYSTEM di UNIX:
• bin: programmi essenziali utilizzabili da tutti gli utenti
• boot: file necessari all'avvio del sistema quali kernel e driver
• dev: file speciali associati a dispositivi hardware
• etc: file di configurazione/
bin boot dev etc home sbin tmp usr var
lauranto ceinge1 ceinge2 ... bin include lib local sbin
bin include lib sbin
root
Il FILE SYSTEM di UNIX:
• home: directory degli utenti
• sbin: programmi essenziali per l'amministrazione del sistema
• tmp: file temporanei
• var: file che il sistema scrive durante l'esecuzione(log, spool, cache, ...)
/
bin boot dev etc home sbin tmp usr var
lauranto ceinge1 ceinge2 ... bin include lib local sbin
bin include lib sbin
root
Il FILE SYSTEM di UNIX: Pathname
• La struttura ad albero consente di identificare univocamente un elemento del file system mediante il percorso che va dalla directory al file stesso: il pathname
• Nel pathname tutte le directory del percorso vengonoseparate dal carattere /
16
/
bin boot dev etc home sbin tmp usr var
lauranto ceinge1 ceinge2 ... bin include lib local sbin
bin include lib sbin
root
/home/ceinge1
2/11/2015
5
Il FILE SYSTEM di UNIX: protezione e permessi
• Unix è un sistema multi utente e necessita pertanto di meccanismi di protezione di file e directory per consentire ad ogni utente di preservare i propri dati dall'accesso da parte di altri utenti
• Ogni file ha un proprietario e un gruppo di appartenenza• Al file sono associati permessi per tre tipi di accesso
– Accesso in lettura identificato dalla lettera “r” (read)– Accesso in scrittura identificato dalla lettera “w” (write)– Accesso in esecuzione identificato dalla lettera “x” (execute)
• I permessi possono essere applicate a 3 classi di utenti– il proprietario del file– il gruppo a cui appartiene il file– a tutti gli altri utenti
17
Il FILE SYSTEM di UNIX: protezione e permessi
FILE ORDINARI
OPERAZIONE SIGNIFICATO
LETTURA (r) Lettura del contenuto del file
SCRITTURA (w) Modifica del contenuto del file
ESECUZIONE (x) Esecuzione del file (il file deve contenere un programma eseguibile)
DIRECTORY
OPERAZIONE SIGNIFICATO
LETTURA (r) Lista dei file nella directory
SCRITTURA (w) Aggiunta o cancellazione di file nella directory
ESECUZIONE (x) Spostamento nella directory
18
proprietario: colui che ha creato inizialmente il file
gruppo: eventuale gruppo a cui appartiene il proprietario
pubblico: tutti gli altri utenti
Su tutti i file è possibile permettere o negare le operazionidi lettura, scrittura ed esecuzione, mediante una stringadi 9 caratteri:
rwx rwx rwx
proprietario gruppo pubblico
19
Il FILE SYSTEM di UNIX: protezione e permessi
• Se i permessi di un file ordinario eseguibile sono:
rwxr–xr – –
vuol dire che:
- il proprietario può leggere, scrivere ed eseguire il file
- il gruppo può leggere ed eseguire il file ma non può modificarlo
- il pubblico può solo leggere il file
20
Esempio 1
2/11/2015
6
• Se i permessi di una directory sono:
rwxr – xr – –
vuol dire che:- il proprietario può vedere il contenuto della directory, può
aggiungere o eliminare file, può spostarsi in quella directory- il gruppo può vedere il contenuto della directory, non può
aggiungere o eliminare file, può spostarsi in quella directory - il pubblico può solo vedere il contenuto della directory.
• Un file di sola lettura ha i seguenti permessi:
r – –r– –r – –
21
Esempio 2
PRINCIPALI COMANDI DI UNIX
22
comando [-opzioni] [argomento] [argomento] ..
comando = nome di un file eseguibile nel file system. Il file può contenere sia un programma di sistema che un programma utente
opzioni = particolari parametri che specificano capacità opzionali del comando
argomento = operandi (in genere nomi di file)23
Unix: comandiUnix: COMANDI DI UTILITÀ GENERALE
man comandomanual – Visualizza alcune pagine di documentazione delcomando specificato.
passwdpassword – Comando interattivo di definizione o modifica dellapassword (è richiesto l’inserimento della nuova password perdue volte affinchè la modifica sia accettata)
pwdprint work directory – Visualizza il path assoluto della directorycorrente di lavoro
whoelenca le user id degli utenti collegati in quel momento alsistema
24
2/11/2015
7
Unix: COMANDI DI GESTIONE FILE 1/3
ls pathlist – richiesta di listare il contenuto di path (se path non èspecificato , viene listato il contenuto della directory corrente dilavoro)
mkdir pathmake directory – crea una directory come specificato dal path.
cd pathchange work directory – cambia la directory corrente di lavoro inquella specificata da path
cat pathconcatenate – lista il contenuto del file specificato da path sul supporto standard di output (schermo)
25
COMANDI DI GESTIONE FILE 2/3
pg pathpage – ha lo stesso significato di cat ma l’output viene fornito su più pagine, dove una pagina è lo schermo del terminale.
cp path1 path2copy – copia il file specificato da path1 nel file specificato da path2. Se il secondo argomento è una directory, il file è copiato in questa directory con lo stesso nome
lp –ddest fileline printer spooler – invia il file alla stampante specificata in dest.
rm pathremove – cancella il file specificato da path
26
COMANDI DI GESTIONE FILE 3/3
rmdir pathremove directory – cancella la directory specificata da path. Unadirectory può essere cancellata solo se è vuota
mv path1 path2move – muove il contenuto del file specificato da path1, nel file specificato da path2.
cc file1 file2…filencompilatore C – viene richiamato il compilatore C, che a partire da file1 file2 … filen produce il programma eseguibile (assoluto) di nome standard a.out.
chmod permessi filechange mode – cambia i permessi di accesso di file, come specificato da permessi
27
ESEMPIO 1:Listare il contenuto di una directory in modo da ottenere il maggior numero di informazioni.
[email protected]> ls –la
28
2/11/2015
8
L’EDITOR VI
Un editor è un programma di utilità che permette di modificare il contenuto di un file. In generale un editor può essere:1. un editor a linee2. un editor a pieno schermo
Unix mette a disposizione l’editor vi (visual) che è:
• interattivo• a pieno schermo• potente, nel senso che mette a disposizione comandi globali come ad esempio la sostituzione.
Il vi non agisce direttamente sul file, ma su una copia posta in un’area detta buffer.Quando le modifiche sono complete il file può essere salvato o scritto sul file originale. 29
Il vi può essere utilizzato con le seguenti modalità:
• Comando – permette di spostarsi nel file e di modificare il testo
• Inserimento – permette di inserire nuovi caratteri nel testo
• Ultima linea – permette comandi globali sul file
Inizialmente si entra nel vi in modalità comando.
Si accede alle modalità inserimento e ultima linea sempre dalla modalità comando.
30
L’EDITOR VI: modalità d’uso
vi: Modalità Comando
Si accede a questa modalità mediante il tasto Esc• Spostamento del cursore
l una colonna a destrak una linea sopraj una linea sottoh una colonna a sinistra$ fine linea^ inizio lineaw parola successivae fine parola
N.B. Si resta comunque in modalità comando
• Sostituzionecw sostituzione della parolacc sostituzione della lineaC fine di linear carattere del cursore 31
vi: Modalità Comando
• Cancellazionedw cancella la paroladd cancella la lineaD alla fine di lineax carattere del cursoreX carattere prima del cursore
• Altre funzioniu annulla/ ricerca in avanti? ricerca a ritroson instanza successiva. ripete l’ultimo comandoY aggiorna la lineap inserisce sottoP inserisce sopraZZ scrive ed esceEsc cancella il comando 32
2/11/2015
9
vi: Modalità Inserimento
Dalla modalità comando si può passare alla modalitàinserimento in accordo con la tabella che segue.
i prima del cursorea dopo il cursoreI all’inizio della lineaA alla fine della lineao apertura linea precedenteO apertura linea successiva
N.B. In modalità inserimento tutti i caratteri digitati sullatastiera vengono inseriti nel file
33
vi: Modalità di Ultima linea
Dalla modalità comando si passa alla modalità ultima linea secondo la seguente tabella:
:w scrive il file:q esce
:wq scrive ed esce:n file successivo:r legge il file:e aggiorna il file:f nome del file
:set aggiorna le opzioni:! Uscita dalla shell:n linea n
N.B. Alcune opzioni di set:number (num) numera le linee del fileno auto indent (noai) evita il capoverso
34
35
FINE