1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.

Slides:



Advertisements
Presentazioni simili
Memoria Virtuale in Linux
Advertisements

Gestione della Memoria
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Introduzione Cosa è un Sistema Operativo? Una breve storia
Gestione della memoria centrale
Gestione della memoria
Unità D2 Archivi e file.
Organizzazione della memoria
TECNICA DELLE PARTIZIONI RILOCABILI
Il Sistema Operativo.
File System Cos’è un File System File e Directory
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
Gestione della Memoria
Gestione della Memoria
Sistemi Operativi - C Susanna Pelagatti
1 Come si avvia un computer... Dove è contenuto il SO ? Come si attiva?
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
Interfaccia del file system
Anno accademico Le classi di memorizzazione.
Realizzazione del file system
Memoria Virtuale Background Paginazione su richiesta
Gestione della memoria
Struttura dei sistemi operativi (panoramica)
Gestione della memoria principale
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.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
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.
Il sistema operativo Vito Perrone
La macchina di von Neumann
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
La Gestione della Memoria
Memoria Centrale.
Unità centrale di processo
Complessità di un algoritmo
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.
Formattazione, Partizioni e dischi
I processi.
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Foglio 1 Di cosa si occupa il gestore della memoria?
Gestione del processore (Scheduler)
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
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 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Ambiente monotasking zViene gestita l’esecuzione di un solo programma per volta zAlla terminazione di un programma, si può attivare un altro programma.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Cos’è un sistema operativo ?
1 System Call ancora Vediamo passo passo come funziona una SC.
La gerarchia di memorie
Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Ing. Saverio De.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Transcript della presentazione:

1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione 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 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

5 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

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

7 Rilocazione e Protezione Non si conosce l’istante nel quale il programma verrà caricato in memoria –Gli indirizzi dei dati e del codice non possono essere assoluti –E’ necessario mantenere separati gli spazi di indirizzamento dei processi Registri Base e Limite –Indirizzo fisico = indirizzo logico + registro base –Errore se indirizzo logico > registro limite

8 Text Data Stack Area vuota Traduzione in assembler delle funzioni che compongono il programma Variabili globali Pila di FRAME, uno per ogni chiamata di funzione da cui non abbiamo ancora fatto ritorno Spazio di indirizzamento Come è organizzata la memoria accessibile ad un programma in esecuzione ?

9 Condivisione della RAM Tipicamente la RAM contiene lo spazio di indirizzamento di più processi : –es. organizzazione tipica della memoria negli SO degli anni ‘70 (es IBM 360) Sistema Operativo Spazio processo 1 Area riservata, non accessibile in modalità utente Una possibile organizzazione della RAM con più processi attivi contemporaneamente 0 AmpiezzaRAM - 1 Spazio processo 2 Spazio processo 3

10 Condivisione della RAM (2) Problemi legati alla condivisione della RAM : (1) protezione dello spazio di indirizzamento di processi diversi Sistema Operativo Spazio processo 1 Spazio processo 2 Spazio processo 3 Il processo 2 non deve poter accedere agli indirizzi di RAM al di fuori della sua area

11 Condivisione della RAM (2) Problemi legati alla condivisione della RAM : (2) problema della rilocazione Sistema Operativo Spazio processo 1 Spazio processo 2 Spazio processo 3 Il compilatore/linker assume che lo spazio di indirizzamento parta dall’indirizzo 0 Ma, P2 è caricato ad un indirizzo base2 != 0 base2 Text Stack Area vuota 0 Data max

12 Condivisione della RAM (3) Problemi legati alla condivisione della RAM : (2) problema della rilocazione (cont.) Sistema Operativo Spazio processo 1 Spazio processo 2 Spazio processo 3 Indirizzi di istruzioni e dati devono essere incrementati (rilocazione) di base2 base2 + X Text Stack Area vuota 0 Data max X base2

13 Condivisione della RAM (4) È necessario dell’Hw aggiuntivo Una possibile soluzione (usata nella serie IBM360) base PC limite + + Indirizzo (alla memoria) Fault (accesso oltre il limite) Addizionatore Confrontatore Indirizzo iniziale del programma in RAM Ampiezza dello spazio di indirizzamento

14 Condivisione della RAM (5) base PC limite + + Indirizzo (alla memoria) Fault (accesso oltre il limite) Addizionatore Confrontatore Indirizzo iniziale del programma in RAM Ampiezza dello spazio di indirizzamento Risolve il problema della rilocazione

15 Condivisione della RAM (6) base PC limite + + Indirizzo (alla memoria) Fault (accesso oltre il limite) Addizionatore Confrontatore Indirizzo iniziale del programma in RAM Ampiezza dello spazio di indirizzamento Risolve il problema della protezione

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

17 Swapping (2) Rilocazione e protezione possono usare ancora i registri base e limite 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

18 Swapping (3) a)Allocare dinamicamente memoria nel segmento dati b)Allocare dinamicamente memoria nello stack e nel segmento dati

19 Gestione della Memoria con Bit Map a)Porzione di memoria con 5 processi e 3 aree libere Le suddivisioni indicano l’unità di allocazione b)Bit Map corrispondente c)Lista di Allocazione corrispondente

20 Gestione della Memoria con Liste Quattro possibili combinazioni di allocazione in seguito alla terminazione del processo X

21 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