Esercitazione 14. Memoria Principale M1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazione 14. Memoria Principale M1"

Transcript

1 Esercitazione Sommario Gerarchia di memoria Memoria Virtuale Segmentazione Paginazione Segmentazione Paginata. Gerarchia di memoria Il punto critico dell architettura di Von Neumann è il canale di comunicazione tra CPU e memoria. La struttura fisica che limita le prestazioni del sistema è il canale di comunicazione tra CPU e memoria. Col miglioramento della tecnologia dei semiconduttori il tempo di ciclo della CPU è migliorato con un trend migliore rispetto al miglioramento del tempo di ciclo della memoria. Per questo motivo all interno di un sistema a calcolatore il progetto della memoria è un punto estremamente importante ed influente sulle prestazioni globali del sistema. La parte di memoria deve essere progettata in modo da ottimizzare una serie di parametri:. costo minimo. capacità massima. tempi di accesso minimi. A tuttoggi non vi è una tecnologia che consente di ottenere al meglio le caratteristiche. La soluzione approssimata la si ottiene tramite una gerarchia che cerca di ottimizzare questi parametri. CPU Memoria Principale M Memoria Secondaria M Durante l esecuzione di un programma, il processore genera una sequenza di indirizzi (istruzioni e dati) in memoria, e tenta di accedere alle corrispondenti celle, assumendo che si trovino in M. Se così non è, il dato corrispondente deve venire spostato dal livello di memoria in cui si trova fino ad M.

2 Poichè il processo di spostamento è lento, tale situazione va evitata il più possibile, facendo in modo che in M vi siano il più spesso possibile gli indirizzi a cui la CPU sta per fare riferimento. Un sistema di memoria tipico è composto da un insieme di memorie M, M,..., M n di vario tipo, aventi le seguenti caratteristiche: costo per bit decrescente tempo di accesso crescente dimensione crescente. Il processore comunica direttamente con M ; in generale M i comunica con M i+ ed M i-. In genere il contenuto di ogni livello di memoria M i è un sottoinsieme del contenuto di M i+. Un sistema di memoria gerarchico può essere reso efficiente se la modalità di accesso ai dati ha caratteristiche prevedibili. Si può verificare sperimentalmente che su intervalli limitati gli indirizzi generati da un qualsiasi programma tendono ad essere confinati ad una regione limitata del suo spazio di indirizzamento (località dei riferimenti). Questo è essenzialmente dovuto ai seguenti fatti: sia i dati che le istruzioni sono in genere scritti in memoria nello stesso ordine con il quale si fa ad essi riferimento i programmi sono ricchi di cicli... Obiettivi di una memoria gerarchica La politica di gestione tende a mimare una memoria idelae che abbia i tempi di accesso della più veloce, la dimensione della maggiore ed i costi della più economica. Supponiamo di avere livelli di memoria M ed M, aventi dimensioni S ed S, e costi c e c. Il costo per bit del sistema complessivo sarà dunque:... Tasso di successo c S c = S + c S + S Si definisce come tasso di successo (hit ratio), la probabilità che la richiesta di accesso della CPU sia soddisfatta al livello M.... Tasso di insuccesso Si definisce come tasso di insuccesso (miss ratio) la probabilità che la richiesta non sia soddisfatta al livello M.

3 ... Tempo di accesso globale Detti t A e t A i tempi di accesso ad M ed M, siano H e (-H) i tassi di successo ed insuccesso, il tempo medio di accesso t A sarà quindi t A = H* t A +(-H)* t A Detto poi t B il tempo di trasferimento di un blocco (spostamento da M ad M ), si avrà t A =t B +t A, da cui t A =t A +(-H)*t B La bontà con un sistema di memoria gerarchico si potrà valutare sulla base dell efficienza d accesso e=t A /t A : dove r=t A /t A. e 0,8 0,6 0, 0, e = r + ( r ) H r= 0 0,00 0,0 0,0 0,60 0,80,00 H r= r=0 r=00 Dal grafico di e si deduce che con r=00, per avere e>0.9, si deve avere H> Uso efficiente della gerarchia di memoria Per un uso efficiente della gerarchia di memoria è necessario stabilire: quando effettuare la sostituzione dalla memoria M alla memoria M per far spazio a nuovi dati; la dimensione del blocco da trasferire per garantire la massima efficienza; quale politica di allocazione utilizzare. Politiche di sostituzione La sostituzione di blocchi dalla memoria M pò essere fatta: a richiesta: in caso di fallimento si richiamano nuovi dati dal secondo livello; in modo preventivo: non si ha la richiesta effettiva per un determinato dato, ma si può prevedere che un certo dato venga richiesto dall unità centrale. Il prefetching è un esempio di accesso preventivo.

