1 Gestione della Memoria Capitolo 4 4.1 Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.

Slides:



Advertisements
Presentazioni simili
Memoria Virtuale in Linux
Advertisements

Gestione della Memoria
Gestione della memoria centrale
Fondamenti di Informatica1 Gestione della memoria I sistemi di memoria possono essere suddivisi in: –memoria interna al processore –memoria principale.
Capitolo 3 Risorse e Stallo 3.1. Risorse 3.2. Introduzione
Gestione della memoria
Unità D2 Archivi e file.
Gestione dei processi A. Ferrari.
TECNICA DELLE PARTIZIONI RILOCABILI
Il Sistema Operativo.
Gestione della Memoria
Gestione della Memoria
Realizzazione del file system
Memoria virtuale Memoria virtuale – separazione della memoria logica dell’utente dalla memoria fisica. Solo alcune parti di un programma devono trovarsi.
Gestione della memoria
Realizzazione del file system
Memoria Virtuale Background Paginazione su richiesta
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
La memoria cache Tecniche di rimpiazzo.
Risorse e Stallo.
La Memoria Virtuale.
Heap allocation e garbage collector di Oberon Algoritmo Quick Fit e garbage collector mark and sweep.
1 Generazione codice Daniela Briola Lorena Bellino.
nome: sequenza di caratteri usata per denotare un oggetto
memoria gestita staticamente:
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Sistemi Operativi GESTIONE DEI PROCESSI.
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Introduzione ai Sistemi Operativi
Relatori: Emanuele e Denis Tornei Informatici. Introduzione In queste prime lezioni abbiamo affrontato linformatica procedendo a soluzioni di problemi,
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
Introduzione alle basi di dati
DBMS ( Database Management System)
La Gestione della Memoria
Basi di Dati e Sistemi Informativi
Progetto di una memoria cache per il processore DLX Andrea Grandi Filippo Malaguti Massimiliano Mattetti Gabriele Morlini Thomas Ricci Progetto di Calcolatori.
Progetto di una memoria cache per il processore DLX Andrea Grandi Filippo Malaguti Massimiliano Mattetti Gabriele Morlini Thomas Ricci Progetto di Calcolatori.
Progetto di una memoria cache per il processore DLX Andrea Grandi Filippo Malaguti Massimiliano Mattetti Gabriele Morlini Thomas Ricci Progetto di Calcolatori.
Complessità di un algoritmo
Microsoft Access Chiavi, struttura delle tabelle.
Gestione della Memoria
Sistema Operativo (Software di base)
Memoria La memoria è un vettore di stringhe di bit (word/parole) In memoria è allocato il Sistema Operativo. In memoria sono allocati i programmi per poter.
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
CHI SONO I NOSTRI CONCORRENTI
Ordinamento in tempo lineare Il limite inferiore Ω(n log n) vale per tutti gli algoritmi di ordinamento generali, ossia per algoritmi che non fanno alcuna.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano © William Fornaciari La Gestione della memoria.
Gestione della Memoria. Scenario 1 o più CPU Un certo quantitativo di memoria Una memoria di massa.
UNIVERSITÀ DEGLI STUDI DI BOLOGNA
Gestione della Memoria
1 Gestione della Memoria Capitolo Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.
1 Gestione della Memoria Capitolo Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.
1 Gestione della Memoria Capitolo Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Gestione della Memoria
1 Cenni di gestione della memoria Unix-Linux. 2 Organizzazione della Memoria Spazio logico dei processi A e B e memoria fisica Condivisione dell’area.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Risorse e Stallo 2 Risorse (1) Esempi di risorse –stampanti –nastri –tabelle I processi devono accedere alle risorse in un ordine ragionevole Supponiamo.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
La gerarchia di memorie
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Scheduler e politiche di Marco Arcamone.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Compitino di Sistemi Operativi corsi A -C 19 Maggio 2003.
Transcript della presentazione:

1 Gestione della Memoria Capitolo 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 4.7 Case study: Unix 4.8 Case study: Windows 2000

2 Algoritmi di Sostituzione Il Page fault forza la scelta su quale pagina deve essere rimossa –Libera memoria per la pagina da caricare Pagine modificate devono essere salvate –Quelle non modificate vengono semplicemente sovrascritte Deve evitare di selezionare una pagina riferita spesso –Potrebbe essere necessario ricaricarla in breve tempo

