1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

STRUTTURA DEL SISTEMA OPERATIVO
Gestione della Memoria
Gestione della memoria centrale
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Fondamenti di Informatica1 Gestione della memoria I sistemi di memoria possono essere suddivisi in: –memoria interna al processore –memoria principale.
Gestione della memoria
Unità D2 Archivi e file.
TECNICA DELLE PARTIZIONI RILOCABILI
File System Cos’è un File System File e Directory
Elaboratore e Sistemi Operativo
Gestione della Memoria
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione della Memoria
Gestione del processore
Informatica Generale Marzia Buscemi
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
Anno accademico Le classi di memorizzazione.
Realizzazione del file system
Memoria Virtuale Background Paginazione su richiesta
Gestione della memoria
Struttura dei sistemi operativi (panoramica)
La Memoria Virtuale.
Heap allocation e garbage collector di Oberon Algoritmo Quick Fit e garbage collector mark and sweep.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
memoria gestita staticamente:
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Università di Trieste Calcolatori Elettronici a.a Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Tavole dinamiche Spesso non si sa a priori quanta memoria serve per memorizzare dei dati in un array, in una tavola hash, in un heap, ecc. Può capitare.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
La Gestione della Memoria
Il Sistema Operativo (1)
Memoria Centrale.
Complessità di un algoritmo
Gestione della Memoria
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)
I processi.
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Foglio 1 Di cosa si occupa il gestore della memoria?
Gestione del processore (Scheduler)
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Gestione della Memoria
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
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.
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 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
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.
Cos’è un sistema operativo ?
Informatica Generale Marzia Buscemi
La gerarchia di memorie
Il modello di Von Neumann
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
© 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Gestione del File.
Transcript della presentazione:

1 Gestione della Memoria

2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile ed economico –Memoria principale: volatile, mediamente grande, veloce e costosa –Cache: volatile, veloce, piccola e costosa La gerarchia di memorie e’ gestita dal “memory manager” ( gestore della memoria )

3 Tipica Gerarchia di Memoria Sia il tempo di accesso che la capacità sono approssimazioni abbastanza grossolane

4 Gestione della memoria Tutti i programmi che compongono il SO ed i programmi applicativi attivi usano contemporaneamente la RAM Il gestore della memoria si preoccupa di fare condividere la RAM ai vari processi in esecuzione in modo che : –ogni processo abbia il suo spazio privato distinto dagli altri (e inaccessibile agli altri) –ogni processo abbia abbastanza memoria per eseguire il proprio algoritmo e raccogliere i suoi dati

5 Modelli di gestione della memoria Modelli che non spostano i processi dalla RAM una volta iniziata l’esecuzione –monoprogrammazione –multiprogrammazione a partizioni fisse Modelli che spostano un processo in esecuzione da RAM a disco –swapping –paginazione

6 Introduzione alla Gestione della Memoria Ambiente monoprogrammato senza swapping nè paginazione Tre modi semplici di organizzare la memoria -un sistema operativo con un solo processo utente

7 Ambiente multiprogrammato con partizioni fisse Partizioni fisse –Con code dei job distinte per ogni partizione –Con unica coda dei job

8 Swapping Caricamento in partizioni variabili L’allocazione della memoria cambia quando: –I processi vengono caricati in memoria –I processi rilasciano la memoria

9 Swapping Problema: la frammentazione della memoria –molte aree piccole –compattazione Problema: stabilire quanto spazio allocare per ogni processo –area dati, stack Problema: come tenere traccia della memoria libera

10 Allocazione della Memoria Allocazione di un blocco di memoria di dimensione x: First Fit –Individua la prima porzione di memoria libera di dimensione  x Best Fit –Individua la più piccola porzione di memoria libera di dimensione  x 3

11 Gestione della memoria Le strategie viste finora –ricopiano interamente lo spazio di indirizzamento di un processo P da memoria secondaria a RAM quando P va in esecuzione Sistema Operativo Spazio Ind processo 1 Area riservata, non accessibile in modalità utente 0 AmpiezzaRAM - 1 Spazio Ind processo 2 RAM vuota

12 Gestione della memoria Problemi: –limite all’ampiezza dello spazio di indirizzamento Attualmente ogni processo usa almeno 4GB di spazio di indirizzamento, con RAM assai più piccole… –memoria sottoutilizzata aree dello spazio di indirizzamento che non sono utilizzate occupano RAM Soluzione: memoria virtuale –ad ogni istante carico in RAM solo le parti di SI che servono per una certa fase dell’esecuzione –diverse soluzioni: vedremo la paginazione

13 Paginazione: idea base Lo spazio di indirizzamento di ogni processo è diviso in ‘fette’ (pagine logiche) tutte della stessa ampiezza Processo 1 Pagina Logica: ‘fetta’ dello spazio di indirizzamento (1-4K) Processo Processo 3

14 Paginazione: idea base –Anche la RAM disponibile per i processi utente è divisa in pagine della stessa ampiezza (pagine fisiche) Sistema Operativo RAM vuota Pagina Fisica: ‘fetta’ dello RAM stessa ampiezza della pagina logica

15 Paginazione: idea base –Ad ogni istante solo le pagine necessarie per i processi in esecuzione sono caricate in RAM (si usa la località!) Sistema Operativo RAM vuota Processo Processo Processo 3

16 Paginazione: problema Esecuzione (corretta) dei programmi utente parzialmente caricati: –bloccare automaticamente accessi ad aree non caricate in RAM (page fault) –aggiornare automaticamente l’insieme delle pagine in memoria scaricando/caricando da memoria secondaria quelle necessarie in una certa fase

17 Paginazione Cosa succede se la pagina non è in memoria? –Presente-Assente = 0, si genera un page fault –l’esecuzione del processo viene bloccata –va in esecuzione il gestore della memoria –la pagina logica viene localizzata su disco e caricata in RAM –se la RAM è piena si individua una pagina vittima da scaricare dalla RAM –algoritmi di sostituzione : servono a selezionare la pagina vittima

18 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

19 Algoritmo di Sostituzione Ottimo Sostituisce la pagina che sarà riferita nell’istante più lontano nel tempo –Ottimo ma non realizzabile

20 Least Recently Used (LRU) Assume che le pagine usate di recente siano riferite di nuovo in breve tempo (località temporale) –Scarica le pagine inutilizzate da più tempo Implementazione diretta: mantiene una lista di pagine –Le pagine usate più di recente in cima –Aggiorna la lista ad ogni riferimento della memoria!! Impl. Approssimata: mantiene un contatore per ogni descrittore della tabella delle pagine

21 Algoritmo di Sostituzione “Working Set” Working set (idea di base) –insieme di pagine necessarie ad un processo P in una fase della propria elaborazione es. due array globali A,B (dati), più istruzioni di copia (testo) Paginazione su domanda (a richiesta) –P passa in esecuzione senza alcuna pagina in memoria –le pagine vengono caricate quando avviene un page fault –lento finché non è stato caricato il working set Pre-paginazione (prepaging) –il sistema tiene traccia del working set –l’ultimo working set di P viene caricato in memoria prima di riavviare il processo