Obiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!
|
|
- Carolina Lillo
- 7 anni fa
- Visualizzazioni
Transcript
1 Obiettivi Memoria Virtuale Descrivere i vantaggi di un sistema a memoria virtuale Concetti fondamentali Paginazione su richiesta (Demand paging) Algoritmi di sostituzione delle pagine Algoritmi di allocazione dei frame Il problema del thrashing (paginazione degenere) 9.2 Silberschatz, Galvin and Gagne 2005 Memoria Virtuale > Memoria Fisica Memoria Virtuale separazione tra spazio di memoria logico (utente) e spazio di memoria fisico (sistema). Solo parte del programma deve necessariamente risiedere in memoria durante l esecuzione Lo spazio degli indirizzi logici può essere molto più grande dello spazio degli indirizzi fisici Lo spazio degli indirizzi può essere condiviso da più processi I processi possono essere gestiti in maniera più efficiente Implementazione della Memoria Virtuale: Paginazione su richiesta (Demand paging) Segmentazione su richiesta (Demand segmentation) 9.3 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
2 Spazio di indirizzamento virtuale Librerie Condivise e Memoria Virtuale 9.5 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Paginazione su Richiesta Trasferimento di memoria paginata in spazio contiguo su disco Portare una pagina in memoria solo quando necessario Riduzione dell I/O Riduzione della memoria necessaria Tempi di risposta più rapidi Più processi/utenti Una pagina è necessaria - esiste un riferimento Se il riferimento è illegale abort Se non è in memoria caricamento della pagina Lazy swapper una pagina non viene mai portata in memoria se non quando è necessaria Swapper che gestisce le pagine prende il nome di pager 9.7 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
3 Bit di Validità Tabella delle pagine - alcune pagine non in memoria Ogni elemento della tabella delle pagine ha un bit di validità associato (v in-memoria, i non-in-memoria) Inizialmente ogni bit di validità è posto a i Quando un indirizzo viene tradotto, se il bit di validità di un riferimento è i page fault Frame #. page table valid-invalid bit v v v v i i i 9.9 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Page Fault Page Fault (Cont.) Quando si indirizza una pagina per la prima volta (non in memoria) si genera un interruzione (trap): page fault 1. SO controlla se: Riferimento illegale abort Riferimento non in memoria 1. Sceglie un frame libero 2. Swap della pagina nel frame 3. Aggiorna le tabelle delle pagine 4. Pone il bit di validazione a v 5. Ricarica l istruzione che ha causato il page fault Ripristino dell istruzione possibili complicazioni Esempio: Istruzione che muove dati oltre il limite delle pagine block move Operazioni autoreferenziali 9.11 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
4 Schema di Gestione dei Page Fault Tempi della Paginazione su richiesta Tasso di Page Fault 0 p 1.0 if p = 0 nessun page fault if p = 1, ogni indirizzamento causa page fault Tempo Effettivo di Accesso (EAT) EAT = (1 p) x accesso in memory + p (overhead di page fault + swap page out + swap page in + overhead di ripristino ) 9.13 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Esempio di Paginazione su richiesta Creazione dei Processi Tempo di accesso in Memoria = 200 nanosec. Tempo medio di servizio di page-fault = 8 msec. EAT = (1 p) x p (8 msec) = (1 p) x p x 8,000,000 = p x 7,999,800 nanosec. Se un indirizzamento ogni 1,000 causa page fault, allora EAT = 8.2 microsec. Cioè un fattore di rallentamento pari a 40 La memoria virtuale determina ulteriori vantaggi. Es.: creazione dei processi con Copy-on-Write 9.15 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
5 Copy-on-Write Prima che Proc1 Modifica Pagina C Copy-on-Write (CoW): processo padre e processo figlio condividono, inizialmente, le stesse pagine di memoria solo se uno di loro modifica una pagina condivisa, di tale pagina viene creata copia privata CoW velocizza la fase di creazione dei processi, in quanto solo le pagine modificate vengono ricopiate 9.17 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Dopo che Proc1 ha modificato Pagina C Cosa succede se non ci sono frame liberi? Sostituzione delle pagine Cerca una pagina in memoria ma non in uso e copiala nell area di swap del disco (swap out) algoritmi performance l algoritmo ottimale dovrebbe minimizzare il numero di page fault Una stessa pagina può venire caricata in memoria in diversi momenti ed occupare frame differenti in istanti differenti Copy page C 9.19 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
6 Sostituzione delle Pagine Sostituzione delle Pagine 1. Trova la locazione della pagina desiderata su disco 2. Trova un frame libero: - se ne esiste uno, usalo - se tutti i frame sono occupati, usa un algoritmo di sostituzione delle pagine per selezionare il frame da liberare 3. Copia la pagina desiderata nel frame liberato; aggiorna le tabelle delle pagine e dei frame 4. Ripristina il processo per l esecuzione 9.21 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Sostituzione delle Pagine Sostituzione delle Pagine Per ridurre i tempi di sostituzione, si può usare una tecnica di swap out modificato Uso di un bit di modifica (dirty bit) solo pagine modificate vengono ricopiate su disco L ottimizzazione del processo di sostituzione di pagina è un elemento fondamentale per implementare la paginazione su richiesta In virtù del criterio di sostituzione delle pagine, la memoria virtuale e fisica possono avere dimensioni anche notevolmente differenti 9.23 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
7 Algoritmi di Sostituzione Page Fault vs. numero di frame disponibili (andamento atteso) Scopo: minimizzare il tasso di page-fault Valutazione fatta considerando sequenze campione di riferimenti alle pagine (stringa dei riferimento) e calcolando il numero di page fault determinati da tale sequenza Consideriamo le stringhe dei riferimenti: Es.1: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 Es.2: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Algoritmo First-In-First-Out (FIFO) Algoritmo First-In-First-Out (FIFO) Stringa dei riferimenti: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 3 frame (3 pagine possono essere in memoria contemporaneamente) t Stringa dei riferimenti: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, frame (3 pagine possono essere in memoria contemporaneamente) page fault 9.27 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
8 Algoritmo First-In-First-Out (FIFO) Algoritmo First-In-First-Out (FIFO) t t Stringa dei riferimenti: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, frame (3 pagine possono essere in memoria contemporaneamente) page fault 9.29 Silberschatz, Galvin and Gagne page fault Stringa dei riferimenti: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 frame (3 pagine possono essere in memoria contemporaneamente) 4 frame Anomalia di Belady: più frame e più page fault page fault 5 10 page fault 9.30 Silberschatz, Galvin and Gagne 2005 FIFO con Anomalia di Belady Algoritmo Ottimale Sostituisce la pagina che, tra quelle presenti in memoria, verrà usata più tardi 9.31 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
9 Algoritmo Ottimale Algoritmo Least Recently Used (LRU) Sostituisce la pagina che, tra quelle presenti in memoria, verrà usata più tardi Sostituisce la pagina che, tra quelle presenti in memoria, non ha ricevuto riferimenti da più tempo. Esempio con 4 frame page fault Problema: dovremmo sapere i riferimenti futuri Performance di riferimento per il confronto degli algoritmi 9.33 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Algoritmo Least Recently Used (LRU) LRU Algorithm (Cont.) 1 Stringa dei Riferimenti: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, Implementazione mediante contatori Un contatore per pagina; ad ogni riferimento, si copia il clock nel contatore Implementazione mediante Stack stack dei numeri di pagina implementato mediante una lista doppiamente linkata Ad ogni riferimento di pagina già in memoria: Muovi l elemento corrispondente al top dello stack tempo di ricerca ridotto 9.35 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
10 Stack per gestire i riferimenti di pagine più recenti Approssimazioni di LRU Bit dei riferimenti Un bit, inizialmente =0, associato ad ogni pagina Quando si indirizza una pagina il bit e posto a 1 Sostituzione: una pagina con bit di riferimento a 0 (se c e ) Non si tiene conto dell ordine temporale dei riferimenti Bit dei riferimenti memorizzati ad intervalli regolari Seconda chance Bit dei riferimenti Sostituzione circolare (Clock replacement) se la pagina da sostituire (in ordine circolare) ha il bit a 1: Poni il bit a 0 Lascia la pagina in memoria Applica la stessa regola provando a sostituire la pagina che segue (nell ordine circolare) 9.37 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Seconda-Chance Algoritmi con Contatore Conta il numero di rifererimenti fatti ad una pagina ad in intervalli di tempo di lunghezza prefissata Algoritmo LFU: sostituisci pagina il cui contatore presenta il minimo valore Problema: pagine con molti riferimenti in un breve intervallo di tempo, rimangono in memoria anche una volta divenute obsolete MFU Algorithm: il contrario di LFU la pagina con il valore più basso probabilmente è stata caricata da poco e sarà usata frequentemente nei prossimi indirizzamenti 9.39 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
11 Allocazione dei Frame Allocazione Statica Ogni processo ha bisogno di un numero minimo di pagine in memoria alcune istruzioni potrebbero indirizzare memoria che è a cavallo di più pagine Politiche di allocazione Allocazione statica Allocazione dinamica (o a priorità) Allocazione uniforme Es. : 100 frame e 5 processi. Ogni processo riceve 20 frame. Allocazione proporzionale in funzione della taglia dei processi s i = taglia del processo p i S = s i m = numero totale di frame a i = allocazione per p i = s i S m m = 64 s 1 =10 s 2 =127 a 1 = a 2 = Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Allocazione a Priorità Allocazione Globale o Locale Allocazione proporzionale, basata su priorità anziché taglia Se P i genera un page fault, Sostituisci uno dei suoi frame Sostituisci il frame di un processo con priorità più bassa Sostituzione Globale il frame per la sostituzione è scelto tra tutti i frame; un processo può usare un frame allocato ad un altro processo Sostituzione Locale ogni processo può operare sostituzione di pagina solo nei frame ad esso già allocati ma il sistema può anche modificare la quantità di frame allocati ad un processo dinamicamente 9.43 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
12 Thrashing (degenerazione) Thrashing (Cont.) Se un processo non ha abbastanza pagine, il tasso di page fault può diventare molto alto. Conseguenze: sottoutilizzo della CPU il SO reagisce aumentando il livello di multiprogrammazione un altro processo viene aggiunto si entra in un circolo vizioso Thrashing maggior parte del tempo speso in operazioni di swapping di pagine 9.45 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Paging su richiesta e Thrashing Località: Statistiche degli Indirizzamenti Perché la paginazione su richiesta funziona? Criterio delle località I Processi migrano da una località all altra Le località di un processo possono essere sovrapposte Perché si ha trashing? Taglia totale delle località > taglia della memoria 9.47 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
13 Modello dell insieme di Lavoro Modello dell Insieme di Lavoro Δ finestra dell insieme di lavoro a numero fissato di riferimenti di pagina Es: 10,000 istruzioni WS i (t) : insieme di lavoro del processo P i al tempo t = pagine indirizzate nei precedenti Δ riferimenti Δ troppo piccolo può non contenere l intera località Δ troppo grande può contenere più località Δ = tutte le pagine usate dal processo D = Σ WS i : #totale di frame richiesti m : totale frame disponibili se D > m Thrashing Criterio: se D > m, sospendi uno dei processi 9.49 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Come determinare l insieme di lavoro Schema 2: Frequenza dei Page-Fault Approssimazione mediante un timer + bit di riferimento Es.: Δ = 10,000 Il Timer genera un segnale ogni 5000 unità di tempo 2 bit associati ad ogni pagina memorizzano i precedenti bit di riferimento Ad ogni interruzione del timer i bit di riferimento delle pagine vengono copiati e azzerati Se almeno uno dei bit in memoria = 1 pagina nell insieme di lavoro E un approssimazione poco accurata Maggiore precisione: 10 bit e interruzioni frequenti (es.: ogni 1000 unità di tempo) Fissa un tasso accetabile di page-fault Se il tasso attuale è basso, il processo perde frame Se il tasso attuale è alto,al processo vengono allocati più frame 9.51 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
14 Prepaging Altre problematiche relative alla Paginazione Allocazione della Memoria Kernel Prepaging Scopo: ridurre l alto tasso di page falut che si verifica nelle prime fasi dell esecuzione di un processo Schema: carica un certo numero delle pagine che un processo necessiterà prima che ad esse venga fatto accesso Problema: se le pagine prepaginate non vengono utilizzate, la memoria e le operazioni di I/O eseguite risultano perse Se s pagine sono prepaginate e solo una frazione 0< α < 1 di esse vengono usate Page fault evitati = s * α Costo di prepaginazione = s * (1- α) (unnecessary pages)? α ~ 0 prepaginazione è deleteria 9.53 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 TLB Reach File Mappati in Memoria TLB Reach Quantità di memoria accessibile dalla TLB TLB Reach = (TLB Size) X (Page Size) Idealmente, l insieme di lavoro di ogni processo è nella TLB Altrimenti, alto tasso di page fault Soluzioni: Aumenta la taglia delle pagine Conseguenza: Aumenta la frammentazione interna Pagine di taglia variabile Riduce il rischio di frammentazione interna I/O con file mappati in memoria permette la gestione dei file in termini di accessi alla memoria. Un blocco del disco viene mappato ad una pagina di memoria Un file viene inizialmente letto mediante paginazione su richiesta. Una porzione del file della dimensione di una pagine viene inizialmente trasferita dal file-system in una pagina fisica. Ogni successiva istruzione di lettura/scrittura viene trattata come una operazione di accesso alla memoria. I/O semplificato Accesso alla memoria piuttosto che read()write() Promotion e demotion di pagine Più processi possono mappare lo stesso file in memoria Condivisione delle pagine 9.55 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
15 Memory Mapped Files Struttura dei programmi Int[128,128] data; Ogni riga in una pagina diversa Programma 1 for (j = 0; j <128; j++) for (i = 0; i < 128; i++) data[i,j] = 0; 128 x 128 = 16,384 page fault Programma page fault for (i = 0; i < 128; i++) for (j = 0; j < 128; j++) data[i,j] = 0; 9.57 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 I/O interlock Le pagine usate per I/O devono rimanere in Memoria I/O Interlock Alcune pagine devono essere bloccate in memoria Es.: I/O Pagine usate per copiare un file da un dispositivo devono essere bloccate in modo da evitare che vengano swapped out prima della ricezione dei dati dal dispositivo I/O 9.59 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
16 Allocazione di Memoria Kernel Systema Buddy Trattata in maniera diversa dalla memoria utente Spesso allocata da uno spazio contiguo di memoria libera Il Kernel necessita di memoria per strutture dati di diverse dimensioni (spesso inferiore ad una pagina) Necessità di allocazioni contigue Allocata memoria da segmenti di taglia predefinita e in pagine di memoria contigue Memoria allocata in blocchi la cui dimensione è una potenza-di-2 Le richieste vengono arrotondate alla minima potenza di due superiore sufficiente Quando si richiede meno memoria, il blocco di memoria viene suddiviso in due buddy della potenza di 2 inferiore Si continua con le suddivisioni fino alla generazione di blocchi di taglia appropriata 9.61 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005 Sistema Buddy Allocazione a lastre (slab allocator) Slab (lastra) : una o più pagine contigue Cache : uno o più slab Ogni cache corrisponde ad una struttura dati specifica del kernel Ogni cache contiene oggetti istanze della struttura dati Alla creazione, la cache contiene oggetti vuoti L allocazione, cambia lo stato dell oggetto ad usato Slab pieno il prossimo oggetto allocato da uno slab vuoto Nessuno slab vuoto allocazione di un nuovo slab Benefici: Nessuna frammentazione, allocazione rapida Però: all interno delle lastre alcuni oggetti potrebbero non essere utilizzati 9.63 Silberschatz, Galvin and Gagne Silberschatz, Galvin and Gagne 2005
17 Allocazione mediante Slab 9.65 Silberschatz, Galvin and Gagne 2005
Descrivere i vantaggi di un sistema a memoria virtuale
Descrivere i vantaggi di un sistema a memoria virtuale Concetti fondamentali! Paginazione su richiesta (Demand paging)! Algoritmi di sostituzione delle pagine! Algoritmi di allocazione dei frame! Il problema
DettagliGESTIONE DELLA MEMORIA CENTRALE
GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
DettagliMemoria Virtuale. Sommario. Introduzione Paginazione su domanda. Rimpiazzamento delle pagine Allocazione dei frame
Memoria Virtuale Sommario Introduzione Paginazione su domanda Rimpiazzamento delle pagine Allocazione dei frame 1 Introduzione Caratteristica degli schemi precedenti per la gestione della memoria: l intero
DettagliSistemi operativi - Concetti ed esempi -Settima edizione
Capitolo 9: Memoria virtuale Capitolo 9: Memoria virtuale Introduzione Paginazione su richiesta Copiatura su scrittura Sostituzione delle pagine Allocazione di frame Paginazione degenere (thrashing) File
DettagliCapitolo 10: Memoria virtuale
Capitolo 10: Memoria virtuale Ambiente. Richiesta di paginazione. Creazione del processo. Sostituzione della pagina. Allocazione dei frame. Thrashing. Altre considerazioni. 10.1 Ambiente Memoria virtuale
DettagliSistemi operativi e distribuiti
Sistemi operativi e distribuiti La memoria virtuale Memoria Virtuale Separazione della memoria logica da quella fisica Un programma potrebbe risiedere in memoria solo parzialmente Lo spazio di indirizzamento
DettagliMemoria Virtuale. Background Paginazionesu richiesta Sostituzione delle pagine Algoritmi di sostituzione delle pagine Allocazione dei frame Thrashing
Memoria Virtuale Background Paginazionesu richiesta Sostituzione delle pagine Algoritmi di sostituzione delle pagine Allocazione dei frame Thrashing Background Memoria virtuale separazione della memoria
DettagliMemoria virtuale. Capitolo 9 - Silberschatz
Memoria virtuale Capitolo 9 - Silberschatz Processo in memoria Istruzioni in memoria prima di essere eseguite. Condizione necessaria e ragionevole ma le dimensioni del programma devono essere correlate
DettagliSimuliamo ora il funzionamento di LRU sulla reference string data:
1. Un computer ha quattro frame, i cui istanti di caricamento, di ultimo riferimento e i reference bit sono riportati nella seguente tabella: Frame Caric. Rifer. R 2 135 287 1 1 240 250 1 0 169 253 0 3
DettagliSistemi Operativi (modulo di Informatica II) La memoria virtuale
Sistemi Operativi (modulo di Informatica II) La memoria virtuale Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Ambiente virtuale Richiesta di paginazione Creazione di un processo
DettagliMemoria Virtuale. Considerazioni sulla paginazione e segmentazione
Memoria Virtuale Generalità Hardware di supporto Scelte di progetto 1 Considerazioni sulla paginazione e segmentazione I riferimenti di Memoria sono tradotti dinamicamente in indirizzi fisici a run time
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 205-6 Pietro Frasca Lezione 3 Martedì 7--205 Paginazione su richiesta Con la tecnica della paginazione
DettagliLa memoria virtuale. Operating System Concepts 9 th Edition
La memoria virtuale La memoria virtuale Background Paginazione su richiesta Copy on Write Sostituzione delle pagine Allocazione dei frame Thrashing File mappati in memoria Allocazione di memoria del kernel
Dettagli9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale
1 (es. 1) Consideriamo un processo con m frame inizialmente uoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine dierse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è il
DettagliSistemi Operativi Il Sistema Operativo Windows (parte 2)
Sistemi Operativi Il Sistema Operativo Windows (parte 2) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Gestione della memoria 1 Ogni processo dispone
DettagliGestione della memoria
Gestione della memoria centrale Gestione della memoria Concetti generali. Swapping. Allocazione contigua di memoria. Paginazione. Segmentazione. Segmentazione con paginazione. Esempio: Pentium Intel Background
DettagliGESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
DettagliMemoria Virtuale. Lezione 6-7 Sistemi Operativi
Memoria Virtuale Lezione 6-7 Sistemi Operativi Problemi implementativi Dal punto di vista del SO la realizzazione di un sistema di VM richiede la soluzione di una serie di problemi: Individuazione di strutture
DettagliGestione della Memoria
Gestione della Memoria Multiprogrammazione e gestione della memoria L obiettivo primario della multiprogrammazione e` l uso efficiente delle risorse computazionali: Efficienza nell uso della CPU Velocita`
DettagliGestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliGestione della memoria
Gestione della memoria Gestione della memoria In un sistema multiprogrammato il numero di processi è > del numero di processori, ciò implica: unità di elaborazione virtuale memoria virtuale Un gestore
DettagliGESTIONE DELLA MEMORIA CENTRALE
GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
DettagliGestione Memoria. Gestione della memoria
Gestione Memoria Gestione della memoria Il sistema operativo ha il compito di: Assegnare ad ogni processo la memoria di cui ha bisogno per la sua esecuzione Isolare i processi facendo in modo che i processi
DettagliThe big picture. Gestione della Memoria (2) Paging (paginazione) Schema di traduzione degli indirizzi
The big picture Augmenting Swappig Virtual Page request Page replacement Frame Paging Gestione della Memoria () Process organization () Non contiguous Contiguous Dynamic Table based Paging & HW support
DettagliSistemi operativi e distribuiti
Sistemi operativi e distribuiti La memoria Indirizzi fisici e indirizzi logici Importante separazione di concetti Ci permette di separare la parte software da la parte hardware Indirizzo logico (o virtuale):
DettagliGestione della memoria. Introduzione Swapping Allocazione contigua Paginazione
Gestione della memoria Introduzione Swapping Allocazione contigua Paginazione Introduzione In un sistema monoprogrammato la memoria centrale è divisa in due parti: una per il sistema operativo, l altra
DettagliMemoria Virtuale. Sistemi operativi- AA 2015/16 1 1
Memoria Virtuale Sistemi operativi- AA 2015/16 1 1 2 Sommario Virtualizzazione della memoria Algoritmi di sostituzione delle pagine Allocazione dei frame Trashing Segmentazione su richiesta Conclusioni
Dettagli! 11.2! Silberschatz, Galvin and Gagne 2005! Operating System Concepts 7 th Edition, Jan 1, 2005!
Struttura dei File! Unitaʼ logica di memorizzazione! Collezione di informazioni correlate! File control block (inode) struttura dati per le informazioni principali riguardanti un file! Fle system! risiede
DettagliSistemi Operativi. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania
Sistemi Operativi C.d.L. in Informatica (laurea triennale) Anno Accademico 2012-2013 Dipartimento di Matematica e Informatica Catania Gestione della Memoria Prof. Mario Di Raimondo Memoria centrale e processi
DettagliLa memoria virtuale 9.2. Sistemi Operativi a.a. A.A. 2009-10 2013-2014
La Memoria Virtuale La memoria virtuale Background Paginazione su richiesta Copy on Write Sostituzione delle pagine Allocazione dei frame Thrashing File mappati in memoria Allocazione di memoria del kernel
DettagliSistemi Operativi Esercizi Gestione Memoria
Sistemi Operativi Esercizi Gestione Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides ad A. Memo e T. Vardanega Sistemi Operativi - C. Palazzi 64 Esercizio 1 Dato un
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliSistemi Operativi Gestione della Memoria (parte 3)
Sistemi Operativi Gestione della Memoria Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Paginazione: l anomalia di Belady - 1 Nel 1969 Lazlo Belady
DettagliSistemi operativi 2/ed Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari Copyright 2008 The McGraw-Hill Companies srl
SOLUZIONI DEI PROBLEMI DEL CAPITOLO 4. Soluzione: Adottando lo schema best-fit la partizione libera utilizzata per allocare un segmento di dimensione pari a 56 byte è quella le cui dimensioni siano le
DettagliGestione della Memoria. Sistemi Operativi T AA
Gestione della Memoria Sistemi Operativi T AA 2009-2010 1 Multiprogrammazione e gestione memoria Obiettivo primario della multiprogrammazione è l uso efficiente delle risorse computazionali: Efficienza
DettagliSistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2008-2009. Esercitazione. Memoria virtuale
Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2008-2009 Esercitazione Università di Salerno Memoria virtuale 1. Si assuma che un processo abbia m frames (inizialmente tutti vuoti) a disposizione e
DettagliPage replacement. Al page fault (PF) causato da un indirizzo virtuale nella pagina P, non presente in memoria, la pagina P va copiata su una frame.
Page replacement Al page fault (PF) causato da un indirizzo virtuale nella pagina P, non presente in memoria, la pagina P va copiata su una frame. Quale? Idealmente: una ospitante una pagina poco usata
DettagliGestione della memoria. Algoritmi di rimpiazzamento Segmentazione
Gestione della memoria Algoritmi di rimpiazzamento Segmentazione Algoritmi di rimpiazzamento Per ogni page fault il SO deve: scegliere una pagina da rimuovere dalla memoria per creare spazio per la nuova
DettagliLa gerarchia delle memorie
La gerarchia delle memorie Gestione della memoria Ogni processo, per avanzare necessità che il relativo programma risieda nella memoria centrale, Tale programma è costituito da memoria e dati. Lo spazio
DettagliEsercizio: memoria virtuale
Siano dati un indirizzo logico con la struttura ed il contenuto mostrati in figura, dove è anche riportata la funzione di rilocazione. Si indichi l indirizzo fisico corrispondente all indirizzo logico
DettagliYYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta
YYY02 Esercizi per Teoria Esercizi per preparazione alla prova scritta Esercizio YYY02_02 - Busy Waiting In linguaggio ANSI C, siano dichiarate le seguenti variabili, e siano queste variabili debitamente
DettagliI Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.
I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo
DettagliStruttura interna del Sistema Operativo. 3. La gestione della memoria virtuale
Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale Il concetto di memoria virtuale Separare il concetto di spazio di indirizzamento di un programma eseguibile e dimensione effettiva
DettagliVeloce e cara. Lenta e economica. I livelli di memoria. E il supporto del calcolatore per conservare dati e istruzioni (programmi) La memoria centrale
I livelli di memoria LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica Veloce e cara E il supporto del calcolatore per conservare dati e istruzioni (programmi) Sistemi Operativi : La gestione
DettagliRegistri della CPU. Memoria Centrale. Memoria di Massa. Memorie di altri sistemi in rete
+ Veloce + Vicina alla CPU + Costosa Registri della CPU Memoria cache di primo livello sul microprocessore L1 - Capiente Memoria cache di secondo livello sul microprocessore L2 Memoria Centrale - Veloce
DettagliIl supporto al sistema operativo
Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare
DettagliSistemi Operativi. Modulo 7: Gestione della memoria
Sistemi Operativi Modulo 7: Gestione della memoria Renzo Davoli Alberto Montresor Copyright Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
DettagliIl concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale
Il concetto di memoria virtuale Struttura interna del Sistema Operativo 3. La gestione della memoria virtuale 25 marzo 2004 Separare il concetto di spazio di indirizzamento di un programma eseguibile e
DettagliLezione 8. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.
Lezione 8 Sistemi operativi 11 maggio 2017 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 17 8.1 Di cosa parliamo in questa lezione? Allocazione e rilascio delle pagine
DettagliCognome e nome: Matricola: Posto:
Quesito 1: (+0,5 punti per ogni risposta esatta; -0,25 punti per ogni risposta sbagliata; 0 punti se lasciata in bianco) DOMANDA ero/also La tecnica di allocazione contigua è soggetta al problema della
DettagliMemory management 49
Memory management 49 Immagine di un processo L immagine di memoria di un processo è organizzata in tre regioni: E rientrante, e può essere condiviso fra più processi Stack Dati Testo Ogni regione è uno
DettagliSistemi Operativi Laurea in Ingegneria Informatica Sapienza Universita di Roma Docente: Francesco Quaglia
Sistemi Operativi Laurea in Ingegneria Informatica Sapienza Universita di Roma Docente: Francesco Quaglia Gestione della memoria 1. Binding degli indirizzi. Partizionamento statico e dinamico 3. Allocazione
DettagliLa gestione della memoria
La gestione della memoria Nella gestione della memoria il sistema operativo deve perseguire l'obiettivo di allocare il maggior numero di processi in memoria centrale per aumentare la probabilità che ci
DettagliFallimenti nella TLB
Fallimenti nella TLB Un fallimento nella TLB può essere dovuto a due motivi: 1. la pagina fisica non è presente in memoria (page fault); 2. la traduzione non è nella TLB, anche se la pagina fisica è presente
DettagliCorso di Informatica
Corso di Informatica Modulo T4 3-Gestione della memoria 1 Prerequisiti Rilocazione dinamica Spazio degli indirizzi Descrittore di processo Descrittore della memoria 2 1 Introduzione Una volta conosciute
DettagliLa memoria cache. Lab di Calcolatori
La memoria cache 1 Gap delle prestazioni DRAM - CPU 1000 CPU- DRAM Gap CPU Proc 60%/yr. (2X/1.5yr) 100 10 ProcessorMemory Performance Gap: (grows 50% / year) D R A M DRAM9%/yr.(2X/10 yrs) 1 1980 1981 1982
DettagliBasi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore
DettagliLezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario
Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1
Dettagliesercizi memoria virtuale...
esercizi memoria virtuale 1..... tabella delle pagine (8.1) data la tabella delle pagine (pagina di 1024 bytes) di un processo tradurre i seguenti riferimenti in indirzzi fisici: 1052, 5499, 2221 2 1052,
DettagliLa gestione della memoria. Lezione 16 Sistemi Operativi
La gestione della memoria Lezione 16 Sistemi Operativi La memoria come risorsa La memoria centrale è una risorsa fondamentale di un sistema di calcolo L accesso a memoria centrale è una delle operazioni
DettagliUSO DELLA GERARCHIA. FONDAMENTI DI INFORMATICA Lezione n. 14 POLITICHE DI SOSTITUZIONE DIMENSIONE DEL BLOCCO THRASHING POLITICA DI ALLOCAZIONE
FONDAMENTI DI INFORMATICA Lezione n. 14 GESTIONE DELLA GERARCHIA CONCETTO DI MEMORIA VIRTUALE RAGIONI PER L'USO DELLA MEMORIA VIRTUALE MECCANISMO DI GENERAZIONE DEGLI INDIRIZZI FISICI SEGMENTI, PAGINE
DettagliDocente Prò Giuseppe - Corso PENTEST MIND PROJECT A cura di Prò Giuseppe
A cura di Prò Giuseppe GESTORE DELLA MEMORIA Simula l esistenza di una pluralità di memoria centrale ciascuna associata ad uno dei processi virtuali generati dal nucleo, mascherando ai livelli successivi
DettagliMemoria Virtuale. Lezione 29 Sistemi Operativi
Memoria Virtuale Lezione 29 Sistemi Operativi I Principi Abbiamo sinora assunto che durante l esecuzione di un programma, lo stesso debba risiedere completamente in MC Intorno alla metà degli anni 70 viene
DettagliBlocchi di più parole
Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:
DettagliIl Gestore della Memoria. Tecnica a Partizioni Fisse e a Partizioni Variabili
Il Gestore della Memoria Tecnica a Partizioni Fisse e a Partizioni Variabili Compiti del gestore della Memoria Mantenere traccia dello stato, libera o occupata, di ciascuna zona della memoria. Assegnare
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 12 Martedì 22-11-2016 Partizioni variabili Un miglioramento dell uso
DettagliLa gerarchia di Memoria
La gerarchia di Memoria Calcolatori Elettronici 1 Gap delle prestazioni DRAM - CPU 1000 CPU 100 10 DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998
DettagliLezione T17 Algoritmi di sostituzione delle pagine
Lezione T17 Algoritmi di sostituzione delle pagine Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2013/2014 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio
DettagliSOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico SI NO SI Dati:
SRIZIO Segmentazione In un sistema che gestisce la memoria con spazio logico suddiviso in segmento codice e segmento dati (comprensivo della pila) e caricamento in partizioni variabili con rilocazione
DettagliGestione della memoria centrale. Marco Cesati. Schema della lezione. Memoria centrale. Linux su Intel IA-32 SO Gestione della memoria centrale
Di cosa parliamo in questa lezione? Lezione 7 La gestione della Sistemi operativi 1 Schemi di indirizzamento della 2 La segmentazione 3 La paginazione 9 maggio 2017 4 System Programming Research Group
DettagliMemory management. Le attività di memory management del SO per la condivisione da parte di più processi
memory management 1 Memory management Le attività di memory management del SO per la condivisione da parte di più processi Ricordare quali parti della memoria sono attualmente in uso e quali no Allocare/disallocare
DettagliSistemi Operativi. La gestione delle risorse
Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi
DettagliUnix: Gestione della Memoria
Unix: Gestione della Memoria 1 Modello della memoria in Unix I processi Unix lavorano su uno spazio di indirizzamento virtuale Es. 0,...,2 32 1 su indirizzi a 32bit Ogni processo ha uno spazio indirizzi
DettagliGestione della memoria in UNIX - storia. Gestione della memoria in UNIX - fondamenti. Unix: Gestione della Memoria. Modello della memoria in Unix
Unix: Gestione della Memoria Gestione della memoria in UNIX - storia Fino a 3BSD (1978): solo segmentazione con swapping; Da 3BSD: segmentazione e paginazione; Da 4BSD (1983): segmentazione e paginazione
DettagliBootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:
Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di
DettagliSISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)
SISTEMI OPERATIVI (MODULO DI INFORMATICA II) La memoria virtuale Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario La memoria virtuale
DettagliGestione della memoria
Gestione della memoria Gestione della Memoria Introduzione Spazi di indirizzamento Allocazione contigua Paginazione Segmentazione Segmentazione con paginazione 2 1 Introduzione La condivisione della memoria
DettagliEsercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2
Esercizio FAT 1 In un disco con blocchi di 1 Kbyte (= 2 10 byte), è definito un file system FAT. Gli elementi della FAT sono in corrispondenza biunivoca con i blocchi fisici del disco. Ogni elemento ha
DettagliEsercitazione su Gerarchie di Memoria
Esercitazione su Gerarchie di Memoria Introduzione Memoria o gerarchie di memoria: cache, memoria principale, memoria di massa etc. (con possibilità di fallimenti nell accesso) o organizzazione, dimensionamento,
DettagliGestione della Memoria
Gestione della Memoria Informatica B Il modello della memoria 2 E un modello lineare La memoria è una sequenza di celle numerate da 0 fino a un valore massimo M Il numero che identifica ogni cella è detto
DettagliGerarchie di memoria Memorie a componenti dinamici 1
Gerarchie di memoria Memorie a componenti dinamici 1 Denominate Dynamic RAM Memorizzazione su componenti capacitivi 1 transistor per bit (4-6 per Static RAM), dunque maggiore densità Richiede un ciclo
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 14 Martedì 29-11-2016 Algoritmi di rimpiazzamento delle pagine Un algoritmo
DettagliSommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads
Sommario Lezione 5 Processi e Threads Processi e Programmi Implementazione dei Processi Casi di Studio relativi a Processi Thread Casi di Studio relativi a Thread 5.2 Processi e Programmi Che cosa e un
DettagliLa memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni
La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo
DettagliMiglioramento delle prestazioni
Miglioramento delle prestazioni Migliorare sia larghezza di banda sia latenza: uso di cache multiple Introdurre una cache separata per istruzioni e dati (split cache) Beneficio: Le operazioni di lettura/scrittura
DettagliGestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica
Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr
DettagliGerarchie di memoria Politiche di rimpiazzo dei blocchi
Politiche di rimpiazzo dei blocchi Quale blocco conviene sostituire in cache per effettuare uno swap? (Penalità di miss) Casuale, per occupazione omogenea dello spazio First-In-First-Out (FIFO), per sostituire
DettagliMEMORIA VIRTUALE. Programma: Processore: Memoria fisica: Caso più semplice:
MEMORIA VIRTUALE MEMORIA VIRTUALE Programma: utilizza indirizzi che prendono il nome di indirizzi logici: l insieme degli indirizzi logici costituisce il cosiddetto spazio logico. Processore: utilizza
DettagliCognome: Nome: Matricola:
Cognome: Nome: Matricola: Sistemi Operativi A.A. 2006-2007, prova scritta del 23 aprile 2007 Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di cellulari, calcolatrici, palmari e
DettagliInformatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno
Informatica 3 LEZIONE 20: Ordinamento esterno Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 Lezione 20 - Modulo 1 Organizzazione della memoria Introduzione Dati in
DettagliGestione della Memoria
Gestione della Memoria Multiprogrammazione e gestione memoria Obiettivo primario della multiprogrammazione è l uso efficiente delle risorse computazionali: Efficienza nell uso della CPU Velocità di risposta
DettagliRealizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine
Realizzazione del file system Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine www.dimi.uniud.it/buttussi Struttura del file system Il file system risiede in
DettagliReti e problematiche di Rete
Reti e problematiche di Rete I sistemi operativi Enrico Cavalli Anno Accademico 28-29 Appendice : La rilocazione dei programmi e la catena di programmazione La rilocazione() Nel corso della sua esistenza
DettagliCalcolatori Elettronici
Calcolatori Elettronici La memoria gerarchica La cache: come migliorare le prestazioni Ricapitolando (1) La memoria principale e la cache sono scomposte in blocchi di uguale dimensione L indirizzo del
DettagliIntroduzione Definizioni
Informatica 3 Informatica 3 LEZIONE 20: Ordinamento esterno Lezione 20 - Modulo 1 Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Organizzazione della memoria Politecnico di Milano
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliSOLUZIONI: Memoria virtuale
SOLUZIONI: Memoria virtuale INTRODUZIONE Memoria Virtuale: Si parla di memoria virtuale quando la memoria principale viene utilizzata come cache per la memoria di massa (dischi, nastri): - I programmi
DettagliVon Neumann Bottleneck
Von Neumann Bottleneck Gerarchia di memoria Struttura della Gerarchia Al livello 1 poniamo la memoria più veloce (piccola e costosa) Al livello n poniamo la memoria più lenta (grande ed economica) Scopo
Dettagli06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità
Sistema di Memoria Caratteristiche desiderabili Ampia capacità Velocità Economicità 1 Memoria Cache L'idea alla base della memoria cache nasce dalla semplice osservazione che la memoria centrale (dove
Dettagli10. Memoria Virtuale. 10. Memoria Virtuale Le basi
1 10. Memoria Virtuale Tutti i metodi di gestione della MP tentano di tenere in MP più processi possibile per aumentare la multiprogrammazione Tenere un processo interamente in MP diminuisce il numero
Dettagli