Gestione della Memoria

Slides:



Advertisements
Presentazioni simili
Gestione della Memoria
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
Introduzione Cosa è un Sistema Operativo? Una breve storia
Gestione della memoria centrale
Gestione della memoria
Definizione e tipi di implementazione
TECNICA DELLE PARTIZIONI RILOCABILI
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
File System Cos’è un File System File e Directory
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
Gestione della Memoria
Gestione del processore
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Tesi di Laurea Triennale in Ingegneria Elettronica Applicata
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.
Operating System Concepts
Gestione della memoria
Interfaccia del file system
Realizzazione del file system
Memoria Virtuale Background Paginazione su richiesta
Gestione della memoria
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Funzioni.
File.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
eliana minicozzi linguaggi1a.a lezione2
Gestione dei dischi RAID
Struttura dei sistemi operativi (panoramica)
Gestione della memoria principale
La Memoria Virtuale.
1 Gestione del processore Il modello a processi sequenziali.
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.
Gestione della memoria logica e fisica degli elaboratori x86
Prof. Marco Mezzalama –All rights reserved Esempio Si consideri listruzione in modo protetto: MOV AX, (EBX) Si supponga che DS = 200 e EBX = 155 Lindirizzo.
I vettore interruzioni
La Gestione della Memoria
Architettura del calcolatore
Installazione Come tecnico, si potrebbe aver necessità di effettuare una installazione pulita di un sistema operativo. L'esecuzione di una installazione.
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 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
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
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
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.
Gestione della Memoria
L’esecuzione dei programmi
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Convenzioni chiamate a procedure Riassunto Pratico.
La gerarchia di memorie
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Compitino di Sistemi Operativi corsi A -C 19 Maggio 2003.
Transcript della presentazione:

Gestione della Memoria Capitolo 4 Gestione della Memoria 4.1 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

Memoria Virtuale Paginazione (1) Posizione e funzione della MMU

Paginazione (2) Pagina fisica 6 (110) La tabella delle pagine mostra la relazione tra indirizzi logici e indirizzi fisici Una copia completa dello spazio di indirizzamento virtuale è presente su disco Pagina logica 2 (0010)

Tabella delle Pagine (1) Operazioni di una MMU con 16 pagine di 4 KB

Tabella delle Pagine (2) La tabella delle pagine può essere estremamente estesa con indirizzi a 32 bit e pagine di 4K, la tabella delle pagine ha un milione di record La traduzione degli indirizzi deve essere veloce più accessi alla page table per istruzione il tempo di accesso alla page table deve essere comparabile al tempo di esecuzione medio di una istruzione (es. se il tempo di esecuzione medio è di 4ns, l’accesso alla tabella delle pagine deve essere dell’ordine di 1ns)

Tabella delle Pagine (3) Record in una tabella delle pagine

TLB - Translation Lookaside Buffer o Memoria Associativa Esempio di TLB

Tabella delle Pagine a due livelli Second-level page tables Top-level page table (b) (a) Indirizzi a 32 bit con due campi per la tabella delle pagine (b) Tabella delle pagine a due livelli

Tabella delle Pagine Inversa Confronto tra tabella delle pagine tradizionale e tabella delle pagine inversa

Implementazione della Paginazione Il Sistema operativo invoca i meccanismi di paginazione in quattro circostanze: Creazione di un Processo Determina la dimensione del programma Crea la tabella delle pagine Esecuzione di un Processo (context switch) Reset della MMU per il nuovo processo Aggiornamento del TLB (flush) Page fault Determina l’indirizzo logico che ha causato il page fault Sposta una pagina su disco (se necessario) e carica la pagina richiesta Terminazione di un Processo Dealloca la tabella delle pagine e le pagine del processo

Gestione del Page Fault (1) 1. Una eccezione provoca l’invocazione del nucleo, salvando almeno il PC sullo stack (hw) 2. Salvataggio registri generali e altri reg. interni (assembler) 3. Il sistema determina la pagina logica richiesta 4. Il sistema verifica la validità dell’indirizzo, e ricerca una pagina libera o, in alternativa, una pagina vittima 5. Se la pagina vittima selezionata è stata modificata (dirty), viene scritta su disco

Gestione del Page Fault (2) 6. Il sistema legge la pagina logica dal disco 7. Quando la lettura è completata, aggiorna la tabella delle pagine 8. Viene ripristinata l’istruzione che ha causato il page fault 9. Il processo che ha causato il page fault viene schedulato 10. Ripristino dei registri, ritorno in modo utente (assembler) Il processo riprende l’elaborazione come se il page fault non fosse avvenuto

Ripristino dell’Istruzione # Un’istruzione che ha causato un page fault Alcune macchine hanno dei registri interni che mantengono infomazioni di ripristino (backup)

Vincolare le pagine in Memoria Memoria virtuale e I/O interagiscono occasionalmente Un processo richiede una lettura da un dispositivo su un buffer Mentre attende per l’I/O passa in esecuzione un altro processo Il processo in esecuzione causa un page fault La pagina contenente il buffer del primo processo può essere selezionata per essere scaricata dalla memoria Necessità di vincolare alcune pagine Le pagine vincolate non possono essere scaricate dalla memoria (pinning)

Backing Store (a) Paginazione con un’area di swap statica Process address space (a) Paginazione con un’area di swap statica (b) Paginazione con area di swap dinamica

Separazione tra Politiche e Meccanismi Gestione di un page fault con un pager esterno (ispirata al sistema Mach)