Modulo 7: Gestione della Memoria

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

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Capitolo 8 - Silberschatz

Gestione della memoria

Gestione della memoria centrale. Capitolo 8 - Silberschatz

Gestione della memoria

Gestione Memoria. Gestione della memoria

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

Gestione della memoria

Gestione della Memoria

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

Gestione della Memoria

Gestione della memoria

La gestione della memoria. Lezione 16 Sistemi Operativi

Sistemi operativi e distribuiti

Gestione della Memoria Principale

Gestione della Memoria Principale

Trasparenze del Corso di Sistemi Operativi

Gestione della Memoria

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

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

Gestione della Memoria

La gestione della memoria. Lezione 30 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

GESTIONE DELLA MEMORIA CENTRALE

Gestione della memoria principale

Gestione della Memoria Principale

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

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

Gestione della Memoria. Sistemi Operativi T AA

Gestione della memoria

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.

Gestione della Memoria

La Memoria Virtuale Valeria Cardellini

Gestione della Memoria

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

Parte 3: Meccanismi di Gestione della Memoria. Parte 3: Meccanismi di Gestione della Memoria. Gerarchia di Memorie

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

La gerarchia delle memorie

memoria virtuale protezione

Nei sistemi moderni si usano sistemi di avvicendamento sofisticati al fine di garantire ad ogni processo quanti di esecuzione considerevoli.

Calcolo prestazioni cache (1)

Gestione della memoria

Memoria Virtuale. Lezione 6-7 Sistemi Operativi

Il contesto! Gestione della Memoria! Reg. di Base e reg. Limite! Associazione tra dati/istruzioni e memoria!

Sistemi Operativi (modulo di Informatica II)

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

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

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

Sistemi Operativi. Principi di gestione della memoria Swapping Memoria virtuale

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

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

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

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

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

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

Parte IV. Gestione della Memoria

Parte IV Gestione della Memoria

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

Memoria Virtuale. Lezione 6-7 Sistemi Operativi

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

Esercitazione su Gerarchie di Memoria

Gestione della memoria

Capitolo 4 Gestione della Memoria

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

Le virtual machine e la memoria virtuale

Gestione della Memoria

SISTEMI OPERATIVI. Gestione della memoria centrale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

La gestione della memoria. Lezione 5 Sistemi Operativi

Sistemi Operativi (modulo di Informatica II)

Calcolo prestazioni cache (1)

SOLUZIONI: Memoria virtuale

