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



Похожие документы
10. Memoria Virtuale. Esercizi

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

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

GESTIONE DELLA MEMORIA CENTRALE

Memoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E

Sistemi Operativi. 5 Gestione della memoria

Memoria Virtuale. Lezione 29 Sistemi Operativi

esercizi memoria virtuale maurizio pizzonia - sistemi operativi

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

9. Memoria Virtuale. 9.1 Memoria Virtuale: introduzione

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

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

Sistemi Operativi. 10 LEZIONE MEMORIA VIRTUALE CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Opertivi 2007/08

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Gestione della memoria centrale

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Esercitazione E2 Memoria virtuale

I processi Unix. Entry della tabella dei processi

Laboratorio di Informatica

Capitolo 11 La memoria cache

La memoria centrale (RAM)

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Sistema operativo: Gestione della memoria

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Il memory manager. Gestione della memoria centrale

Gestione della Memoria

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi. 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Architettura dei calcolatori II parte Memorie

Laboratorio di Informatica

Gestione della memoria centrale

La gestione della memoria

Architettura hardware

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Guida all uso di Java Diagrammi ER

Sistemi Operativi Kernel

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale

Esercitazione E6 Esercizi d esame

LABORATORIO DI SISTEMI

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

La Gestione delle risorse Renato Agati

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale

DMA Accesso Diretto alla Memoria

ARCHITETTURA DEL CALCOLATORE

Organizzazione della memoria

Approccio stratificato

SISTEMI OPERATIVI. Gestione dei dischi. Gestione dei dischi e sistemi RAID

Il software. la parte contro cui si può solo imprecare. Il software

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini

Appunti sulla Macchina di Turing. Macchina di Turing

Test statistici di verifica di ipotesi

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Le gerarchie di memoria: memoria cache

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Architettura di un calcolatore

Corso di Sistemi di Elaborazione delle informazioni

Corso PLC - Manuale Pratico 1

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

La Memoria Virtuale Ottimizzazione della memoria centrale

Capitolo Silberschatz

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Rappresentazione delle informazioni

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Dispensa di Informatica I.1

4 3 4 = 4 x x x 10 0 aaa

Esercizi su. Funzioni

Capitolo 2. Operazione di limite

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Pertanto la formula per una prima approssimazione del tasso di rendimento a scadenza fornisce

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Memoria secondaria. Sistemi Operativi mod. B 14.1

L USO DEL CALCOLATORE

Транскрипт:

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 è il numero minimo di page fault? n b) qual è il numero massimo di page fault? p 2 (es. 2) un computer ha uno spazio degli indirizzi logici di 2 32 byte. Il computer ha 2 18 byte di memoria fisica. La memoria virtuale è paginata, con pagine di 4096 byte. Un processo genera l indirizzo 11123456 (esadecimale). Come viene generato il corrispondente indirizzo fisico? 0001 0001 0001 0010 0011 0100 0101 0110 1 pagina = 2 12 byte PT = 2 20. I 12 bit meno significativi sono usati come offset nella pagina. I 20 bit rimanenti sono usati come offset all interno della PT 3 (es. 3) In un sistema con demand paging, la PT è tenuta in appositi registri. Ci vogliono 8 millisec per gestire un page fault nel caso migliore, e 20 millisec nel caso peggiore. L accesso in RAM richiede 100 nanosec. Un pagina vittima ha il dirty bit a 1 nel 70% dei casi. Qual è la frequenza massima accettabile di page fault per avere un eat massimo di 200 nanosecondi? (esprimete i tempi in microsec.) 1

4 (es. 3) tempo di page fault = 8 millisec nel 30% dei casi, 20 millisec nel 70% dei casi. Access time = 100 nansosec. 0.2 µsec = (1 P) 0.1 µ sec + 0.3 P 8 millisec + 0.7 P 20 millisec 0.1 0.1 P + 2400 P + 14000 P P 0.000006 (un page fault ogni 164000 riferimenti) 5 (es. 4) quali di questi algoritmi: Optimal, FIFO, Seconda chance, LRU, soffrono della anomalia di belady? FIFO e Seconda chance 6 (es. 5) quali sono i vantaggi della memoria virtuale? Quali gli svantaggi? svantaggi: è necessario dell HW più sofisticato, e si hanno tempi di accesso in RAM peggiori, e si occupa una parte dell HD vantaggi: utilizzo migliore della memoria principale, spazi di indirizzamento logico maggiori di quello fisico, migliore produttività del sistema 2

