parte 3 modulo 4: gestore del file system (memoria secondaria) · ♦le fotografie digitali sono un...

28
1 Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) Componenti Interfaccia utente Gestore dell’I/O Gestore del File System Informatica - A.A. 2009/2010 - Sistemi operativi 3.50 *KERNEL Gestore dei Processi Gestore della Memoria Centrale

Upload: lykhue

Post on 15-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

1

Parte 3

Modulo 4:Gestore del File System (Memoria secondaria)

Componenti

Interfaccia utente

Gestore dell’I/O Gestore del File System

Informatica - A.A. 2009/2010 - Sistemi operativi 3.50

*KERNEL

Gestore dei Processi Gestore della Memoria Centrale

Page 2: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

2

Gestore del File System

• Il gestore del file system è quel modulo del sistema operativo incaricato di gestire le informazioni memorizzate sui dispositivi diinformazioni memorizzate sui dispositivi di memoria secondaria DISCO e altri dispositivi di memoria di massa

• Il gestore del file system deve garantire:l tt

Informatica - A.A. 2009/2010 - Sistemi operativi 3.51

– la correttezza– la coerenza– il recupero efficiente

delle informazioni memorizzate

Gestore del File System

• Si occupa di:– Associare un nome di file ad una parte dello spazio

del discodel disco– Fornire metodi per accedere ai file– Rendere trasparente la struttura fisica del disco

• Insieme di programmi per l’organizzazione– Logica Fornire all’utente una visione logica dei

file (che astrae dall’organizzazione fisica)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.52

file (che astrae dall organizzazione fisica)– Fisica gestire i file nella memoria secondaria

(dischi) e ottimizzare l’utilizzo dello spazio disponibile

Page 3: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

3

Organizzazione logica

• L’utente deve poter– organizzare le proprie informazioni in file e

insiemi di file– accedere ai dati– identificare ogni file con un nome logico– operare sui file (creare, eliminare, cambiare

nome, modificare)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.53

)– proteggere i propri file (da accessi non

desiderati)

Organizzazione fisica

• Il Sistema Operativo deve:– tener traccia dei file memorizzati e della loro

posizione fisica sui dischi– ottimizzare l’utilizzo dello spazio su disco– gestire le comunicazioni tra la memoria

principale e la memoria secondaria (disco)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.54

Page 4: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

4

Altre funzioni

• Nei sistemi multi-utente, il Sistema Operativo deve mettere a disposizione dei meccanismi dideve mettere a disposizione dei meccanismi di protezione in modo tale da consentire agli utenti di proteggere i propri dati dall’accesso da parte di altri utenti non autorizzati

Informatica - A.A. 2009/2010 - Sistemi operativi 3.55

File

• Unica unità logica di informazione usata dal Sistema Operativo

• Fisicamente: – Sequenza di byte che contiene informazioni

omogenee– Es., programma, testo, dati simili, …– Byte = 8 bit

Tutti i dati vengono suddivisi in file

Informatica - A.A. 2009/2010 - Sistemi operativi 3.56

• Tutti i dati vengono suddivisi in file• I file vengono memorizzati nelle memorie di

massa

Page 5: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

5

File

• Un insieme di informazioni (dati, documenti) memorizzate su supporti di memoria secondaria sotto forma di una sequenza di bit byte recordsotto forma di una sequenza di bit, byte, record logici, record fisici

file Disco

Informatica - A.A. 2009/2010 - Sistemi operativi 3.57

Tipo di file

• Ogni file è composto tipicamente da:– Nome: stringa arbitraria decisa dall’utente

E t i i i (fi t ) di tt i h– Estensione: insieme (fissato) di caratteri che definiscono il TIPO di un file

Esempifile.doc file.zip file.wavfile txt file gif file mpeg

Informatica - A.A. 2009/2010 - Sistemi operativi 3.58

file.txt file.gif file.mpegfile.jpg file.xls …file.pdf file.exefile.ppt file.mp3

Page 6: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

6

Operazioni su file

• Creazione• Apertura

Chi• Chiusura• Cancellazione• Copia • Rinomina• Visualizzazione

Informatica - A.A. 2009/2010 - Sistemi operativi 3.59

• Lettura• Scrittura• Modifica• …

Operazioni sui file

• Nuovo: crea una nuova istanza di file

• Apri: localizza un file sul disco e lo apre