4 Dimensione del blocco da trasferire È importante il rapporto tra la parte di memoria effettivamente utile e la dimensione del blocco trasferito. Se il blocco di memoria risulta troppo grande, viene effettuato uno spostamento di dati che poi non serviranno. Si ha dunque un trasferimento di dati inutili ed un sovraccarico (overhead) rispetto a quello che portrebbe essere il tempo necessario minimo. Se il blocco è troppo piccolo il trasferimento di un blocco ha un costo elevato in quanto esiste un tempo di trasferimento che è indipendente dalle dimensioni del blocco ed incide notevolmente per blocchi di dimensione ridotta. Politica di allocazione Esistono due possibili politiche di allocazione:. statica: ogni blocco è posto in posizione predeterminata (sempre la stessa posizione);. dinamica: il blocco che si sposta da M ad M si va a collocare in una zona di memoria momentaneamente libera che lo può contenere. Tra le politiche di allocazione dinamica si distingue ancora: Thrashing a. strategia preemptive: il blocco sostituisce un blocco in corso di uso, che viene spostato o eliminato da M ; b. strategia non preemptive: il blocco può venire messo solo in zone libere di M. È il fenomeno negativo che si ha quando la miss ratio è troppo elevata ed il sistema passa buona parte del tempo a trasferire blocchi verso M.. Memoria Virtuale La memoria virtuale è un meccanismo attraverso il quale il Sistema Operativo fa apparire al programmatore un sistema composto da almeno livelli di memoria come un unica memoria, indirizzabile direttamente e con le stesse caratteristiche di quella al primo livello. I programmi fanno riferimento alla memoria attraverso indirizzi logici, normalmente di tipo simbolico. La memoria è invece organizzata in indirizzi fisici. Il meccanismo della memoria virtuale crea una corrispondenza dinamica tra indirizzi fisici e logici. Ogni attività o processo eseguito dal processore vede un proprio spazio di indirizzi virtuali o logici che non ha nulla a che fare con la memoria fisica con la quale la CPU lavora. La memoria fisica è indirizzata tramite indirizzi fisici. Lo spazio degli indirizzi logici è sempre maggiore dello spazio degli indirizzi fisici.

5 Il processore ha a che fare con uno spazio di indirizzamento virtuale. Esiste una corrispondenza tra indirizzo logico ed indirizzo fisico. Il trasferimento dei dati dalla memoria secondaria alla memoria principale è detta allocazione e corrisponde alla traduzione dall indirizzo logico all indirizzo fisico. L uso della memoria virtuale offre i seguenti vantaggi: evita al programmatore di dover gestire esplicitamente la memoria; permette un uso efficiente della memoria in ambienti multi-utente (ogni processo farà riferimento al proprio spazio di memoria virtuale); rende i programmi indipendenti (dal punto di vista funzionale) dalla configurazione reale di memoria del sistema; fa sì che i programmi vedano una memoria con ridotti tempi di accesso e basso costo per bit (sfrutta efficacemente la gerarchia). CPU Traduttore Memoria Principale Memoria Secondaria Il modulo traduttore si occupa della trasformazione da indirizzo logico ad indirizzo fisico. Se il dato non è presente nella memoria principale, viene scatenata un eccezione (memory fault) che causa il trasferimento del dato dalla memoria secondaria alla memoria principale... Allocazione È l operazione di trasformazione degli indirizzi logici presenti nei programmi in indirizzi fisici, attraverso i quali accedere alla memoria principale, dove dati e codice sono presenti. Richiede ovviamente la conoscenza delle strategie e dei meccanismi di memoria virtuale utilizzati. Il passaggio completo è compiuto da vari soggetti: dal programmatore (è vero solo per i primi calcolatori o per quelli molto semplici. Se poi il sistema è multiutente l operazione non è neppure possibile fisicamente); dal compilatore (trasforma gli indirizzi logici in coppie di valori del tipo base, offset In molte architetture la combinazione di base e offset per ottenere l indirizzo fisico viene eseguita a run-time; base è spesso contenuto in un registro, in modo da rendere più veloce il calcolo. Il compilatore non può però sapere l indirizzo fisico di partenza dei singoli blocchi); dal loader (al momento del caricamento del programma in memoria, prima della sua esecuzione, i blocchi di dato e di codice vengono allocati ed il loader

6 associa ad ogni base il relativo indirizzo fisico. L intestazione dei programmi eseguibili (header) contiene spesso una tabella (relocation table) con l elenco delle istruzioni che devono essere corrette dal loader sulla base della posizione dei blocchi); dal sistema operativo: durante l esecuzione del programma i valori delle basi possono dover essere modificati a seguito di uno spostamento dei blocchi. L intervento del S.O. può essere necessario se il linguaggio di programmazione permette: procedure recursive (necessità di allocare nuovo spazio per lo stack); allocazione dinamica della memoria.. In un sistema multiutente: il programmatore ed il compilatore specificano gli indirizzi relativi all interno dei singoli blocchi di memoria; il sistema operativo gestise il trasferimento dei dati dalla memoria secondaria alla memoria principale e definisce in fase di esecuzione le locazioni fisiche nelle quali il singolo blocco viene posto. Un blocco di memoria è una sequenza di dati contigui sia nello spazio degli indirizzi logici sia nello spazio degli indirizzi fisici. All interno del blocco i dati sono indirizzati attraverso lo spiazzamento rispetto all indirizzo iniziale del blocco. Il problema del trasferimento di un blocco in memoria principale corrisponde al problema di individuare la collocazione fisica del blocco. I blocchi sono rilocati in memoria alterando l indirizzo di base. Se il numero di blocchi da gestire è basso, gli indirizzi di base vengono memorizzati in appositi registri. Se invece il numero è elevato, allora gli indirizzi vengono mantenuti in una tabella detta Memory Address Table (MAT). Se la allocation policy è di tipo preemptive, la MAT contiene per ogni blocco anche la priorità ad esso associata. Poichè ad essa viene fatto riferimento molto spesso, la MAT è in alcuni casi allocata in una apposita memoria veloce di tipo cache denominata Translation Lookaside Buffer (TLB). Il blocco che contiene la MAT è costantemente tenuto in memoria. Poichè la dimensione di TLB può anch essa variare, una sua parte può in taluni casi essere soggetta a swap. TLB Indirizzo fisico del blocco Ind. Logico Indirizzo logico del blocco Memory Map Ind. Fisico M M La Tabella TLB contiene le informazioni per la traduzione da memoria secondaria a memoria principale. L operazione di traduzione deve essere molto veloce poiché deve essere effettuata ad ogni accesso in memoria. 6

