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

Documenti analoghi
Memoria Virtuale. Lezione 18 Sistemi Operativi

Lezione XII: La gestione delle eccezioni in MINIX

Memoria Virtuale. Lezione 6-7 Sistemi Operativi

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

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

La gestione della memoria su IA-32. Lez. 32 Sistemi Operativi

GESTIONE DELLA MEMORIA CENTRALE

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

Sistemi operativi e distribuiti

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

Sistemi operativi - Concetti ed esempi -Settima edizione

Sistemi Operativi. Lezione 8 La gestione della memoria

Memoria Virtuale. Lezione 29 Sistemi Operativi

Memoria Virtuale. Sommario. Introduzione Paginazione su domanda. Rimpiazzamento delle pagine Allocazione dei frame

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

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

Sistemi Operativi Gestione della Memoria (parte 3)

Gestione della memoria

Sistema Operativo - Gestione della Memoria lista argomenti di studio

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

Parte IV. Gestione della Memoria

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

Esercizio: memoria virtuale

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

Simuliamo ora il funzionamento di LRU sulla reference string data:

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

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Capitolo 10: Memoria virtuale

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse

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

Gestione Memoria. Gestione della memoria

Desiderata: memoria capiente e veloce. Connessioni tra livelli di memoria. Tecniche impiegate. Memoria cache, struttura. Metodo:

Memoria Virtuale. Considerazioni sulla paginazione e segmentazione

Descrivere i vantaggi di un sistema a memoria virtuale

Gestione della memoria. Algoritmi di rimpiazzamento Segmentazione

Sistemi Operativi Il Sistema Operativo Windows (parte 2)

Obiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!

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

Memoria virtuale. Capitolo 9 - Silberschatz

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

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

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

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

Architettura degli Elaboratori 19 Memoria Virtuale. Prof. Andrea Sterbini

Corso di Informatica

Memoria Virtuale. Background Paginazionesu richiesta Sostituzione delle pagine Algoritmi di sostituzione delle pagine Allocazione dei frame Thrashing

memoria virtuale protezione

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

Laboratorio di Sistemi Operativi Simulatori

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

Esercizio: memoria virtuale

Gestione della memoria

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

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

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

La gestione della memoria. Lezione 16 Sistemi Operativi

Gestione della Memoria. Sistemi Operativi T AA

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

Sistemi Operativi. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Gestione della Memoria

La gerarchia delle memorie

Gerarchie di memoria Memorie a componenti dinamici 1

Modello della memoria in Unix. Quando si alloca la memoria. Gestione della memoria in UNIX

Le memorie Cache n-associative

LA MEMORIA VIRTUALE. Motivazioni. » Spesso non tutte le funzioni di un programma sono utilizzate durante l esecuzione

I processi Unix. Entry della tabella dei processi

esercizi memoria virtuale...

Sistema Operativo - Gestione della Memoria per moderne CPU. Address Binding Dinamico in esecuzione mediante Segmentazione, Paginazione e Memoria

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

Il concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale

Gestione della Memoria

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. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Sistemi Operativi Da Unix a GNU/Linux (parte 2)

Le memorie Cache. Sommario

Esercitazione E2 Memoria virtuale

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 16. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011

Unix: Gestione della Memoria

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

Lezione XXVII: La gestione dell I/O in MINIX

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

Sistemi Operativi. Bruschi Martignoni Monga. Altre periferiche fondamentali Hard disk Terminale. Sistemi Operativi. Bruschi Martignoni Monga

Sistemi Operativi Esercizi Gestione Memoria

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

Modulo 7: Gestione della Memoria

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

Sistemi Operativi Laurea in Ingegneria Informatica Sapienza Universita di Roma Docente: Francesco Quaglia

Gestione della Memoria

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

Calcolo prestazioni cache (1)

Capitolo 8 - Silberschatz

Sistemi Operativi. Bruschi Martignoni Monga. File system Astrazioni utente Metadati Tecniche implementative. Sistemi Operativi

Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica

Sistemi Operativi. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

YYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta

Transcript:

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 License. http://creativecommons.org/licenses/by-sa/2.5/it/. Immagini tratte da [2] e da Wikipedia. 1