• Chiudi: termina l’elaborazione dell’istanza corrente dell’informazione e chiude la finestra, ma tiene il programma aperto per elaborare altre istanze

• Salva: scrive l’istanza corrente sul disco, usando lo stesso nome e la stessa posizione

Informatica - A.A. 2009/2010 - Sistemi operativi 3.60

stessa posizione

• Salva come: scrive l’istanza corrente sul disco con un nuovo nome e/o una posizione differente

Page 7: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

7

Nuova istanza di file• Il comando Nuovo crea una

istanza “vuota”

• Cos’è una “informazione vuota”?Cos è una informazione vuota ?– l’informazione è suddivisa in tipi

basati su caratteristiche. Es., ♦ le fotografie digitali sono un tipo di

informazione; la lunghezza e la larghezza sono due delle sue proprietà

♦ i documenti di testo sono un tipo di

Informatica - A.A. 2009/2010 - Sistemi operativi 3.61

♦ i documenti di testo sono un tipo di informazione; il numero di caratteri è una delle sue proprietà

– Un’istanza vuota è una struttura vuota, senza alcuna caratteristica se non per quanto riguarda il formato

Istanza di una rubrica

Organizzazione di più file: directory

• Quasi tutti i sistemi operativi utilizzano un’organizzazione gerarchica del File Systemun organizzazione gerarchica del File System

• L’elemento utilizzato per raggruppare più file insieme è la directory

• L’insieme gerarchico delle directory e dei file può essere rappresentato attraverso una

Informatica - A.A. 2009/2010 - Sistemi operativi 3.62

può essere rappresentato attraverso una rappresentazione grafica: albero delle directory

Page 8: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

8

Organizzazione dei file

• Possibilità di organizzare i file in Directory(dette anche Cartelle), ovvero come insiemi di:– file– altre directory

• Il tutto arricchito da un elenco dei contenuti

• Organizzazione gerarchica: logica o fisica?

Informatica - A.A. 2009/2010 - Sistemi operativi 3.63

Organizzazione gerarchica: logica o fisica?

Organizzazione solo logica: non c’è alcunarelazione con la posizione fisica dei file di una

directory (cartella) sul disco

Organizzazione ad albero

• Albero rovesciato (come genealogico)• Nodi e collegamenti padre-figlio tra nodi

Nodo: file o directory• Nodo: file o directory• Nodi divisi per livelli• Collegamenti tra nodi di livelli vicini:

– nodo sopra = padre– nodo sotto = figlio

• Ogni nodo ha un solo padre

directoryfile

Informatica - A.A. 2009/2010 - Sistemi operativi 3.64

Ogni nodo ha un solo padre• Padre più in alto = radice• I nodi file non hanno figli• Cammino assoluto o relativo (per file)

Page 9: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

9

Albero delle Directory

Directory

File

Informatica - A.A. 2009/2010 - Sistemi operativi 3.65

Operazioni su directory

• Organizzazione di file in strutture chiamate cartelle (directory)

• Creazione directory• Eliminazione directory• Elenco file di una directory• Ricerca

• di un particolare file

Informatica - A.A. 2009/2010 - Sistemi operativi 3.66

p• di tutti i file che soddisfano una particolare relazione

• Operazioni più complesse: backup, …

Page 10: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

10

Esempio: Albero delle directory in Unix

• La directory principale è "/"

• Lo stesso• Lo stesso carattere / viene usato per separare i nomi delle directory

• Ad esempio /usr/bin/ indica

Informatica - A.A. 2009/2010 - Sistemi operativi 3.67

la directory bincontenuta nella directory usrcontenuta nella root (/)

Path assoluto e relativo

• Un path assoluto avrà un simile aspetto: /usr/local/bin– sarà funzionante in qualsiasi directory in cui ci si

trova• Un path relativo ha aspetto simile a local/bin

– indica directory diverse a seconda della directory in cui ci si trova

• In questo caso local/bin coincide con /usr/local/bin solo se ci si trova in /usr/

Informatica - A.A. 2009/2010 - Sistemi operativi 3.68

Page 11: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

11

Tipi di file system esistenti

• Nel corso della storia informatica è stata ideata una miriade di file system

• I sistemi operativi moderni sono spesso in grado di accedere a diversi file system, spesso semplicemente installando un apposito modulo o driver