7 . Segmentazione Sono insiemi di parole di memoria contigue e logicamente correlate. Ad esempio costituiscono ciascuno un segmento: il codice di una procedura l insieme di dati su cui lavora un programma. Una parola di un segmento è accessibile tramite l indirizzo di testa del segmento (definito al momento del caricamento dal Sistema Operativo) e l offset al suo interno (definito al momento della compilazione). Un programma è una collezione di segmenti che si richiamano tra loro in corrispondenza delle chiamate da un modulo (es. una procedura) ad un altro. I segmenti possono avere dimensione diversa. Se la memoria principale è suddivisa in segmenti la relativa strategia di allocazione è denominata segmentazione. Il segmento può essere utilizzato come blocco elementare. Quando si fa riferimento ad un segmento non residente in memoria, esso è interamente trasferito dalla memoria secondaria. L insieme degli indirizzi ai quali i segmenti sono piazzati nella memoria principale costituisce la segment table, che spesso costituisce anch essa un segmento rilocabile. Vantaggi: La struttura del segmento corrisponde alla naturale suddivisione dei dati e dei programmi. ogni segmento, essendo un modulo logico, possiede i propri diritti di accesso i segmenti possono variare la propria dimensione durante l esecuzione del programma. Svantaggi: la gestione dei meccanismi di allocazione è complesssa in generale si ha frammentazione e dunque per una efficiente gestione occorre effettuare la ricompattazione della memoria... Allocazione della memoria principale Definiamo regione una zona della memoria principale in grado di memorizzare un blocco di informazione. Il processo con il quale si sceglie in quale regione scrivere un blocco di informazione si definisce Allocazione della Memoria Principale. L Allocazione della Memoria Principale si basa su una Mappa della Memoria, che contiene: una lista dello spazio occupato: per ogni blocco in memoria, si specifica in quale regione è memorizzato, nonchè la sua lunghezza (se non è fissa) una lista dello spazio disponibile: per ogni regione si specifica il suo indirizzo di partenza e, eventualmente, la sua dimensione 7

8 un direttorio della memoria secondaria: per ogni blocco associato ad un programma in esecuzione si specifica il dispositivo su cui è memorizzato e le informazioni per farvi accesso.... Deallocazione di un blocco Quando un blocco esce dalla memoria principale, viene deallocato. Questo comporta: l aggiornamento delle liste della memoria occupata e di quella libera il rilascio di una regione della memoria principale. Un blocco viene deallocato in casi: quando termina il programma che lo utilizza quando la memoria che esso utilizza viene assegnata ad un altro blocco con priorità maggiore.... Utilizzazione All interno di M ci possono essere delle zone che non contengono dati utili (S u ), dovute alle seguenti cause: frammentazione: aree vuote dovute alle diverse dimensioni dei blocchi caricati in M presenza del software di gestione informazioni inutili, presenti in blocchi trasferiti in M, ma non utilizzati dalla CPU. Viene quindi definito un coefficiente di utilizzazione: u = S u S... Metodi di allocazione Sono di tipi: nonpreemptive: il nuovo blocco viene caricato in una regione libera; preemptive; il nuovo blocco viene caricato in una regione eventualmente occupata da un altro blocco. L analisi dei vantaggi/svantaggi delle varie tecniche viene fatta essenzialmente in maniera sperimentale. Allocazione nonpreemptive Sono più semplici di quelli preemptive, ma vanno in crisi quando non esiste una regione libera in cui caricare il nuovo blocco (overflow). In questo caso il relativo programma deve restare in attesa. 8

