Esercitazione E2 Memoria virtuale



Похожие документы
Esercitazione E6 Esercizi d esame

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

Memoria Virtuale. Lezione 29 Sistemi Operativi

Sistemi Operativi. 5 Gestione della memoria

esercizi memoria virtuale maurizio pizzonia - sistemi operativi

Esercitazione E1 Scheduling, deadlock, monitor

GESTIONE DELLA MEMORIA CENTRALE

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

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

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

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 Gestione della Memoria (parte 2)

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

Gestione della memoria

Esempi di domande della seconda provetta

Esame del corso di Sistemi Operativi e Reti

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria centrale

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

I processi Unix. Entry della tabella dei processi

SCHEDULING DEI PROCESSI

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

Codifica dei numeri negativi

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

B+Trees. Introduzione

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

La gestione della memoria

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

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

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

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

Laboratorio di Informatica

Gestione della memoria centrale

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Sistema operativo: Gestione della memoria

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

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

A) ISC per i conti correnti. In corso di predisposizione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Informazione analogica e digitale

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

La Memoria Virtuale Ottimizzazione della memoria centrale

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

La valorizzazione dei movimenti di magazzino

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

Sistemi Operativi Kernel

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

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

Strutturazione logica dei dati: i file

Gestione della memoria centrale

RETI DI TELECOMUNICAZIONE

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

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

Memoria virtuale e ottimizzazione

Testi di Esercizi e Quesiti 1

OCCUPATI SETTORE DI ATTIVITA' ECONOMICA

HEX Bin HEX Bin HEX Bin HEX Bin C D A 1010 E B 1011 F 1111

Interfacciamento con memorie Pagina 1 di 9

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

Calcolatori Elettronici

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Sistemi di Numerazione

Algoritmi e strutture dati. Codici di Huffman

La schedulazione. E.Mumolo

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

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Scheduling della CPU

LABORATORIO DI SISTEMI

Lo scheduling. Tipici schedulatori

Codifica binaria dei numeri relativi

Corso di Informatica

Scheduling della CPU:

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Memoria Virtuale. Lezione Sistemi Operativi

Il Metodo Branch and Bound

Funzioni in C. Violetta Lonati

Laurea Specialistica in Informatica

Транскрипт:

Esercitazione E2 Memoria virtuale Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-1

Memoria virtuale 1 Si consideri un sistema a memoria virtuale con indirizzi virtuali a 32 bit, indirizzi fisici a 24 bit e pagine di 4K byte, e descrittori di pagina di 8 byte: a) di quante pagine sono costituiti rispettivamente lo spazio di indirizzamento virtuale e quello fisico? b) di quanti bit è costituito l'offset? c) di quante righe è costituita e quanti byte occupa la tavola delle pagine? d) Come è organizzata una tavola delle pagine a due livelli corrispondenti rispettivamente a gruppi di 12 e 8 bit? e) quante pagine occupa una procedura il cui codice occupa 9734 byte. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-2

Memoria virtuale 1 a) a) di quante pagine sono costituiti rispettivamente lo spazio di indirizzamento virtuale e quello fisico? Essendo gli indirizzi virtuali a 32 bit o spazio virtuale è costituito da 2 32 byte Le pagine sono da 4 K byte = 2 12 byte, pertanto il numero di pagine virtuali è di: 2 32 /2 12 = 2 20 = 1 M pagine Essendo gli indirizzi fisici a 24 bit o spazio fisico è costituito da 2 24 byte Le pagine sono da 4 K byte = 2 12 byte, pertanto il numero di pagine fisco è di: 2 24 /2 12 = 2 12 = 4 K pagine Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-3

Memoria virtuale 1 b) b) di quanti bit è costituito l'offset? L offset dipende solo dalla dimensione delle pagine Dato che le pagine sono da 4 K byte = 2 12 byte, l offset e di 12 bit Struttura dell indirizzo virtuale: 20 12 # pagina virtuale offset Struttura dell indirizzo fisico 12 12 # pagina fisica offset Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-4

Memoria virtuale 1 c) c) di quante righe è costituita e quanti byte occupa la tavola delle pagine? La tavola delle pagine ha un elemento per ogni pagina dello spazio di indirizzamento virtuale. Le pagine virtuali sono 2 20 Ogni elemento della tavola è costituito da un descrittore di pagina. Nei dati del problema i descrittori di pagina sono di 8=2 3 byte Pertanto la tavola delle pagine occupa complessivamente: 2 20 2 3 byte = 2 23 byte = 8 Mbyte Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-5