• File system più diffusi:– Fat– NTFS– Ext3

Informatica - A.A. 2009/2010 - Sistemi operativi 3.69

FAT

• FAT - File Allocation Table• E’ il file system primario per i sistemi operativi

Microsoft Windows fino alla versione Windows ME

• Windows NT e le successive versioni hanno introdotto l'NTFS e mantenuto la compatibilità con la FAT

• File system piuttosto semplice da gestire adatto per dispositivi come memory card

Informatica - A.A. 2009/2010 - Sistemi operativi 3.70

Page 12: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

12

NTFS

• NTFS - New Technology File System• File system dei sistemi operativi basati su

kernel NT• Notevole passo avanti rispetto a FAT• Principali caratteristiche:

– Affidabilità - sistema transazionale (o "Journaled”); questo vuol dire che se un'operazione è interrotta a

tà ( d i bl k t) i lmetà (ad esempio per un blackout) viene persa solo quell'operazione ma non è compromessa l'integrità del file system il quale resta comunque leggibile dal computer.

Informatica - A.A. 2009/2010 - Sistemi operativi 3.71

NTFS

– Permessi e Controllo d'Accesso - a ciascun file o cartella è possibile assegnare dei diritti di accesso (lettura scrittura modifica cancellazione e altri)(lettura, scrittura, modifica, cancellazione e altri)

– Nomi lunghi e Unicode - i nomi dei file e delle cartelle possono essere lunghi fino a 255 caratteri e possono contenere caratteri di tutte le lingue del mondo grazie alla codifica Unicode

– Dimensioni e Flessibilità – La dimensione e il massimo numero di file sono praticamente illimitati; la dimensione massima di un singolo file è di 16 Terabytes, contro i 4 GigaBytes di FAT

Informatica - A.A. 2009/2010 - Sistemi operativi 3.72

Page 13: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

13

Ext3

• Extended File System 3 - diffuso su sistemi GNU/Linuxintrod ce il jo rnaling del file s stem• introduce il journaling del file system.

• Il journaling, presente anche nelle ultime versioni di NTFS, è una caratteristica che permette di evitare che errori e malfunzionamenti hardware (o anche semplici spegnimenti del PC senza chiudere il sistema operativo) possano p ) pdanneggiare i dati scritti sull'unità, creando un "diario" (journal) che elenca le modifiche da effettuare sul filesystem

Informatica - A.A. 2009/2010 - Sistemi operativi 3.73

Partizioni di un disco

• Un singolo hard disk può essere diviso in diverse partizioni, ciascuna delle quali funziona come se fosse un disco separatofunziona come se fosse un disco separato

• L'idea è che se avete un hard disk e si vogliono avere due sistemi operativi, si può suddividere il disco in due partizioni– ciascun sistema operativo userà la sua

ti i l t h à llpartizione come vuole e non toccherà quella dell'altro

– Senza le partizioni ci sarebbe voluto un disco per ciascun sistema operativo

Informatica - A.A. 2009/2010 - Sistemi operativi 3.74

Page 14: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

14

Master Boot Record

• Le informazioni sul partizionamento di un hard disk si trovano nel suo primo settore (cioè, il primo settore della prima traccia della primaprimo settore della prima traccia della prima superficie del disco)

• Questo settore si chiama master boot record(MBR) del disco

• MBR è il settore che il BIOS legge ed avvia d l hi iquando la macchina viene accesa

Informatica - A.A. 2009/2010 - Sistemi operativi 3.75

Master Boot Record

• Il master boot record contiene un piccolo programma che legge la tabella delle partizioni controlla quale partizione è attivapartizioni, controlla quale partizione è attiva (cioè quale è contrassegnata come avviabile) e legge il primo settore di quella partizione, il boot sector (settore di avvio) della partizione

• Anche l'MBR è un settore di avvio, ma ha uno status speciale e quindi un nome specialestatus speciale e quindi un nome speciale

• Il boot sector contiene un altro programmino che legge la prima parte del sistema operativo contenuto in quella partizione (sempre che sia avviabile) e lo avvia

Informatica - A.A. 2009/2010 - Sistemi operativi 3.76

Page 15: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

15

Parte 3

Modulo 5:Gestore dei processi

Componenti

Interfaccia utente

Gestore dell’I/O Gestore del File System

Informatica - A.A. 2009/2010 - Sistemi operativi 3.78