9 Supponendo che il blocco richiesto sia di dimensione n, le due tecniche nonpreemptive utilizzate sono: la tecnica first-fit: si scandisce la memoria, arrestandosi non appena si trova una regione libera di dimensione n la tecnica best-fit: si scandisce tutta la memoria, e si sceglie la regione libera di dimensioni minori, tra quelle più grandi di n. Il metodo first-fit è più efficiente ma provoca una maggiore frammentazione. Sulla base dei dati sperimentali si tende a preferirlo al metodo best-fit. Allocazione preemptive Si suddividono in due categorie: quelli basati sulla compattazione quelli basati sulla sostituzione. La compattazione consiste nello spostare i blocchi che occupano la memoria in modo tale che essi risultino contigui: in tal modo tutta la memoria libera costituisce un unica regione. Una tecnica di allocazione unicamente basata sulla compattazione è la seguente: si considera come memoria libera la sola memoria al fondo dello spazio di indirizzamento; spazi liberi intermedi vengono ignorati; si allocano i blocchi richiesti in cima alla memoria libera; si esegue la compattazione ogni volta che la memoria libera al fondo è più piccola del blocco richiesto. blocco blocco blocco blocco.. Politiche di sostituzione I metodi basati sulla sostituzione si basano sulla scelta intelligente del blocco al posto del quale caricare il blocco richiesto. 9

10 Tali metodi mirano a massimizzare la hit ratio, ossia a minimizzare il numero di memory fault. Equivalentemente, si cerca di massimizzare il tempo tra due memory fault successivi. Il tasso di successo assume il valore massimo se si rende massimo l intervallo tra due memory fault successivi.... Sostituzione ottimale Dato un programma P, una soluzione ottimale (non ottima) può essere teoricamente trovata come segue: si esegue una prima volta P, memorizzando il blocco relativo ad ogni accesso in memoria sulla base dei dati raccolti si determina ad ogni istante qual è il blocco che verrà referenziato più tardi nel tempo, e che quindi è il miglior candidato ad essere deallocato. Esempio: hit hit hit hit hit hit Dal punto di vista pratico, le tecniche per decidere quale blocco deallocare sono : la tecnica FIFO: si dealloca il blocco che da più tempo è in memoria la tecnica LRU (Least Recently Used): si dealloca il blocco che da più tempo non è stato referenziato.... Tecnica FIFO È relativamente facile da implementare: ogni volta che si carica un blocco in memoria gli si associa il valore di un indice, che viene poi incrementato quando si deve deallocare un blocco, si sceglie quello con indice minore. Il principale svantaggio consiste nel fatto che blocchi referenziati frequentemente (ad esempio le istruzioni di un ciclo) sono continuamente deallocati e poi ricaricati in memoria. Esempio: 0

11 hit hit hit... Tecnica LRU Viene implementata associando ad ogni blocco in memoria un registro (denominato registro di età). Esso viene caricato con un valore predeterminato ogni volta che si fa accesso al blocco. I registri di età di tutti i blocchi sono decrementati periodicamente in maniera automatica. Quando si deve scegliere il blocco da deallocare si prende quello il cui registro d età contiene il valore minore. hit hit hit hit hit. Paginazione Quando la memoria è suddivisa in blocchi di dimensioni fisse si parla di pagine. Il relativo meccanismo di allocazione della memoria è noto come paginazione. Per far riferimento ad una parola si specifica l indirizzo della pagina e l offset. La paginazione fa uso di una Page Table. Ogni elemento della Page Table è relativo ad una pagina, e contiene: un bit di presenza se la pagina risiede nella memoria principale, l indirizzo del page frame in cui la pagina è piazzata i diritti di accesso un bit di cambiamento, che segnala se la pagina è stata modificata da quando è stata caricata in memoria: in tal caso deve essere salvata quando viene deallocata. Vantaggi:

