1 il sistema operativo: esempio n le operazioni effettuate sembrano abbastanza semplici ma … n...

38
Il Sistema Operativo: Esempio Le operazioni effettuate sembrano abbastanza semplici ma … Provocano una serie di eventi in cui vengono coinvolte sia risorse hardware che risorse software Il coordinamento e la gestione delle varie risorse viene effettuato dal Sistema Operativo Il Sistema Operativo fornisce i servizi che sono necessari a tutti gli altri programmi in esecuzione

Upload: abelie-mattioli

Post on 02-May-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

1

Il Sistema Operativo: Esempio Le operazioni effettuate sembrano abbastanza

semplici ma … Provocano una serie di eventi in cui vengono

coinvolte sia risorse hardware che risorse software

Il coordinamento e la gestione delle varie risorse viene effettuato dal Sistema Operativo

Il Sistema Operativo fornisce i servizi che sono necessari a tutti gli altri programmi in esecuzione

Page 2: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

2

Il Sistema Operativo: Esempio Per ogni carattere immesso tramite la tastiera viene

inviato un codice corrispondente al computer Il codice viene ricevuto da un circuito che si occupa

di gestire la comunicazione con la tastiera Il codice viene memorizzato in un’area di memoria

riservata (buffer) e viene inviato un segnale alla CPU (interrupt)

Quando la CPU riceve un interrupt dalla tastiera attiva un modulo (un piccolo programma) chiamato terminal driver

Page 3: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

3

Il Sistema Operativo: Esempio Il terminal driver invia al monitor una copia del

codice del carattere immesso per visualizzare il carattere

Il codice corrispondente al carattere “Enter” indica che il comando immesso (date) è completo

Il terminal driver attiva un altro modulo chiamato listener (perchè attende le richieste provenienti dagli utenti)

Il listener legge i caratteri dal buffer della tastiera e ricerca un programma chiamato date, lo carica in memoria centrale e lo esegue

Page 4: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

4

Il Sistema Operativo: Esempio Il programma date “va a leggere” un “orologio” (un

contatore che tiene conto dello scorrere del tempo) e passa l’informazione letta al terminal driver

Il terminal driver trasmette la data al monitor che la visualizza

Ognuno di questi eventi può essere descritto in dettaglio, per esempio:– prima che il programma listener carichi il programma date

in memoria deve localizzare la “directory” dove tale comando si trova, ecc.

– La fase di caricamento del programma comprende una fase di lettura dal disco rigido

Page 5: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

5

Esempio

Ogni carattere dato in input dalla tastiera viene ricevuto dal terminal driver che lo invia al monitor per la visualizzazione

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

Tastiera

BUFFER

Monitor

148.608.043.200.010clock

dat

dat

dat dat dat dat

dat

dat

Page 6: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

6

Esempio

Quando viene immesso il carattere Enter <cr> il terminal driver passa la stringa date al programma listener che interpreta il comando

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

Tastiera

BUFFER

Monitor

date<cr>

date<cr>

148.608.043.200.020

Page 7: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

7

Esempio

Il listener richiede al directory manager di cercare (nella directory dei comandi) date. Il programa directory manager richiede al programma file manager, che a sua volta si avvale del programma disk driver, di localizzare sul disco rigido il programma date

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.032

Page 8: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

8

Esempio

Quando il comado date è stato localizzato (è un file eseguibile) il listener (mediante il file manager) lo carica in memoria. Per fare questa operazione il file manager utilizza il disk driver

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.045

Page 9: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

9

Esempio

Il listener manda in esecuzione il programma date che legge il clock ed effettua delle operazioni di conversione per trasformare il valore letto nella data del giorno

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.101

Page 10: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

10

Esempio

Il programma date tramite il terminal driver visualizza sul monitor la data

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.104

martedì 7 marzo 2000

Page 11: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

11

Il Sistema Operativo: esempio

Sebbene le operazioni che abbiamo preso in esame “sembrino abbastanza semplici” e di uso frequente esse provocano una serie di eventi e azioni molto complesse e articolate

L’immissione di un semplice carattere (tramite tastiera) può provocare l’esecuzione di una decina (o anche più) di funzionalità del S.O.

Page 12: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

12

Strategie adottate La gestione dei vari eventi che devono essere gestiti

da un S.O. è una delle aree di vitale importanza dell’informatica

L’idea di base che si utilizza è quella di creare una gerarchia di livelli di astrazione