*KERNEL

Gestore dei Processi Gestore della Memoria Centrale

Page 16: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

16

Gestore dei processi

• Un sistema operativo con supporto per il multitasking (multiprocessualità) permette di eseguire più programmi contemporaneamenteeseguire più programmi contemporaneamente

• SO in time sharing• Permette la condivisione della CPU tra più

processi• Il tempo di esecuzione del processore è

condiviso tra più processi / utenti• Ogni processo in esecuzione ha a disposizione

dei quanti di tempo della CPU

Informatica - A.A. 2009/2010 - Sistemi operativi 3.79

Time sharing

• Se viene chiesto al sistema di eseguire contemporaneamente due processi A e B, la CPU attuerà un meccanismo di time sharingCPU attuerà un meccanismo di time-sharingeseguirà per qualche istante il processo A, poi per qualche istante il processo B, poi tornerà ad eseguire il processo A e così via

• Il passaggio dal processo A al processo B e viceversa viene definito cambio di contestoviceversa viene definito cambio di contesto (context switch)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.80

Page 17: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

17

Scheduler

• Le decisioni riguardanti l'esecuzione di un cambio di contesto tra due programmi

i t d t d lvengono intraprese da un componente del sistema operativo detto scheduler

• Lo scheduler controlla lo scheduling, ossia la ripartizione del tempo di CPU tra tutti i processi concorrenti (i processi attivi nello stesso momento sul calcolatore che sistesso momento sul calcolatore che si contendono l’uso della CPU)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.81

Scheduling

• Lo scheduling è un'operazione molto importante per il corretto ed efficientefunzionamento del calcolatorefunzionamento del calcolatore

• Consente di eseguire più programmi concorrentemente

• Consente di migliorare l'utilizzo del processore• Possibile uso di preemption (o pre-rilascio):

i i i ioperazione in cui un processo viene temporaneamente interrotto, con l'intenzione di ripristinarlo in un secondo momento, per dare spazio ad un altro processo a priorità più alta

Informatica - A.A. 2009/2010 - Sistemi operativi 3.82

Page 18: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

18

Algoritmi di scheduling

• Esistono vari algoritmi di scheduling che tengono conto di varie esigenze e che possono essere più indicati in alcuni contesti piuttosto che in altriindicati in alcuni contesti piuttosto che in altri

• La scelta dell'algoritmo da usare dipende da cinque principali criteri:

1. Utilizzo del processore: la CPU deve essere attiva il più possibile (ovvero devono essere ridotti al minimo i possibili tempi morti)p p )

2. Produttività (throughput): il numero di processi completati in una determinata quantità di tempo

Informatica - A.A. 2009/2010 - Sistemi operativi 3.83

Algoritmi di scheduling

3. Tempo di completamento: il tempo che intercorre tra la sottomissione di un processo ed il completamento della sua esecuzioneed il completamento della sua esecuzione

4. Tempo d'attesa: il tempo in cui un processo pronto per l'esecuzione rimane in attesa della CPU (wait time)

5. Tempo di risposta: il tempo che trascorre tra l tt i i d l l' tt i tla sottomissione del processo e l'ottenimento della prima risposta

Informatica - A.A. 2009/2010 - Sistemi operativi 3.84

Page 19: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

19

Criteri di ottimizzazione

CRITERI da ottimizzare:• Massimizzare l’utilizzo del processore• Massimizzare la produttività• Minimizzare il tempo di completamento• Minimizzare il tempo di attesa• Minimizzare il tempo di risposta

• NOTA: generalmente si tende ad ottimizzare i valori medi

Informatica - A.A. 2009/2010 - Sistemi operativi 3.85

Round Robin

• L'algoritmo di scheduling RR (Round Robin) esegue i processi nell'ordine d'arrivo, ma esegue la preemption del processo inesegue la preemption del processo in esecuzione, ponendolo alla fine della coda dei processi in attesa, qualora l'esecuzione duri più del quanto di tempo stabilito, e facendo proseguire l'esecuzione al successivo processo in attesaprocesso in attesa

• Assegna ‘a turno’ un quanto di tempo di CPU ai processi in attesa

Informatica - A.A. 2009/2010 - Sistemi operativi 3.86

Page 20: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

20

Esempio