12 richiede un meccanismo di allocazione della memoria relativamente semplice non provoca frammentazione esterna. Svantaggi: le pagine non hanno un significato logico provoca frammentazione interna (nell ultima pagina di ogni programma).... Frammentazione È il fenomeno per cui una parte di memoria principale non viene utilizzata a causa dei limiti del meccanismo di allocazione. Si può avere: frammentazione esterna (con la segmentazione), dovuta agli spazi inutilizzati tra i segmenti; può essere risolta con la compattazione; frammentazione interna (con la paginazione), dovuta allo spazio inutilizzato nell ultima pagina di ogni programma.. Segmentazione paginata Ogni segmento è diviso in pagine e ad esso sono associati: un elemento nella segment table una page table. Per fare accesso ad una parola si specifica: un indice del segmento: con questo si fa accesso alla segment table, attraverso la quale si risale alla page table opportuna un indice di pagina, con il quale si fa accesso alla page table, da cui si estrae l indirizzo fisico della pagina un offset all interno della pagina.

13 Esempio di segmentazione paginata nel processore Intel 8086: Indirizzo Virtuale Indirizzo Lineare Dir Page Offset Segmento Offset Indirizzo Fisico Memoria Principale Segment Table Page Table Page Directory Programma Segmentazione Paginazione Combina i vantaggi della segmentazione con quelli della paginazione. In particolare: il contenuto di un segmento non deve essere memorizzato in una zona contigua di memoria, ma in una serie di page frame piazzati ovunque si semplifica quindi il meccanismo di allocazione della memoria... Dimensione della pagina... Influenza sulla dimensione della memoria Se la dimensione della pagina S P è troppo grande, diventa eccessiva la frammentazione interna; se è troppo piccola diventa troppo costosa (come spazio) la page table. Detta S S la dimensione del segmento, si hanno dunque due overhead: quello dovuto alla frammentazione interna, pari a S P / quello dovuto alla page table, pari a S S/S P. L overhead complessivo per ogni segmento è quindi S=S P /+S S /S P Al fine di ottimizzare l occupazione della memoria occorre minimizzare S al variare di S P. ds/ds P = 0 ; / - S S /(S P ) = 0 S P OPT = ( S S ) a cui corrisponde una utilizzazione ottimale

14 u OPT =/(+ (/ S S ))... Influenza sulla hit ratio Si considerino accessi successivi in memoria, eseguiti l uno alla parola i, l altro alla parola i+d. La probabilità che ambedue gli accessi facciano riferimento a pagine già presenti in memoria è alta se: d è piccolo rispetto a S P : maggiore è S P, maggiore è tale probabilità d è grande rispetto a S P, ma la seconda parola cui si fa accesso appartiene ad una pagina frequentemente referenziata, e quindi si trova in memoria; minore è S P, maggiore è il numero di pagine in memoria, e maggiore è tale probabilità. Come conseguenza, quando S P cresce, H dapprima cresce, per poi arrivare ad un massimo e cominciare a decrescere. Studi sperimentali mostrano le curve tipiche del tasso di successo al variare della dimensione della pagina. Il valore di S P che massimizza il tasso di successo può essere molto più grande della dimensione di pagina ottima calcolata analiticamente. Poiché avere un buon tasso di successo influisce sui tempi di accesso (riducendo il numero di trasferimento tra disco e memoria principale) i valori che massimizzano H sono preferiti. Valori ragionevoli vanno da parole (Atlas, VAX-/780) a 096 (8086). H M M Se si raddoppia la dimensione della memoria il tasso di successo cresce a parità di dimensione della pagina. Se si hanno pagine piccole, si avranno tanti trasferimenti e dunque il rendimento è basso. Se si hanno pagine grosse il trasferimento di dati non utilizzati introduce overhead e si ha l occupazione delle memoria con dati non immediatamente utili. S P

Capitolo 8 - Silberschatz

Capitolo 8 - Silberschatz Gestione della memoria centrale Capitolo 8 - Silberschatz Background Un programma in genere risiede su disco in forma di un file binario eseguibile e deve essere portato (dal disco) in memoria e inserito

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

FONDAMENTI DI INFORMATICA Lezione n. 14

FONDAMENTI DI INFORMATICA Lezione n. 14 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

FONDAMENTI DI INFORMATICA Lezione n. 14

FONDAMENTI DI INFORMATICA Lezione n. 14 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

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

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. Capitolo 8 - Silberschatz

Gestione della memoria centrale. Capitolo 8 - Silberschatz Gestione della memoria centrale Capitolo 8 - Silberschatz Background Un programma in genere risiede su disco in forma di un file binario eseguibile e deve essere portato (dal disco) in memoria e inserito

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

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

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

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

Segmentazione. Gestore della memoria II parte. Segmentazione. Segmentazione: Vantaggi. Segmentazione 07/06/2012. Confronto Paginazione - Segmentazione

Segmentazione. Gestore della memoria II parte. Segmentazione. Segmentazione: Vantaggi. Segmentazione 07/06/2012. Confronto Paginazione - Segmentazione Gestore della memoria II parte La segmentazione come la paginazione prevede di dividere lo spazio di indirizzamento logico del processo(ovvero la memoria necessaria al processo) in più parti Quello che

Dettagli