7 (es. 6) In un sistema il tempo di accesso in memoria è di 1 µsec. Le pagine sono fatte di 1000 byte, e l HD ruota a 3000 giri al minuto, trasferendo 1 milione di byte al secondo. Si osserva quanto segue: 1% delle istruzioni accede locazioni di una pagina non in memoria associativa (il cui tempo di accesso è trascurabile) di questo 1%, l 80% degli accessi è a una pagina comunque in memoria primaria quando un riferimento produce un page fault, la pagina vittima è stata modificata nel 50% dei casi. 8 (es. 6) Calcolate l eat del sistema, assumendo che ci sia un solo processo attivo e che la CPU sia idle durante il trasferimento dal disco eat = (0.99 1 µsec) + (0.008 2 µsec) + 0.001 2 (10000 µsec + 1000 µsec) + 0.001 (10000 µsec + 1000 µsec) = (0.99 + 0.016 +22 +11) µsec = 34 µsec scrittura + lettura altra pagina in RAM T. medio di posiz. = (60 sec.)/(3000 2) solo lettura 9 (es. 7) In un sistema con demand paging vengono fatte le seguenti rilevazioni sulla percentuale di utilizzo: Utilizzo della CPU: 20% Disco di swap attivo: 97.7% altri device di I/O: 5% 3

10 (es. 7) Quali delle seguenti azioni possono (ragionevolmente) migliorare l utilizzo della CPU? Installare una CPU più veloce no Aumentare l area di swap no Aumentare il grado di multiprogrammazione no 11 Diminuire il grado di multiprogrammazione si Installare più RAM può aiutare, poiché più pagine possono rimanere in RAM senza provocare page fault Installare un HD più veloce può aiutare, poiché le pagine mancanti possono arrivare in RAM più velocemente 12 Usare la prepaginazione non si può dire a priori aumentare la dimensione delle pagine Pagine più grosse provocano meno page fault, se i processi hanno una località molto forte (ad esempio se i dati sono acceduti in modo sequenziale). Se invece i dati sono acceduti in modo casuale, vengono generati molti riferimenti a pagine diverse, e meno pagine possono stare in RAM se queste sono più grosse, provocando più page fault 4

13 (es. 8) dire quanti page fault si verificano con 1, 2, 3, 4, 5, 6, 7 frame disponibili, usando LRU, FIFO e OPT, per la seguente stringa di riferimento: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6 14 (es. 8): 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6 frames LRU FIFO OPT 1 20 20 20 2 18 18 15 3 15 16 11 4 10 14 8 5 8 10 7 6 7 9 7 7 7 7 7 15 (es. 9) Supponete una politica di rimpiazzamento in cui a intervalli regolari viene rimossa una pagina se questa non è stata usata dall intervallo precedente. Che vantaggi/svantaggi si hanno rispetto ad una politica che usi LRU o seconda chance chiamati solo in caso di page fault? Il sistema non tiene in memoria pagine non in uso, anche se non si verificano page fault. In caso di page fault, aumentano quindi le probabilità che si trovi un frame libero. Se però nessuna pagina viene mai scaricata, è probabile che la RAM sia sottodimensionata. 5

16 (es. 10) In un sistema con demand paging, l area di swap ha un tempo di accesso e di trasferimento di 5 millisec. Gli indirizzi sono tradotti mediante una PT in RAM, e l access time in RAM è di 1 µsec. Con l uso di una memoria associativa, la traduzione di un indirizzo logico in fisico si riduce ad un solo accesso in RAM, l hit rate è dell 80%, mentre dei restanti accessi, il 10% (ossia il 2% del totale) causano page fault. Calcolare l effective access time. eat = 0.8 1 µsec + 0.18 2 µ sec + 0.02 5002 µ sec = 101.2 µ sec 17 (es. 11) In un sistema con demand paging il grado di multiprogrammazione è stato fissato a 4. In situazioni diverse, alcune misure hanno dato i seguenti risultati: a) utilizzo CPU: 13% -- utilizzo del disco: 97% b) utilizzo CPU: 87% -- utilizzo del disco: 3% c) utilizzo CPU: 13% -- utilizzo del disco: 3% Cosa sta succendendo nei tre casi? Si potrebbe aumentare il grado di multiprogrammazione per migliorare l uso della CPU? (es. 11) : a) utilizzo CPU: 13% -- utilizzo del disco: 97% b) utilizzo CPU: 87% -- utilizzo del disco: 3% c) utilizzo CPU: 13% -- utilizzo del disco: 3% 18 a) Thrashing b) La CPU è sufficientemente utilizzata. Si può comunque tentare di alzare il grado di multiprogrammazione, poiché il numero di page fault è sicuramente basso c) Sistema sottoutilizzato: aumentare il grado di multiprogrammazione 6