• Ipotesi: i seguenti processi siano in coda con relativa durata in millisecondi, e quanto di tempo stabilito di 20 ms:tempo stabilito di 20 ms:p1 30 → p2 15 → p3 60 → p4 45

• p1 (20 ms, ne rimangono 10) → p2 (termina la propria esecuzione perché dura meno di 20 ms) → p3 (20 ms, ne rimangono 40) → p4 (20

i 25) 1 (t i héms, ne rimangono 25) → p1 (termina perché necessitava di meno di 20 ms) → p3 (20 ms, ne rimangono 20) → p4 (20 ms, ne rimangono 5) → p3 (termina perché necessitava di esattamente 20 ms) → p4 (termina)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.87

Criterio di ottimizzazione

• Per valutare l’algoritmo di scheduling facciamo riferimento al tempo medio di attesa

• Tempo di attesa = istante finale di esecuzione –durata del processo

• p1 termina all’istante 85, p2 a 35, p3 a 145, p4 a 150

• Tempo medio di attesa: [(85-30)+(35-15)+(145-60)+(150-45)]/4 = 66,25 ms

Informatica - A.A. 2009/2010 - Sistemi operativi 3.88

Page 21: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

21

Shortest Next Process First

• SNPF prevede che venga eseguito sempre il processo con il tempo di esecuzione più breve tra quelli in attesaquelli in attesa

• Esempio: siano sottomessi contemporaneamente i seguenti processi, con la rispettiva durata di esecuzione in ms:p1 30 → p2 15 → p3 60 → p4 45

• I processi vengono eseguiti nel seguente ordine:I processi vengono eseguiti nel seguente ordine: p2 → p1 → p4 → p3

• p2 termina all’istante 15, p1 a 45, p4 a 90, p3 a 150

Informatica - A.A. 2009/2010 - Sistemi operativi 3.89

[(15-15)+(45-30)+(90-45)+(150-60)]/4 = 37,5 ms

SNPF

• Si può dimostrare che questo algoritmo è ottimale, in quanto consente di ottenere sempre il valore più basso di tempo d'attesasempre il valore più basso di tempo d'attesa medio

• Sfortunatamente non è possibile applicarlo, in quanto non è possibile conoscere anticipatamente quanto durerà l'esecuzione del processodel processo

• Potrebbe essere possibile predirlo

Informatica - A.A. 2009/2010 - Sistemi operativi 3.90

Page 22: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

22

Scheduling con priorità• Una priorità (numero intero) è assegnata ad

ogni processo• La CPU è assegnata al processo con più alta• La CPU è assegnata al processo con più alta

priorità (es: il più piccolo intero = la più alta priorità)– Preemptive– Non preemptive

• Problema: Starvation – i processi a più bassaProblema: Starvation i processi a più bassa priorità potrebbero non essere mai eseguiti

• Soluzione: Aging – al trascorrere del tempo di attesa si incrementa la priorità di un processo che attende

Informatica - A.A. 2009/2010 - Sistemi operativi 3.91

Scheduling per multiprocessori

• Lo scheduling nei sistemi multiprocessore è più complesso

• Si possono avere processori omogenei (tutti uguali) o disomogenei (processori diversi)

• Problema del bilanciamento del carico (load balancing)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.92

Page 23: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

23

Parte 3

Modulo 6:Gestore della memoria

centrale

Gestione della memoria centrale

• La gestione concorrente di molti processi comporta la presenza di molti programmi in memoria centralememoria centrale

la memoria centrale diventa una risorsa unica, in generale scarsa, da suddividere tra i vari programmi

• Il gestore della memoria applica tecniche per ti il flitt t di i d llgestire il conflitto tra dimensione della

memoria fisica e spazio complessivamente richiesto dai programmi che devono essere gestiti in modo concorrente e dai relativi dati

Informatica - A.A. 2009/2010 - Sistemi operativi 3.94

Page 24: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

24

Gestione della memoria centrale

• Strategia seguita:– Mantenere in memoria soltanto una porzione dei