3.3 Memoria virtuale Generalità. 3.3 Memoria virtuale Spazi di indirizzamento Memoria virtuale Spazi di indirizzamento - 2

3.3 Memoria virtuale Generalità. 3.3 Memoria virtuale Spazi di indirizzamento Memoria virtuale Spazi di indirizzamento - 2 Generalità Il concetto di memoria virtuale si propone di incrementare l efficienza d uso di un sistema, ampliandone, a costi contenuti, la capacita di memoria Permettendo la presenza in memoria di più

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file 2 1 Il sistema operativo E uno

Dettagli

Gestione della Memoria Principale

Gestione della Memoria Principale Gestione della Memoria Principale Requisiti della Gestione della Memoria. Gestione a Partizioni Fisse. Partizionamento dinamico. Paginazione. Segmentazione. 1 Gestione della Memoria In un sistema multiprogrammato

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. 218-219 Pietro Frasca Lezione 17 Martedì 4-12-218 Memoria segmentata Nei sistemi che utilizzano la

Dettagli

Modulo 7: Gestione della Memoria

Modulo 7: Gestione della Memoria Modulo 7: Gestione della Memoria Gerarchia di memoria e background Spazio logico rispetto a spazio fisico degli indirizzi Swapping Allocazione contigua Paginazione Segmentazione Segmentazione e Paging

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

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

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse In un sistema operativo che utilizza la rilocazione statica e gestisce la memoria con partizioni fisse, la memoria fisica ha un ampiezza

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

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

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it monoprogrammati multiprogrammati a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. Gestione della memoria. Sistemi multiprogrammati. Partizioni fisse Partizioni variabili Paginazione

Sistemi Operativi. Bruschi Martignoni Monga. Gestione della memoria. Sistemi multiprogrammati. Partizioni fisse Partizioni variabili Paginazione 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it monoprogrammati multiprogrammati Lezione XXXIII: monoprogrammati multiprogrammati a.a. 2008/09

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

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. 217-18 Pietro Frasca Lezione 18 Martedì 5-12-217 Partizioni multiple La tecnica delle partizioni multiple

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

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. 216-17 Pietro Frasca Lezione 13 Giovedì 24-11-216 Memoria paginata La gestione della memoria fisica

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

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

Lezione 7. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 7 Sistemi operativi 9 maggio 2017 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 17 7.1 Di cosa parliamo in questa lezione? La gestione della 1 Schemi di indirizzamento

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. 2018-2019 Pietro Frasca Lezione 18 Martedì 11-12-2018 L indirizzo fisico della tabella delle pagine

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

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE La gestione delle periferiche

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

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

Obiettivo. Gestione della memoria. Inoltre. Sistemi monoprogrammati. Sistemi monoprogrammati. Sistemi monoprogrammati 07/06/2012

Obiettivo. Gestione della memoria. Inoltre. Sistemi monoprogrammati. Sistemi monoprogrammati. Sistemi monoprogrammati 07/06/2012 Obiettivo Gestione della memoria Allocazione della memoria ai processi: riservo aree di RAM per le istruzioni, i dati e le variabili dei vari processi Protezione: ogni processo può accedere solo alle aree

Dettagli

Architettura degli Elaboratori 19 Memoria Virtuale. Prof. Andrea Sterbini

Architettura degli Elaboratori 19 Memoria Virtuale. Prof. Andrea Sterbini Architettura degli Elaboratori 19 Memoria Virtuale Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Argomenti della lezione - Memoria Virtuale - Esercizi Problema: - In un sistema multiprocesso

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

La memoria virtuale. Calcolatori Elettronici. Valeria Cardellini Rielaborate da Salvatore Tucci