Memoria virtuale 1 d) d) Come è organizzata una tavola delle pagine a due livelli corrispondenti rispettivamente a gruppi di 12 e 8 bit? Una tavola delle pagine a due livelli è costituita da: Una tavola di primo livello in cui viene usato come indice il primo gruppo di bit (12 bit). Pertanto la tavola ha 2 12 elementi. Una tavola di secondo livello in corrispondenza a ciascun elemento della tavola di primo livello (nell esempio 2 12 tavole), in ciascuna delle quali viene usato come indice il secondo gruppo di bit (8 bit). Ciascun elemento della tavola di primo livello è un puntatore alla corrispondente tavola di secondo livello, ed ha le dimensioni di un indirizzo virtuale; nell esempio 32 bit cioè 4 byte = 2 2 byte. Ciascun elemento delle tavola di secondo livello è un descrittore, nell esempio 8 byte = 2 3 byte. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-6

Memoria virtuale 1 d) bis d) Come è organizzata una tavola delle pagine a due livelli corrispondenti rispettivamente a gruppi di 12 e 8 bit? La tavola di primo livello ha 2 12 elementi di 2 2 byte ciascuno, quindi occupa complessivamente: 2 12 2 2 byte = 2 14 byte = 16 Kbyte Ciascuna delle tavole di secondo livello ha 2 8 elementi di 2 3 byte ciascuno, quindi occupa complessivamente: 2 8 2 3 byte = 2 11 byte = 2 Kbyte Dato che le tavole di secondo livello sono 2 12, esse occupano complessivamente: 2 12 2 11 byte= 2 23 byte = 8 Mbyte Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-7

Memoria virtuale 1 e) e) quante pagine occupa una procedura il cui codice occupa 9734 byte. La procedura viene allocata in pagine da 4 Kbyte = 4096 byte. Il numero di pagine occupate dalla procedura è dato da: P = 9734/4096 = 3 L ultima pagina è solo parzialmente occupata. C è uno sfrido pari a: S = 3 4096-9734 = 2554 (pari al 2554/4096 62% Questo spreco corrisponde al fenomeno della frammentazione interna Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-8

Memoria virtuale 2 In un sistema a memoria virtuale si stima che la dimensione media dei processi sia di s = 512 KB. Assumendo che la dimensione dei descrittori di pagina è e=16 byte, confrontare l occupazione di memoria dovuta alla tavola delle pagine ed alla frammentazione interna, nei seguenti casi: a) Pagine da p=512 byte b) Pagine da p=4 KB c) Pagine da p=16 KB d) Quale è la dimensione ottima (potenza di due!)? Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-9

Memoria virtuale 2 bis La dimensione ottima delle pagine costituisce un compromesso tra: Dimensione della tavola delle pagine : cresce col numero di pagine utilizzate, e quindi col diminuire della dimensione delle pagine. Spreco dovuto a frammentazione interna : cresce con la dimensione delle pagine; è pari a mezza pagina per ogni oggetto allocato. Per valutare l overhed complessivo sia: s : dimensione media del processo in byte p : dimensione della pagina in byte e : dimensione del descrittore in byte overhead = s/p e + p/2 Il primo termine rappresenta l occupazione nella tavola delle pagine relativa ad un processo Il secondo termine è lo sfrido attribuibile al processo: metà dell ultima pagina allocata al processo Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-10

Memoria virtuale 2 ter La dimensione ottima delle pagine si ottiene, per dati valori dei parametri s ed e, trovando il valore di p che minimizza l overhead: p opt = 2 s e Nel caso s = 512 Kbyte ed e = 16 byte, per le varie dimensioni di p le due componenti dell overhead sono: p = 512 byte: tavola=16 Kbyte, sfrido=256 byte, totale=16.25 Kbyte p = 4 Kbyte: tavola=2 Kbyte, sfrido=2 Kbyte, totale=4 Kbyte p = 16 Kbyte: tavola=512 byte, sfrido=8 Kbyte, totale=8.5 Kbyte Il valore ottimo (teorico) per la dimensione di pagina è: p opt = 2 s e = 2 2 19 2 4 = 2 12 = 4 Kbyte Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-11

Memoria virtuale 3 In un sistema a memoria virtuale occorre scegliere tra le seguenti pagine quale fare uscire dalla memoria centrale: Pagina Entrata Riferita R M 0 126 280 1 0 1 230 265 0 1 2 140 270 0 0 3 110 285 1 1 Quale pagina sceglie ciascuno dei seguenti algoritmi? FIFO LRU NRU Second chance Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-12

Memoria virtuale 3: FIFO Pagina Entrata Riferita R M 0 126 280 1 0 1 230 265 0 1 2 140 270 0 0 3 110 285 1 1 Conta solo l ordine di entrata Le pagine vengono scelte nell ordine: 3: entrata all istante 110 0: entrata all istante 126 2: entrata all istante 140 1: entrata all istante 230 Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-13

