Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra...

9

Click here to load reader

Transcript of Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra...

Page 1: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 2: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 3: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 4: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 5: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 6: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 7: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 8: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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

Page 9: Introduzione al Sistema ...antonelli.l/materiale/PONslides/II_Lezione... · l una colonna a destra k una linea sopra j una linea sotto h una colonna a sinistra $ fine linea ^ inizio

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