La memoria virtuale. Calcolatori Elettronici. Valeria Cardellini Rielaborate da Salvatore Tucci La memoria virtuale Calcolatori Elettronici Valeria Cardellini Rielaborate da Salvatore Tucci La gerarchia di memorie Registri Istruzioni, operandi L Cache Blocchi Nelle lezioni L2 Cache precedenti{ Più

Dettagli

Programmazione II. Lezione 9. Daniele Sgandurra 16/11/2010.

Programmazione II. Lezione 9. Daniele Sgandurra 16/11/2010. Programmazione II Lezione 9 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 16/11/2010 1/31 Programmazione II Lezione 9 16/11/2010 Sommario 1 Gestione della Memoria 2/31 Programmazione II Lezione 9 16/11/2010

Dettagli

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria Memoria virtuale Daniele Loiacono, Vittorio Zaccaria Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z INGEGNERIA ENERGETICA (BV)

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

Spazio di indirizzamento virtuale

Spazio di indirizzamento virtuale Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){

Dettagli

Architettura dei sistemi di elaborazione: La memoria (parte 2)

Architettura dei sistemi di elaborazione: La memoria (parte 2) Architettura dei sistemi di elaborazione: La memoria (parte 2) La cache è una memoria veloce e di piccole dimensioni posta fra la CPU e la memoria principale. Memoria Cache La cache e la memoria principale

Dettagli

Swapping 1. Swapping 2. Gestione della memoria. Strutture di gestione 1. Strutture di gestione 2. Strutture di gestione 3

Swapping 1. Swapping 2. Gestione della memoria. Strutture di gestione 1. Strutture di gestione 2. Strutture di gestione 3 Swapping 1 Gestione della memoria Ricapitolazione e discussione in aula: Claudio Palazzi cpalazzi@math.unipd.it Frammentazione esterna Gestione della memoria (ricapitolazione) Sistemi Operativi - Vardanega

Dettagli

SISTEMI OPERATIVI. Gestione della memoria. Gestione della memoria. Partizionamento Paginazione Segmentazione Memoria virtuale. 08.

SISTEMI OPERATIVI. Gestione della memoria. Gestione della memoria. Partizionamento Paginazione Segmentazione Memoria virtuale. 08. SISTEMI OPERATIVI 08.a Gestione della memoria Gestione della memoria Partizionamento Paginazione Segmentazione Memoria virtuale 1 Obiettivi La gestione della memoria (effettuata dal SO usando gli accorgimenti

Dettagli

Operating System Concepts 7 th Edition! 8.2! Silberschatz, Galvin and Gagne 2005!

Operating System Concepts 7 th Edition! 8.2! Silberschatz, Galvin and Gagne 2005! Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi.! Obiettivi: accesso rapido e protezione.! Accesso rapido! La CPU ha accesso diretto solo alla memoria

Dettagli

Introduzione alle memorie cache. Sommario

Introduzione alle memorie cache. Sommario Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 0/0/200 Sommario Obiettivo Livelli della gerarchia di memoria Memoria cache: concetti base Architettura

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

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

Astrazione. Gestore della memoria. La rilocabilità del codice. Gestore della memoria

Astrazione. Gestore della memoria. La rilocabilità del codice. Gestore della memoria Gestore della memoria E' l'insieme di programmi del sistema operativo che si occupano di gestire la memoria centrale per l'esecuzione (pseudo-parallela) di più processi. 32 MB prog. app.3 prog. app. 2

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

Calcolo prestazioni cache (1)

Calcolo prestazioni cache (1) Calcolo prestazioni cache (1) Consideriamo gcc: miss rate x istruzioni = 2% miss rate x dati = 4% frequenza di letture e scritture=36% Consideriamo inoltre un sistema con: CPU: Clock=3Ghz, CPI ideale =1

Dettagli

Memoria Virtuale. Background

Memoria Virtuale. Background Memoria Virtuale Background Memoria virtuale separazione della memoria logica dalla memoria fisica. Solo parte del programma ha la necessità di essere in memoria per essere eseguito. Lo spazio di indirizzi

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

Esercitazione del 19/05/ Soluzioni

Esercitazione del 19/05/ Soluzioni Esercitazione del 9/5/5 - Soluzioni Una CPU moderna ha una velocità di esecuzione delle istruzioni generalmente molto più alta della capacità di fornire dati delle memorie DRAM. In generale possiamo dire

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

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

La Memoria Virtuale Valeria Cardellini

La Memoria Virtuale Valeria Cardellini La Memoria Virtuale Valeria Cardellini Corso di Calcolatori Elettronici A.A. 28/9 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica La gerarchia di memorie

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

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

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione ESERCITAZIONE 8 Sommario Unità centrale di elaborazione Meccanismo di interruzione CPU-Memoria Architettura di una CPU Linguaggio macchina Modi di indirizzamento 1. Unità centrale di elaborazione L unità

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System 1 Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i

Dettagli

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico Dati:

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico 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

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 11 Giovedì 17-11-2016 1 Gestione della memoria La memoria principale

Dettagli

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore:

Cache associativa. Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: Cache associativa Possibili alternative per il trasferimento di un blocco dalla memoria inferiore alla memoria superiore: 1. Indirizzamento diretto (già visto). Ogni blocco della memoria inferiore può

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

Il file È un insieme di informazioni: programmi. Il File System. Il file system

Il file È un insieme di informazioni: programmi. Il File System. Il file system Il File System Il file È un insieme di informazioni: programmi d a t i testi rappresentati come insieme di record logici (bit, byte, linee, record, etc.) Ogni file è individuato da (almeno) un nome simbolico

Dettagli

Parte IV. Gestione della Memoria

Parte IV. Gestione della Memoria Parte IV Gestione della Memoria Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IV - 1 Gestione della memoria Una delle due risorse indispensabili all elaborazione Necessità di allocare in memoria

Dettagli

Parte IV Gestione della Memoria

Parte IV Gestione della Memoria Parte IV Gestione della Memoria Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IV - 1 Gestione della memoria Una delle due risorse indispensabili all elaborazione Necessità di allocare in memoria

Dettagli

Monoprogrammazione. Gestione della memoria. Una risorsa scarsa. Parte IV. Gestione della Memoria

Monoprogrammazione. Gestione della memoria. Una risorsa scarsa. Parte IV. Gestione della Memoria Gestione della memoria Parte IV Gestione della Memoria Una delle due risorse indispensabili all elaborazione Necessità di allocare in memoria lo spazio di lavoro di più processi Anche in un contesto uniprogrammato

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

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Il File System Realizza i concetti

Dettagli

static dynamic random access memory

static dynamic random access memory LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento

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

10. Memoria Virtuale. Esercizi

10. Memoria Virtuale. Esercizi 1 (es. 1) Consideriamo un processo con m frame inizialmente vuoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine diverse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è

Dettagli

Capitolo 4 Gestione della Memoria

Capitolo 4 Gestione della Memoria Capitolo 4 Gestione della Memoria 4.1 Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di sostituzione 4.6 Criteri di progetto per la paginazione

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

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

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. 2015-16 Pietro Frasca Lezione 11 Martedì 10-11-2015 1 Memoria partizionata Le tecniche di memoria partizionata

Dettagli

Introduzione alle gerarchie di memoria

Introduzione alle gerarchie di memoria Introduzione alle gerarchie di memoria 1 Un ripasso Circuito sequenziale Segnale di clock Circuito sincrono Temporizzazione sensibile ai fronti Latch tipo S-R Latch tipo D Flip-flop tipo D Register file

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

Gestione della memoria

Gestione della memoria Testo di rif.to: [Congiu] 6.2, 6.3 (pg. 2-28) 6.b Gestione della memoria Mapping and Management Unit (MMU) Paginazione della memoria Segmentazione della memoria Memoria virtuale La gestione della memoria

Dettagli

! Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi.!

! Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi.! ! Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi.!! Obiettivi: accesso rapido e protezione.!! Accesso rapido! " La CPU ha accesso diretto solo alla

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T4 A1 Allocazione dinamica 1 Prerequisiti Programmazione elementare Programmazione ad oggetti Dati semplici e strutturati 2 1 Introduzione In molti problemi capita di non conoscere

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

Introduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1

Introduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1 Introduzione alle memorie cache Corso ACSO prof. Cristina SILVANO Politecnico di Milano Cristina Silvano, 06/01/2013 versione 2 1 Obiettivo Sommario Livelli della gerarchia di memoria Memoria cache: concetti

Dettagli

Memoria Virtuale e I/O. Paolo Baldan. Introduzione. Gerarchie di memoria: Cache. Gerarchie di Memoria CPU

Memoria Virtuale e I/O. Paolo Baldan. Introduzione. Gerarchie di memoria: Cache. Gerarchie di Memoria CPU Memoria Virtuale e I/O Paolo Baldan Baldan@dsi.unive.it Gerarchie di Memoria La memoria e organizzata in modo gerarchico (a livelli): Liv. 1: memoria più veloce(costosa). CPU Liv. n: memoria più lenta

Dettagli

Le memorie Cache. Sommario

Le memorie Cache. Sommario Le memorie Cache Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson: 5.2, 5.3 1/36 Sommario Circuito di lettura

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

Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems

Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems Dove siamo Gestione della Memoria (1) Dove siamo Dove siamo Gestione della memoria (vista utente) exec() shmalloc() sbrk() getrlimit() File Mgr UNIX Device Mgr Mgr Mgr Application Program Hardware Alloc()

Dettagli

Corso di Architettura (Prof. Scarano) 10/05/2002

Corso di Architettura (Prof. Scarano) 10/05/2002 Lezione 0 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Le procedure Prima della chiamata di una procedura In ogni linguaggio di

Dettagli

Sistemi Operativi 1. Mattia Monga. 3 giugno Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. 3 giugno Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 3 giugno 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare (continua) Funzioni principali del sistema operativo Avvio dell elaboratore Gestione del processore e dei processi in esecuzione Gestione della memoria

Dettagli

Il software. la parte contro cui si può solo imprecare. (continua) Funzioni principali del sistema operativo. Gestione della memoria principale

Il software. la parte contro cui si può solo imprecare. (continua) Funzioni principali del sistema operativo. Gestione della memoria principale Il software la parte contro cui si può solo imprecare (continua) Funzioni principali del sistema operativo Avvio dell elaboratore Gestione del processore e dei processi in esecuzione Gestione della memoria

Dettagli

Università degli Studi di Padova - Corso di Laurea in Informatica

Università degli Studi di Padova - Corso di Laurea in Informatica Università degli Studi di Padova - Corso di Laurea in Informatica Regole dell'esame Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 45 min dalla sua presentazione.

Dettagli