In questo modo, ad ogni livello le funzionalità presenti possono ignorare i dettagli sulle funzionalità offerte da altri livelli– Quando il modulo listener carica un programma

prelevandolo dal disco rigido non deve specificare il posizionamento della testina del disco rigido. Queste operazioni vengono effettuate da un altro programma che si trova ad un livello più basso della gerarchia

Page 13: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

13

Il Sistema Operativo Dal punto di vista strutturale il sistema operativo è

formato da un insieme di livelli, che formano la cosiddetta struttura a cipolla

Ciascun livello fornisce un insieme di funzioni e di servizi a partire dalle funzioni e dai servizi forniti dal livello sottostante

kernel

gestione memoria processore, risorse

interfaccia utente

Page 14: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

14

Strategie adottate Al livello più alto della gerarchia di funzionalità si

trova l’utente del sistema Idealmente l’utente è ignaro di tutti i dettagli delle

operazioni svolte dai livelli inferiori della gerarchia L’utente ha conoscenza solo delle operazioni che è

interessato ad effettuare– Nell’esempio precedente l’utente è interessato alla data e

conosce solo il comando che serve per ottenere tale informazione

Page 15: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

15

Esempio: i driver dei dispositivi Ogni dispositivo collegato al computer è gestito da

un modulo del sistema operativo chiamato driver Ogni volta che si aggiunge un nuovo dispositivo si

deve installare il driver corrispondente

DriverModem

Kernel

DriverStampante

DriverVideo

Page 16: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

16

Il File System Esistono diversi tipi di supporti per la

memorizzazione permanente delle informazioni: dischi magnetici (floppy disk, hard disk), dischi ottici (cd), nastri magnetici

Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti

I file vengono utilizzati per la memorizzazione dei programmi (sia programmi di sistema che programmi utente) e dei dati

Page 17: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

17

Il File System Possiamo vedere il disco fisso come un

quaderno con tante pagine su cui un utente scrive delle relazioni (file)

L’utente ha la necessità di scrivere / cancellare / modificare i file

Page 18: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

18

Il File SystemProblemi: Quando un file viene cancellato rimangono delle

pagine vuote La modifica di un file può dare origine ad una

versione: (più corta o più lunga di quella precedente) Nel primo caso rimangono delle pagine vuote Nel secondo caso la modifica può essere

impossibile perchè ci potrebbero essere dei file che occupano le pagine seguenti a quelle del file da modificare

Come risolvere questi problemi ?

Page 19: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

19

Il File System Esistono diverse soluzioni per questi problemi:

– Utilizzo di un quaderno “ad anelli”: le pagine possono

essere spostate, aggiunte, cancellate senza creare

sprechi di spazio e senza limitazioni sulla crescita delle

dimensioni di un file (l’unico limite è quello di avere fogli

liberi)

– Utilizzo di un indice: le pagine del quaderno vengono

numerate e l’indice conterrà (nell’ordine) i numeri delle

pagine del file

Page 20: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

20

Il File SystemEsempio:

I livelli più bassi e, in

particolare il più basso,

detto kernel, sono quelli

più vicini all'hardware e

dipendono quindi dalla

specifica macchina; i

livelli più alti, invece,

sono più vicini agli utenti

e ai programmi

applicativi e sono

abbastanza indipendenti

dalle

4

caratteristiche hardware

dell'elaboratore. Ai

diversi livelli

corrispondono

funzionalità diverse; ad

esempio, i livelli bassi si

occupano della gestione

efficiente delle risorse di

calcolo mentre quelli alti

forniscono

61

Dal punto di vista

strutturale il sistema

operativo è formato da un

insieme di livelli, che

formano la cosiddetta

struttura a cipolla;

ciascun livello fornisce un

insieme di funzioni e di

servizi a partire dalle

funzioni e dai servizi

forniti dal livello

sottostante (si veda la

figura 5.1).

relazione1: pag. 1, pag. 4, pag. 6

98.12.11 15:29 B C:\

Matteo\LIBRO-CONS-

RIBA\cap1.doc <--

graal

/usr/NFS/graal1/matteo/L

IBRO-CONS-RIBA

cap1.doc

98.12.11 15:29 B C:\

Matteo\LIBRO

2

-CONS-RIBA\cap2.doc

<-- graal

/usr/NFS/graal1/matteo/L

IBRO-CONS-RIBA

cap2.doc

98.12.11 15:29 B C:\

Matteo\LIBRO-CONS-

RIBA\cap3.doc <--