(es. 12) In un calcolatore la memoria virtuale è di 32K, e la memoria fisica è di 16K. Le pagine del sistema sono di 2K. Si consideri la PT sottostante, e si dia l indirizzo fisico corrispondente a ciascuno dei seguenti indirizzi virtuali: 565; 4100; 6150 pagina frame valido/inv. 0 3 v 1 6 v 2 x i 3 2 v 4 x i 19 20 565 = (0 2048) + 565; (3 2048) + 565 = 6709 ; 4100 = (2 2048) + 4; page fault; 6150 = (3 2048) + 6; (2 2048) + 6 = 4102 ; pagina frame valido/inv. 0 3 v 1 6 v 2 x i 3 2 v 4 x i 21 (es. 13) Un sistema ha le seguenti caratteristiche: È in grado di indirizzare un milione di frames Usa 30 bit per scrivere un indirizzo logico L offset più grande in un indirizzo è 1FF Il sistema dovrebbe prevedere un meccanismo di prevenzione del thrashing? 7

22 Per dare la risposta occorre sapere se lo spazio di indirizzamento logico è più grande dello spazio di indirizzamento fisico. La dimensione di una pagina/frame è di 2 9 byte, dato che l offset più grande è scritto su 9 bit (infatti, 1FF = 111111111) Quindi, il sistema è in grado di indirizzare 2 (30-9) pagine, che sono quindi in numero maggiore dei frame. Alternativamente si può osservare che essendo 2 20 i frame indirizzabili, un indirizzo fisico è scritto su 20+9 bit e quindi lo spazio di indirizzamento logico è più grande di quello fisico, ed è necessario implementare la memoria virtuale, e quindi un meccanismo di prevezione del thrashing Il sistema deve usare una paginazione a più livelli? 23 Ecco di nuovo i dati del problema: È in grado di indirizzare un milione di frames Usa 30 bit per scrivere un indirizzo logico L offset più grande in un indirizzo è 1FF Il sistema deve usare una paginazione a più livelli? 24 La PT più grande del sistema ha 2 21 entry, e se usiamo 3 byte per ciascuna entry (in realtà sarebbero sufficienti 20 bit), la PT più grande occupa 2 21 3 = 6 megabyte Poiché un frame è grande solo 2 9 byte, sarebbero necessari (2 21 3)/ 2 9 12K frame per ospitare la PT, che quindi è meglio paginare usando una PT esterna. 8

È sufficiente una paginazione a 2 livelli? 25 Ecco di nuovo i dati del problema: È in grado di indirizzare un milione di frames Usa 30 bit per scrivere un indirizzo logico L offset più grande in un indirizzo è 1FF Dimensione della PT (dalla domanda precedente): (2 21 3) / 2 9 = 2 12 3 = 12288 frame È sufficiente una paginazione a 2 livelli? Calcoliamo la dimensione massima della PT esterna. 26 La PT interna sta in: (2 21 3) / 2 9 = 2 12 3 = 12288 frame Per cui la PT esterna deve avere 12288 entry da 3 byte ciascuna, e sarà contenuta in: (2 12 3) 3 / 2 9 = 72 frame. In linea di principio sarebbe necessario paginare anche la PT esterna, in modo da non dover trovare 72 frame adiacenti per memorizzarla. Quale dimensione minima dovrebbero avere le pagine per non dover usare una paginazione a più livelli (supponete di usare 4 byte per ogni entry della PT)? 27 Ecco di nuovo i dati del problema: È in grado di indirizzare un milione di frames Usa 30 bit per scrivere un indirizzo logico L offset più grande in un indirizzo è 1FF 9

28 La PT più grande deve poter essere contenuta in un unico frame. Supponiamo di usare 4 byte per ogni entry di una PT. Poniamo 30 = m+n, dove: -- m = numero di bit usati per il numero di pagina -- n = numero di bit usati per l offset allora il numero di entry della PT più grande moltiplicato per la dimensione di una entry dovrà poter essere contenuto in una pagina, ossia: 2 m 2 2 2 n, e quindi: m + 2 n risolvendo quindi il sistema: 30 = m + n m + 2 n Si ricava: n 16. Ne segue che le pagine devono avere la dimensione minima di 2 16 = 64 Kbyte 10