programmi e dei dati (la porzione necessaria in quel p g ( p qmomento)

– Alternare le porzioni dei programmi mantenute in memoria: i programmi (o le loro porzioni) possono essere ‘caricati’ e ‘scaricati’ dalla memoria centrale durante l’esecuzione a seconda della necessità

• Due spazi di indirizzamento:Due spazi di indirizzamento:– Fisico: lo spazio di memoria centrale in cui risiede

effettivamente il codice– Logico: intervallo di celle contigue che partono

dall’indirizzo 0 in cui si immagina siano state collocate le istruzioni

Informatica - A.A. 2009/2010 - Sistemi operativi 3.95

Swapping

• Un modo tipico di ovviare a questo problema consiste nell’abilitare il s.o. a trasferire il contenuto di un’area della memoria centrale incontenuto di un’area della memoria centrale in un’area della memoria di massa, detta “area di swap”

• Lo swapping viene applicato trasferendo su disco le informazioni relative ai processi in stato di “attesa” e “pronti per l’esecuzione”stato di attesa e pronti per l esecuzione– Ok per quelli in attesa – Quasi ok per quelli pronti

Informatica - A.A. 2009/2010 - Sistemi operativi 3.96

Page 25: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

25

Paginazione

• Frammentazione della memoria in blocchi di dimensione prefissata detti pagine

• Lo spazio di indirizzamento logico del programma è suddiviso in sezioni, di dimensioni fisse e uguali tra loro, dette pagine logiche

• Lo spazio fisico di indirizzamento presente nel l l t è h’ di i i icalcolatore è anch’esso diviso in pagine

fisiche, della stessa dimensione delle pagine logiche

Informatica - A.A. 2009/2010 - Sistemi operativi 3.97

Vantaggi

• Grazie alla paginazione è possibile: – Estendere la dimensione di un processo

utilizzando spazi di memoria non necessariamente contigui

– Tenere in memoria solo la porzione ridotta del programma che si sta utilizzando

Informatica - A.A. 2009/2010 - Sistemi operativi 3.98

Page 26: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

26

Idea di base della paginazione

• Si basa sul concetto di località spazio-temporale– Non vale la pena di caricare in memoria

centrale tutto il codice di un programma perché l’esecuzione in un dato istante si limita ad una porzione del codice stesso, che spesso viene rieseguitaP i i i d l 10 90 il 10% d l di– Principio del 10-90: il 10% del codice spesso copre il 90% dell’esecuzione

Informatica - A.A. 2009/2010 - Sistemi operativi 3.99

Meccanismo

• Vengono caricate in alcune pagine fisiche della memoria centrale solo alcune pagine logiche del programma in esecuzionedel programma in esecuzione

• Le pagine logiche necessarie vengono caricate di volta in volta in base all’esigenza

• Quante pagine caricare e quante/quali pagine sostituire dipende dalla politica adottata

Informatica - A.A. 2009/2010 - Sistemi operativi 3.100

Page 27: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

27

Memoria virtuale

• Sia nel caso della paginazione, sia in quello della segmentazione, il gestore della memoria offre al programma applicativo la visione dioffre al programma applicativo la visione di una memoria virtuale

• La memoria virtuale v può essere maggiore di quella fisica p: è sufficiente allocare più pagine o segmenti di quelli che possono stare contemporaneamente in p (quelli non caricaticontemporaneamente in p (quelli non caricati in memoria centrale rimangono disponibili in memoria di massa dove i programmi con i relativi dati sono organizzati in file)

Informatica - A.A. 2009/2010 - Sistemi operativi 3.101

Conseguenza

• I programmi con dimensione s>p (spazio fisico di memoria centrale) possono essere eseguiti se s<v (spazio di memoria virtuale)se s<v (spazio di memoria virtuale)

• In questo caso gli indirizzi di s sono riferiti a v quindi:– il gestore della memoria converte gli indirizzi

Informatica - A.A. 2009/2010 - Sistemi operativi 3.102

Page 28: Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) · ♦le fotografie digitali sono un tipo di informazione; la lunghezza e la larghezza sono due delle sue proprietà

28

Processi e memoria

• La gestione della memoria deve essere coordinata con la gestione dei processi:

le pagine di programma che sono attualmente in– le pagine di programma che sono attualmente in esecuzione o che contengono dati attualmente indirizzati devono risiedere in memoria centrale

– se una pagina necessaria ad un processo in esecuzione non si trovano in memoria centrale (page fault), il processo viene sospeso e passa in stato di attesa

– dopo l’operazione di input da memoria di massa delladopo l operazione di input da memoria di massa della pagina il processo torna ad essere pronto

Informatica - A.A. 2009/2010 - Sistemi operativi 3.103