graal /usr/NFS/graal1

3

/matteo/LIBRO-CONS-

RIBA cap3.doc

98.12.11 15:29 B C:\

Matteo\LIBRO-CONS-

RIBA\cap4.doc <--

graal

/usr/NFS/graal1/matteo/L

IBRO-CONS-RIBA

cap4.doc

7

relazione2: pag. 2, pag. 3, pag. 7

Dal punto di vista

strutturale il sistema

operativo è formato da un

insieme di livelli, che

formano la cosiddetta

struttura a cipolla;

ciascun livello fornisce un

insieme di funzioni e di

servizi a partire dalle

funzioni e dai servizi

forniti dal livello

sottostante (si veda la

figura 5.1).

5

Dal punto di vista

strutturale il sistema

operativo è formato da un

insieme di livelli, che

formano la cosiddetta

struttura a cipolla;

ciascun livello fornisce un

insieme di funzioni e di

servizi a partire dalle

funzioni e dai servizi

forniti dal livello

sottostante (si veda la

figura 5.1).

8

relazione3: pag. 5, pag. 8

9 10 11

Pagine bianche

Page 21: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

21

Il File System: Indice dei file

Con questa organizzazione l’indice conterrà il

nome dei file memorizzati

L’indice del quaderno sarà di questo tipo:

– <nome file> : numeri di pagine …

L’utente mediante l’indice accede ai vari file

Il sistema si occupa di reperire le varie pagine

Page 22: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

22

Il File System Il sistema operativo deve fornire una visione

astratta dei file su disco e l'utente deve avere la possibilità di:– identificare ogni file con un nome (filename) astraendo

completamente dalla sua memorizzazione fisica– avere un insieme di operazioni per lavorare sui file: creare

o rimuovere un file, copiarlo, cambiargli nome, inserire informazioni in un file

– effettuare l'accesso alle informazioni mediante operazioni ad alto livello, che non tengono conto del tipo di memorizzazione (accedere ad un file memorizzato sul disco rigido oppure su un CD-ROM allo stesso modo)

Page 23: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

23

Il File System

– avere la possibilità di strutturare un insieme di file, organizzandoli in sottoinsiemi secondo le loro caratteristiche, per avere una visione ordinata e strutturata delle informazioni sul disco

– in un sistema multi-utente, inoltre l’utente deve avere dei meccanismi per proteggere i propri file, ossia per impedire ad altri di leggerli, scriverli o cancellarli

– I moderni sistemi operativi (es. Windows) forniscono supporto per queste attività

Page 24: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

24

Operazioni sui File Un insieme di operazioni minimale, presente in tutti i

sistemi, è il seguente:– creazione di un file– cancellazione (rimozione) di un file– copia di un file– visualizzazione del contenuto di un file ad esempio sul

video del terminale o in una finestra sul video– stampa di un file– lettura e modifica del contenuto di un file– rinomina di un file, per cambiare il nome ad un file– visualizzazione delle caratteristiche di un insieme di file

(dimensione, data di creazione e dell’ultima modifica, vincoli di protezione, ecc.)

Page 25: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

25

Organizzazione Gerarchica dei file Il numero di file che devono essere memorizzati su

un disco può essere estremamente elevato Si ha quindi la necessità di mantenere i file in una

forma ordinata Un unico spazio (contenitore) di file è scomodo

perché le operazioni di ricerca di un file e di creazione di un nuovo file diventano onerose (non è possibile avere due file con lo stesso nome)

L'idea è quella di raggruppare i file in sottoinsiemi (seguendo magari dei criteri di tipo logico)

Page 26: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

26

Organizzazione Gerarchica dei file Tutti i sistemi operativi forniscono operazioni per

creare delle directory Una directory è costituita da un insieme di file I nomi dei file sono locali alle directory (si possono

avere due file con lo stesso nome purché siano in due directory diverse)

In questo modo l’indice conterrà due tipi di oggetti: nomi di file e nomi di directoryrelazione1relazione2cartella-esamicartella-documenti-privatirelazione3

