Obiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Obiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!"

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 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

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE 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:

Dettagli

Memoria 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 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

Dettagli

Sistemi operativi - Concetti ed esempi -Settima edizione

Sistemi 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

Dettagli

Capitolo 10: Memoria virtuale

Capitolo 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

Dettagli

Sistemi operativi e distribuiti

Sistemi 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

Dettagli

Memoria 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 Memoria Virtuale Background Paginazionesu richiesta Sostituzione delle pagine Algoritmi di sostituzione delle pagine Allocazione dei frame Thrashing Background Memoria virtuale separazione della memoria

Dettagli

Memoria virtuale. Capitolo 9 - Silberschatz

Memoria 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

Dettagli

Simuliamo ora il funzionamento di LRU sulla reference string data:

Simuliamo 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

Dettagli

Sistemi Operativi (modulo di Informatica II) La memoria virtuale

Sistemi 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

Dettagli

Memoria Virtuale. Considerazioni sulla paginazione e segmentazione

Memoria 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

Dettagli

Università 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 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

Dettagli

La memoria virtuale. Operating System Concepts 9 th Edition

La 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

Dettagli

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

9. 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

Dettagli

Sistemi Operativi Il Sistema Operativo Windows (parte 2)

Sistemi 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

Dettagli

Gestione della memoria

Gestione 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

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

GESTIONE 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

Dettagli

Memoria Virtuale. Lezione 6-7 Sistemi Operativi

Memoria 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

Dettagli

Gestione della Memoria

Gestione 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`

Dettagli

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica

Gestione 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

Dettagli

Gestione della memoria

Gestione 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

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE 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:

Dettagli

Gestione Memoria. Gestione della memoria

Gestione 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

Dettagli

The big picture. Gestione della Memoria (2) Paging (paginazione) Schema di traduzione degli indirizzi

The 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

Dettagli

Sistemi operativi e distribuiti

Sistemi 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):

Dettagli

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

Gestione 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

Dettagli

Memoria Virtuale. Sistemi operativi- AA 2015/16 1 1

Memoria 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!

! 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

Dettagli

Sistemi 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 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

Dettagli

La memoria virtuale 9.2. Sistemi Operativi a.a. A.A. 2009-10 2013-2014

La 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

Dettagli

Sistemi Operativi Esercizi Gestione Memoria

Sistemi 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

Dettagli

Università 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 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

Dettagli

Sistemi Operativi Gestione della Memoria (parte 3)

Sistemi 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

Dettagli

Sistemi operativi 2/ed Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari Copyright 2008 The McGraw-Hill Companies srl

Sistemi 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

Dettagli

Gestione della Memoria. Sistemi Operativi T AA

Gestione 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

Dettagli

Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2008-2009. Esercitazione. Memoria virtuale

Sistemi 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

Dettagli

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.

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. 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

Dettagli

Gestione della memoria. Algoritmi di rimpiazzamento Segmentazione

Gestione 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

Dettagli

La gerarchia delle memorie

La 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

Dettagli

Esercizio: memoria virtuale

Esercizio: 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

Dettagli

YYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta

YYY02 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

Dettagli

I 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. 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

Dettagli

Struttura interna del Sistema Operativo. 3. La gestione della memoria virtuale

Struttura 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

Dettagli

Veloce e cara. Lenta e economica. I livelli di memoria. E il supporto del calcolatore per conservare dati e istruzioni (programmi) La memoria centrale

Veloce 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

Dettagli

Registri della CPU. Memoria Centrale. Memoria di Massa. Memorie di altri sistemi in rete

Registri 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

Dettagli

Il supporto al sistema operativo

Il 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

Dettagli

Sistemi Operativi. Modulo 7: Gestione della memoria

Sistemi 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

Dettagli

Il 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. 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

Dettagli

Lezione 8. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 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

Dettagli

Cognome e nome: Matricola: Posto:

Cognome 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

Dettagli

Memory management 49

Memory 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

Dettagli

Sistemi 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 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

Dettagli

La gestione della memoria

La 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

Dettagli

Fallimenti nella TLB

Fallimenti 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

Dettagli

Corso di Informatica

Corso 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

Dettagli

La memoria cache. Lab di Calcolatori

La 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

Dettagli

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi 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

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 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

Dettagli

esercizi memoria virtuale...

esercizi 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,

Dettagli

La gestione della memoria. Lezione 16 Sistemi Operativi

La 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

Dettagli

USO DELLA GERARCHIA. FONDAMENTI DI INFORMATICA Lezione n. 14 POLITICHE DI SOSTITUZIONE DIMENSIONE DEL BLOCCO THRASHING POLITICA DI ALLOCAZIONE

USO 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

Dettagli

Docente Prò Giuseppe - Corso PENTEST MIND PROJECT A cura di Prò Giuseppe

Docente 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

Dettagli

Memoria Virtuale. Lezione 29 Sistemi Operativi

Memoria 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

Dettagli

Blocchi di più parole

Blocchi 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:

Dettagli

Il Gestore della Memoria. Tecnica a Partizioni Fisse e a Partizioni Variabili

Il 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

Dettagli

Università 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 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

Dettagli

La gerarchia di Memoria

La 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

Dettagli

Lezione T17 Algoritmi di sostituzione delle pagine

Lezione 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

Dettagli

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico SI NO SI Dati:

SOLUZIONE 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

Dettagli

Gestione della memoria centrale. Marco Cesati. Schema della lezione. Memoria centrale. Linux su Intel IA-32 SO Gestione della memoria centrale

Gestione 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

Dettagli

Memory management. Le attività di memory management del SO per la condivisione da parte di più processi

Memory 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

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi 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

Dettagli

Unix: Gestione della Memoria

Unix: 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

Dettagli

Gestione della memoria in UNIX - storia. Gestione della memoria in UNIX - fondamenti. Unix: Gestione della Memoria. Modello della memoria in Unix

Gestione 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

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. 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

Dettagli

SISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI 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

Dettagli

Gestione della memoria

Gestione 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

Dettagli

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2

Esercizio 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

Dettagli

Esercitazione su Gerarchie di Memoria

Esercitazione 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,

Dettagli

Gestione della Memoria

Gestione 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

Dettagli

Gerarchie di memoria Memorie a componenti dinamici 1

Gerarchie 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

Dettagli

Università 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 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

Dettagli

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

Sommario. 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

Dettagli

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

La 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

Dettagli

Miglioramento delle prestazioni

Miglioramento 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

Dettagli

Gestione 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 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

Dettagli

Gerarchie di memoria Politiche di rimpiazzo dei blocchi

Gerarchie 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

Dettagli

MEMORIA VIRTUALE. Programma: Processore: Memoria fisica: Caso più semplice:

MEMORIA 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

Dettagli

Cognome: Nome: Matricola:

Cognome: 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

Dettagli

Informatica 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: Ordinamento esterno Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 Lezione 20 - Modulo 1 Organizzazione della memoria Introduzione Dati in

Dettagli

Gestione della Memoria

Gestione 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

Dettagli

Realizzazione 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 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

Dettagli

Reti e problematiche di Rete

Reti 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

Dettagli

Calcolatori Elettronici

Calcolatori 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

Dettagli

Introduzione Definizioni

Introduzione 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

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi 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

Dettagli

SOLUZIONI: Memoria virtuale

SOLUZIONI: 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

Dettagli

Von Neumann Bottleneck

Von 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

Dettagli

06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità

06/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

Dettagli

10. Memoria Virtuale. 10. Memoria Virtuale Le basi

10. 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