545 Lezione XXXII: Gestione della memoria

546 Working set Il working set è costituito dall insieme usate negli ultimi k riferimenti a memoria w(k, t) è la dimensione del working set all istante t

547 Prepaging Invece di caricare tutte le pagine solo quando servono (lazy paging) può essere conveniente caricare in anticipo un certo numero di pagine (prepaging). Se le pagine precaricate sono in numero vicino al massimo working set, i si riducono di molto Si modella il working set un 1 negli n bit alti dei contatori di aging wsclock: clock in cui per ogni pagina si tiene conto se fa parte del working set o no

548 Simulazione LRU tramite aging Alternativamente è possibile mantenere un contatore per pagina che si incrementa ad ogni tick: la pagina vittima è quella con il contatore piú basso

549 Allocazione locale e globale

550 Page Fault Frequency In un algoritmo globale, il numero di frame allocati ad un processo può essere mantenuto in proporzione alla frequenza dei (quali pagine rimpiazzare è una decisione indipendente)

551 Anomalia di Belady Con alcuni algoritmi (p.es. FIFO), aumentare il numero dei page frame a disposizione peggiora il numero dei

552 Riassunto

553 Vantaggi pagine piccole Minore frammentazione interna Piú adattabili alle dimensioni dei programmi Riduzione spazio di memoria inutilizzato Svantaggi Grosse tabelle Piú accessi a disco

554 ottimale Sia d la dimensione media di un processo, p la dimensione della pagina ed e la dimensione di una entry nella tabella della pagine. tabella d p e Frammentazione interna media p 2 La somma di questi due fattori di overhead è minima per p = 2d e d = 1MB, e = 8B p = 4KB

555 Page size

556 La memoria virtuale vista finora è monodimensionale Avere piú spazi di indirizzi distinti può essere vantaggioso in presenza di aree che crescono separatamente durante l esecuzione Es. Compilatore che usa aree per Testo sorgente Symbol table Tabella delle costanti intere e floating point Albero di parsing Stack per le chiamate di procedura del compilatore stesso

557

558 Si fornisce alla macchina un insieme di spazi di indirizzi logici indipendenti detti segmenti I segmenti hanno dimensioni diverse e possono cambiare senza interferire gli uni con gli altri L utente definisce i segmenti ma non li gestisce Semplifica le operazioni di linking (Segmento, offset) per indicizzare i moduli I segmenti sono indipendenti Facilita la condivisione di librerie (shared libraries)

559

560

561 nel Pentium Supporto per: segmentazione pura, pura, segmentazione paginata Pure paging: tutti i processi hanno un unico segmento di 4GB Due tipi di tabelle di sistema contengono i descrittori dei segmenti: GDT comune a tutti i processi una LDT per processo Per poter accedere ad un descrittore di segmento è necessario che il suo selettore sia contenuto in uno dei 6 segment register

562 Descrittore di segmento Contiene tutte le informazioni relative ad un segmento Occupa 8 byte Una volta selezionato il suo contenuto è copiato nei registri del processore per accelerarne l accesso

563 Calcolo indirizzo segmentato I campi di interesse per il calcolo dell indirizzo fisico a partire da un indirizzo logico costituito dalla copia < selector, offset > sono: Base di 32 bit che indica l indirizzo di partenza del segmento Limit di 20 bit che indica la dimensione massima in byte se Gbit=0, in pagine di 4Kbyte se Gbit=1

564 segmentata Nel caso di, predisposta dal kernel, l indirizzo di 32 bit cosí generato deve essere ulteriormente trasformato passando attraverso la tabella Poiché però le pagine hanno dimensione 4K ed i segmenti 4GB dovremmo avere tabelle di 1M di elementi, per evitare questo problema si usa una tabella a due livelli

565 a due livelli

566 Bibliografia Dijkstra, E. W. My recollections of operating systems design. http://www.cs.utexas.edu/users/ewd/ewd13xx/ EWD1303.PDF, 2001. EWD-1303. Tanenbaum, A., and Woodhull, A. Operating Systems Design and Implementation, III ed. Prentice Hall, 2006.