•Rel-esame1•Rel-esame2{

{•Elenco-Appuntamenti•Elenco-Indirizzi

Page 27: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

27

Nomi di file e directory Costituiti da (almeno) due parti:

– nome: scelto dall’utente, sistema impone lunghezza massima (8 caratteri in DOS, 255 in Unix e Windows 95) e caratteri usabili

– estensione: separata dal nome dal carattere ‘.’, identifica il formato del file o l’applicazione che lo ha creato image1.bmp indica un file immagine in formato

bitmap testo.doc indica un documento Word

Page 28: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

28

Nomi di Unità I sistemi sono dotati di più

unità di memoria DOS e Windows usano nomi

di unità per distinguerle In UNIX la gestione è

trasparente all’utente: utente conosce solo nome di file, e non si interessa dell’unità dove è memorizzato

Page 29: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

29

Organizzazione Gerarchica dei file

Page 30: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

30

Organizzazione Gerarchica dei file

Floppy da 3,5 pollici (A:)

Applicazioni

Biblioteca

Indice

Utenti

Elab_imm

Elab_suoni

Elab_testi

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

Bianchi

Photoshop.exe

Premiere.exe

Winword.exe

Pautasso

Rossi

libro1libro2libro1libro2libro3libro1libro2libro3

Questa struttura viene chiamata alberoRadice dell’alberoNodiFoglie

Page 31: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

31

Organizzazione Gerarchica dei file Se non esiste la strutturazione in directory, tutti i file

possono essere identificati mediante il loro nome Nel caso di un’organizzazione gerarchica a più

livelli il nome non è più sufficiente ad identificare il file (nell’esempio precedente esistono diversi file con lo stesso nome)

Per individuare un file o una directory in modo univoco si deve allora specificare l'intera sequenza di directory che lo contengono, a partire dalla radice dell'albero

Page 32: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

32

Organizzazione Gerarchica dei file Ad esempio il file libro1 di narrativa italiana è

univocamente identificato dalla sequenza:A:\Biblioteca\Narrativa-Ita\libro1

La directory Pautasso di Utenti è identificata dalla sequenza:

A:\Utenti\Pautasso Il carattere “\” (backslash) viene usato come separatore. Una sequenza di questo tipo può essere vista come il

cammino che si deve compiere per raggiungere un determinato file a partire dalla radice dell'albero, ed è chiamata pathname

Page 33: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

33

Organizzazione Gerarchica dei file Un altro modo di individuare un file (o una

directory) è basato sul concetto di posizione In questo caso per individuare un file o una

directory in modo univoco si deve specificare l'intera sequenza di directory che lo contengono, a partire dalla posizione corrente

Page 34: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

34

Organizzazione Gerarchica dei file

Floppy da 3,5 pollici (A:)

Applicazioni

Biblioteca

Indice

Utenti

Elab_imm

Elab_suoni

Elab_testi

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

Bianchi

Photoshop.exe

Premiere.exe

Winword.exe

Pautasso

Rossi

libro1libro2libro1libro2libro3libro1libro2libro3

Posizione corrente

Page 35: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

35

Organizzazione Gerarchica dei file Se la posizione corrente è A:\Biblioteca, il file libro1

di narrativa italiana è univocamente identificato dalla sequenza:

Narrativa-Ita\libro1 Se la posizione corrente è A:\Utenti, la directory

Pautasso è identificata dalla sequenza:

Pautasso Per raggiungere un determinato file a partire dalla

posizione corrente si utilizza il pathname relativo

Page 36: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

36

Organizzazione Gerarchica dei file Per organizzare gerarchicamente i file, il sistema

operativo deve fornire all'utente un insieme di operazioni sulle directory, per esempio:– creare una nuova directory

– rimuovere una directory

– ridenominare una directory

– elencare il contenuto (l'insieme di file e sotto-directory) di una directory

– copiare o spostare i file da una directory ad un'altra

Page 37: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

37

Struttura logica e organizzazione fisica

Floppy da 3,5 pollici (A:)

Applicazioni

Biblioteca

Indice

Utenti

Elab_imm

Elab_suoni

Elab_testi

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

Bianchi

Photoshop.exe

Premiere.exe

Winword.exe

Pautasso

Rossi

libro1libro2libro1libro2libro3libro1libro2libro3

Page 38: 1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia

38

Organizzazione fisica

Elenco file e directoryfloppy da 3,5 pollici (A:)

Applicazioni directory ...

Biblioteca directory ...

Utenti directory ...

Index file-Word ...

Elenco file e directorydirectory Applicazioni

Elab_imm directory ...

Elab_suoni directory ...

Elab_testi directory ...

Elenco file e directorydirectory Elab_imm

Photoshop.exe program ...

Premiere.exe program ...

Elenco file e directorydirectory Elab_suoniElenco file e directorydirectory Elab_imm

Photoshop.exe program ...

Premiere.exe program ...