GESTIONE( DELLA( MEMORIA(

La gestione della memoria. Lezione 9 Sistemi Operativi

10. Memoria Virtuale. Esercizi

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

Esercitazione 14. Memoria Principale M1

ARCHITETTURA DEI CALCOLATORI

Gestione della memoria

1.8: Gestione della Memoria

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 7 Febbraio 2002

Si avrà quindi Logical Address e Physical Address

Concetti Generali sulla Gestione della memoria

Le virtual machine e la memoria virtuale

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

Sistema Operativo - Gestione della Memoria lista argomenti di studio

Architettura degli Elaboratori 19 Memoria Virtuale. Prof. Andrea Sterbini

Memoria Virtuale. Considerazioni sulla paginazione e segmentazione

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. Gestione della memoria principale

Simuliamo ora il funzionamento di LRU sulla reference string data:

La Gestione della Memoria

Prefazione Unit`a di misura xiii La memoria cache

Prestazioni delle cache

Lezione 22 La Memoria Interna (1)

Reti e problematiche di Rete

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

Transcript:

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 7.1

Gerarchia di memoria velocità REGISTRI capacità di immagazzinamento CACHE MEMORIA PRINCIPALE BACKING STORE DISK DRIVER MAGNETIC TAPE LIBRARY 7.2

Risoluzione degli indirizzi La risoluzione degli indirizzi delle istruzioni e dei dati può avvenire in tre fasi distinte: Compile time: Se la locazione di memoria è nota a priori si può generare codice con indirizzi assoluti; ma occorre ricompilare il codice se la posizione di partenza cambia. Load time: Se la locazione di memoria è nota a tempo di compilazione occorre generare codice rilocabile. Execution time: Se il processo può essere spostato in memoria durante la sua esecuzione da un segmento ad un altro, la risoluzione dell indirizzo è ritardata fino al tempo di esecuzione. Occorre supporto HW per mappare gli indirizzi logici in indirizzi fisici. 7.3

Politiche di gestione della memoria Sistemi dedicati per singolo utente Sistemi di multiprogrammazione in memoria reale Sistemi di multiprogrammazione in memoria virtuale multiprogrammazione con partizioni fisse multiprogrammazione con partizioni variabili Paginazione Segmentazione Segmentazione paginata Indirizzamento Indirizzamento assoluto rilocabile 7.4

Overlay Monitor main OV2 OV3 Overlay OV1 64 K 7.5

Swapping Monitor swap out utente 1 Utente 1 utente 2 Spazio utente swap in 64 K 7.6

Partizioni fisse con indirizzamento assoluto Monitor User 1 lower bound User 2 User 3 upper bound 128 K User 4 7.7

Partizioni fisse con indirizzamento assoluto lower bound upper bound CPU address no si no si Memoria violazione della protezione 7.8

Partizioni fisse con indirizzamento rilocabile Monitor 2 1 2 Partizione 1 4 3 Partizione 2 7 11 8 Partizione 3 14 12 Partizione 4 128 K 7.9

Partizioni fisse con indirizzamento rilocabile limite base CPU address < no si trap al S.O. violazione della protezione + Memoria 7.1

Partizioni variabili 4 K 1 K Monitor Job 1 4 K 1 K Job Job 2 2 Job 2termina end Monitor Job 1 Alloca Job 4 4 4 K K 1 1 K K Monitor Job 1 Job 4 Job 1 end 4 K 1 K Monitor Alloca Job 5 4 K 9 K 1 K Monitor Job 5 Job 4 Job 4 17 17 K K 17 K 17 K 2 K 2 K 2 2 K K 2 K 2 K 23 K Job 3 23 K Job 3 23 23 K K Job 3 23 K Job 3 23 K Job 3 256 K 256 K 256 256 K K 256 K 256 K 7.11

Compattazione 3 K 5 K 6 K Monitor Job 1 Job 2 4 K 3 K 5 K 6 K 8 K Monitor Job 1 Job 2 Job 3 3 K 5 K 6 K Monitor Job 1 Job 2 Job 4 3 K 5 K 6 K Monitor Job 1 Job 2 1 K 12 K Job 3 12 12 K Job 4 1 K 12 K Job 3 9 K 15 K 19 K 21 K 3 K Job 4 2 K 21 K 9 K 21 K 9 K 15 K 19 K 21 K Job 4 Job 3 7.12

Memoria virtuale - Paginazione Frame number Pagina Pagina 1 Pagina 2 1 2 3 1 5 3 7 Page table 1 2 3 (pagina ) (pagina 2) Pagina 3 4 5 (pagina 1) Memoria logica 6 7 (pagina 3) Memoria fisica 7.13

Implementazione della paginazione si tiene in memoria una page table. il Page-table base register (PTBR) punta all inizio della page table. il Page-table length register (PRLR) indicata le dimensioni della page table. 7.14

Traduzione dell indirizzo Indirizzo virtuale CPU page# p offset# d Indirizzo fisico frame# f offset# d frame# Page table base Register Frame + page# frame# Memoria fisica Page Table 7.15

Implementazione della paginazione in questo schema ogni accesso a ciascun dato o istruzione richiede due accessi alla memoria: uno per la page table e uno per un dato o istruzione. il problema dei due accessi alla memoria può essere risolto mediante un HW speciale detto memoria associativa o translation look-aside buffer (TLB) 7.16

Translation Lookaside Buffer Ricerca in parallelo su tutte le entry chiave (numero di pagina) page# frame# valore (indirizzo di inizio del frame) 7.17

Traduzione dell indirizzo con TLB Indirizzo virtuale CPU accede alla table solo se non c'è match di alcuna chiave page# p offset# d prova prima nel TLB page# p f TLB fornisce f solo se c'è match di una chiave frame# f offset# d Indirizzo fisico frame# Frame + frame# Page table base Register Page table Memoria fisica 7.18

Tempo effettivo di accesso 8% hit ratio (percentuale di successo nell accesso alla memoria associativa) 5 ns tempo di accesso per il TLB 75 ns tempo di accesso in memoria 7.19

Tempo effettivo di accesso Se l indirizzo di pagina è nella TLB il tempo per accedere al dato in memoria è: t CAM + t mem = 8 ns Se l'indirizzo non è in TLB si hanno si hanno questi tempi d accesso: 5 ns failure in TLB 75 ns per ottenere l indirizzo di pagina 75 ns per ottenere il dato indirizzato t CAM + t page table + t mem = 155 ns Il tempo di accesso medio risulta:.2 *155 +.8*8= 31 + 64 = 95 ns 7.2

Segmentazione Ad ogni entità logica del programma (e.s. routine, stack, matrici...) viene assegnato un segmento. I segmenti, contrariamente alle pagine, hanno dimensioni variabili. 7.21

Traduzione dell indirizzo Segment table base Register Indirizzo virtuale + segment# offset# base# segment# AR limite base# + offset# Segmento limite Segment table Memoria fisica 7.22

Segmentazione paginata Segment table base Register Accede alla table solo se non c'è match di alcuna chiave + s Indirizzo virtuale segment# s page# p offset# d s,p prova prima nel TLB s p Fornisce f solo se c è match di una chiave f segment# TLB PT address page# frame# f Segment Table frame# f offset# d 7.23 Page Table Indirizzo reale

Traduzione degli indirizzi a 2 livelli Linear address 31 21 11 PDE Byte 1 di 496 1 di 124 PTE 1 di 124 Page directory Page table Page frame 7.24

Architettura ad Inverted Page Table Indirizzo virtuale PID page# offset# Funzione di Hash Page# Page Table Entry Chain frame# Hash Table Inverted Page Table frame# offset# Indirizzo reale 7.25

Prestazioni della paginazione a più livelli Poiché ciascun livello è memorizzato in una tabella separata in memoria, passare dall indirizzo logico a quello fisico può richiedere 4 accessi in memoria. Il TLB permette di ottenere prestazioni ragionevoli. TLB hit ratio del 98% sono comuni e producono, in questo esempio, un tempo effettivo d accesso pari a:.98 x 12 +.2 x 52 = 128 nanosecondi che corrisponde ad un rallentamento del 28% 7.26