3 Algoritmo di Sostituzione Ottimo Sostituisce la pagina che sarà riferita nell’istante più lontano nel tempo –Ottimo ma non realizzabile In alternativa: –Si stima l’ordine di caricamento delle pagine in esecuzioni precedenti del processo –Neanche questa soluzione è pratica

4 Algoritmo di Sostituzione NRU (Not Recently Used ) Ogni pagina ha un bit “Riferita”, e un bit “Modificata” –I bit sono settati quando la pagina è riferita o modificata Le pagine sono classificate come: 1. Non riferita, non modificata 2. Non riferita, modificata 3. Riferita, non modificata 4. Riferita, modificata NRU rimuove una pagina a caso dalla classe non vuota di indice minimo

5 Algoritmo di Sostituzione FIFO Mantiene una lista di tutte le pagine –Nell’ordine in cui le pagine vengono caricate in memoria La prima pagina della lista viene sostituita Svantaggi –La pagina sostituita potrebbe essere quella usata più spesso

6 Least Recently Used (LRU) Assume che le pagine usate di recente siano riferite di nuovo in breve tempo –Scarica le pagine inutilizzate da più tempo Mantiene una lista di pagine –Le pagine usate più di recente in cima –Aggiorna la lista ad ogni riferimento della memoria!! In alternativa mantiene un contatore per ogni record della tabella delle pagine –Scarica la pagine con il più piccolo valore nel contatore –Periodicamente azzera i contatori

7 Algoritmo di Sostituzione “Second Chance” Operazioni di un algoritmo “second chance” a)Pagine disposte in ordine FIFO b)Lista delle pagine se il fault di pagina avviene all’istante 20, A ha il bir R settato (I numeri sopra le pagine indicano il tempo di caricamento) Pagina caricata per prima

8 Algoritmo di Sostituzione “Clock” Quando avviene un fault di pagina, la pagina indicata dal puntatore viene analizzata. L’azione dipende dal bir R: R=0: elimina la pagina R=1: resetta R e avanza il puntatore

9 Algoritmo di Sostituzione “Working Set” (1) Il “working set” è l’insieme di pagine riferite negli ultimi k accessi in memoria w(k,t) è la dimensione del “working set” al tempo t

10 Algoritmo di Sostituzione “Working Set”(2) L’algoritmo “working set”

11 L’Algoritmo di Sostituzione “WSClock” Funzionamento dell’algoritmo “WSClock”

12 Riassunto degli Algoritmi di Sostituzione AlgoritmoCommento OttimoNon implementabile, si usa come benchmark NRU (Not Recently used)Molto elementare FIFOPotrebbe scaricare pagine importanti LRU (Least Recently Used)Eccellente ma difficile da implementare Second ChanceMigliora sensibilmente il FIFO Clock Realistico Working SetCostoso da implementare WSClockBuono ed efficiente

13 Criteri di progetto per la paginazione Politiche di Allocazione Locali VS Globali (1) Configurazione originale Sostituzione con politica locale Sostituzione con politica globale

14 Politiche di Allocazione Locali VS Globali (2) Tasso di page fault in funzione del numero di pagine fisiche assegnate

15 Controllo del carico A prescindere dalla bontà dello schema adottato, il sistema può comunque andare in thrashing Quando l’algoritmo di page-fault frequency (PFF) indica che –Alcuni processi necessitano di più memoria –E che nessun processo necessita di meno memoria Soluzione : Ridurre il numero di processi che competono per la memoria –Fare lo swap di qualche processo su disco –Ridurre il grado di multiprogrammazione

16 Dimensione delle Pagine (1) Pagine piccole Vantaggi –Riduce frammentazione interna – si adatta meglio a varie strutture dati e sezione di codice –Meno programmi inutilizzati in memoria Svantaggi –I programmi necessitano di parecchie pagine, tabelle più grandi

17 Dimensione delle Pagine (2) Overhead dovuto alla tabella delle pagine e alla frammentazione interna Dove –s = dimensione media di un processo (in bytes) –p = dimensione della pagina (in bytes) –e = descrittore di pagina (in bytes) Frammentazione interna Ottimizzata quando Spazio nella tabella delle pagine

18 Separare Istruzioni e Dati Uno spazio di indirizzamento Spazi separati per istruzioni e dati

19 Pagine Condivise Due processi possono condividere lo stesso programma tramite la condivisione dei record della tabella delle pagine associate al programma

20 Cleaning Policy Necessità di un processo in background (demone di paginazione) –Analizza periodicamente lo stato della memoria Quando troppe poche pagine fisiche sono libere –Seleziona una pagina da scaricare usando un’algoritmo di sostituzione