Memoria virtuale 3: LRU Pagina Entrata Riferita R M 0 126 280 1 0 1 230 265 0 1 2 140 270 0 0 3 110 285 1 1 Vale la vecchiaia dell ultimo riferimento Le pagine vengono scelte nell ordine: 1: riferita all istante 265 2: riferita all istante 270 0: riferita all istante 280 3: riferita all istante 285 Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-14

Algoritmo NRU NRU (Not Recently Used) Ogni pagina ha un Reference bit e un Modified bit Le pagine vengono classificate 1. Non referenziate e non modificate 2. Non referenziate e modificate 3. Referenziate e non modificate 4. Referenziate e modificate La pagina da buttare viene selezionata random dalla classe non vuota più bassa Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-15

Memoria virtuale 3: NRU Pagina Entrata Riferita R M 0 126 280 1 0 1 230 265 0 1 2 140 270 0 0 3 110 285 1 1 Le pagine vengono scelte nell ordine: 2: non referenziata e non modificata 1: non referenziata ma modificata 0: referenziata e non modificata 3: referenziata e non modificata Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-16

Algoritmo second chance Lista gestita FIFO: in base all ordine di entrata Se la pagina in testa ha R=0 viene buttata fuori Se la pagina in testa ha R=1 viene messa in fondo alla coda con R=0 Si passa alla successiva finché non se ne trova una con R=0 Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-17

Memoria virtuale 3: second chance Pagina Entrata Riferita R M 0 126 280 1 0 1 230 265 0 1 2 140 270 0 0 3 110 285 1 1 Le pagine vengono esaminate in ordine FIFO: 3: ha R=1 viene messa in coda con tempo 285 e R=0 0: ha R=1 viene messa in coda con tempo 286 e R=0 2: ha R=0 è viene espulsa Alle pagine 3 e 0, in quanto virtuose è stata data una second chance 2 non era virtuosa ed è stata punita subito. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-18

Memoria virtuale 4 Un processo genera la seguente sequenza di riferimenti a pagine virtuali: 1, 2, 2, 4, 4, 1, 5, 8, 2, 5, 3, 4, 5, 3, 4, 1, 2, 3, 4, 5 Calcolare il numero e la sequenza di page fault che si verificano usando i seguenti algoritmi di rimpiazzamento: a) Ottimo, con 4 page frame b) FIFO, con 4 page frame c) LRU, con 4 page frame d) Working set con finestra k pari a 6 Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-19

Memoria virtuale 4 a) Algoritmo ottimo 7 page fault 1 2 2 4 4 1 5 8 2 5 3 1 4 5 3 4 2 3 4 5 1 2 2 4 4 4 5 8 8 8 3 3 4 4 4 4 4 4 4 4 1 1 2 2 2 4 5 5 5 5 5 3 3 3 3 3 3 3 3 1 1 1 2 2 2 2 2 2 5 5 5 5 5 5 5 5 1 1 1 1 1 1 2 2 2 2 2 2 2 2 P P P P P P P Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-20

Memoria virtuale 4 b) Algoritmo FIFO 11 page fault 1 2 2 4 4 1 5 8 2 5 3 1 4 5 3 4 2 3 4 5 1 2 2 4 4 4 5 8 8 8 3 1 4 5 5 5 2 3 3 3 1 1 2 2 2 4 5 5 5 8 3 1 4 4 4 5 2 2 2 1 1 1 2 4 4 4 5 8 3 1 1 1 4 5 5 5 1 2 2 2 4 5 8 3 3 3 1 4 4 4 P P P P P P P P P P P Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-21

Memoria virtuale 4 c) Algoritmo LRU 10 page fault 1 2 2 4 4 1 5 8 2 5 3 1 4 5 3 4 2 3 4 5 1 2 2 4 4 1 5 8 2 5 3 1 4 5 3 4 2 3 4 5 1 1 2 2 4 1 5 8 2 5 3 1 4 5 3 4 2 3 4 1 1 2 4 1 5 8 2 5 3 1 4 5 3 5 2 3 2 4 1 1 8 2 5 3 1 1 5 4 5 2 P P P P P P P P P P Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-22

Memoria virtuale 4 d) Working set K=6 8 page fault 1 2 2 4 4 1 5 8 2 5 3 1 4 5 3 4 2 3 4 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 2 3 3 3 4 4 4 4 4 4 4 3 3 3 3 4 4 3 4 4 4 5 5 5 5 5 5 4 4 5 5 4 5 5 5 8 8 8 8 8 5 5 5 8 P P P P P P P P Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E2-23