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

Documenti analoghi
Gestione della memoria centrale

Codifica dei numeri interi positivi e negativi

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Codifica del video

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Gestione della memoria di massa e file system

Codifica dei segnali audio

Linguaggio C I puntatori

Controllo e correzione degli errori

Linguaggio C Debugging

Tecniche di compressione senza perdita

Argomenti della lezione

Linguaggio C Struct e union

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione audio

Memoria cache, interrupt e DMA

IL CABLAGGIO STRUTTURATO DI CATEGORIA 6

Input/output in C e in C++

Trasmissione bilanciata e amplificatore differenziale

Cenni sull architettura protocollare TCP/IP

Cenni sull architettura protocollare TCP/IP

Il cablaggio strutturato degli edifici: cosa c e` ` di nuovo?

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Gestione dei processi

Metro VLAN Switch e standard 802.1ad

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Mobile IP Mobilità nelle reti IP Mario Baldi Politecnico di Torino

Progettazione delle dorsali in fibra ottica

Shielding. E.M.I. Shield e Grounding: analisi applicata ai sistemi di cablaggio strutturato. Pier Luca Montessoro.

La voce di Elvis Presley, la chitarra di David Gilmour e le funzioni di callback in linguaggio C

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

1999 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Interconnessione di reti IP

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

Nota di Copyright. Interfaccia audio. Libreria portaudio. Callback function. Un piccolo problema. Fondamenti di Informatica

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Esercizi di Addressing. Fulvio Risso Guido Marchetto

Internet and Intranet Access

Libreria in linguaggio C per elaborazione audio in real time

La programmazione in linguaggio C

Gestione della Memoria

Gestione della memoria

Progettazione di reti locali basate su switch - Switched LAN

Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) Fondamenti di Informatica.

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Linguaggio C Struttura dei programmi

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

Linguaggio C Espressioni e operatori

La gerarchia delle memorie

Programmi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI. Nota di Copyright. Passi progettuali necessari. Esercitazione 1. Progetto di un sistema di cablaggio strutturato

Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica

GESTIONE DELLA MEMORIA CENTRALE

RETI DI CALCOLATORI II

Corso di Informatica

Sistemi operativi e distribuiti

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

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Gestione della memoria

Introduzione alle gerarchie di memoria

Gerarchie di memoria Memorie a componenti dinamici 1

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

USO DELLA GERARCHIA. FONDAMENTI DI INFORMATICA Lezione n. 14 POLITICHE DI SOSTITUZIONE DIMENSIONE DEL BLOCCO THRASHING POLITICA DI ALLOCAZIONE

Gestione della memoria centrale. Marco Cesati. Schema della lezione. Memoria centrale. Linux su Intel IA-32 SO Gestione della memoria centrale

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

Sistema Operativo - Gestione della Memoria lista argomenti di studio

Net or Not Neutrality

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

Sistemi operativi e distribuiti

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

Sistemi Operativi Gestione della Memoria (parte 3)

Struttura interna del Sistema Operativo. 3. La gestione della memoria virtuale

Obiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!

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

Il collegamento delle reti aziendali: DHCP, DSL, PPPoE

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

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Docente Prò Giuseppe - Corso PENTEST MIND PROJECT A cura di Prò Giuseppe

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

Struttura delle memorie cache

CONTENUTI della I parte

Il concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

Gestione Memoria. Gestione della memoria

Wireless LAN IEEE

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

SOLUZIONI: Memoria virtuale

ARCHITETTURA DEI CALCOLATORI

Link Aggregation - IEEE 802.3ad

Si avrà quindi Logical Address e Physical Address

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi

Sistemi Operativi Esercizi Gestione Memoria

Descrivere i vantaggi di un sistema a memoria virtuale

Transcript:

FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell autore prof. Pier Luca Montessoro, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali. 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Gestione della memoria per sistemi multiprogrammati Diverse tecniche: partizioni fisse partizioni variabili segmentazione paginazione segmentazione paginazione memoria virtuale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3 Obiettivi Massimizzare il numero di processi che possono utilizzare la memoria Minimizzare lo spazio di memoria inutilizzato frammentazione interna: spazio inutilizzato all interno di una partizione frammentazione esterna: partizioni non utilizzate perché troppo piccole Semplicità ed efficienza 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4 Partizioni fisse Partizioni fisse La memoria fisica viene suddivisa in partizioni predefinite Quando un programma viene caricato in una partizione, gli indirizzi vengono ricalcolati in funzione dell di inizio della partizione Problemi: quante partizioni, quanto grandi? frammentazione interna ed esterna partizioni vuote inizia iniziano,,, PX frammentazione interna: processo P6 terminano e PY frammentazione esterna: processo P7 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Partizioni variabili Partizioni variabili Le partizioni vengono create man mano che i processi richiedono memoria Gli indirizzi vengono ricalcolati come nel caso delle partizioni fisse Problemi: scelta della partizione da utilizzare frammentazione / ricompattazione la memoria è frammentata, processo termina termina 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8 Memoria virtuale 2 aspetti: estensione della memoria RAM utilizzabile dalla CPU oltre la dimensione reale della memoria fisica disponibile (mediante page file) mapping tra gli indirizzi virtuali di ciascun processo in ambiente multitasking: tutti i processi usano lo stesso range di indirizzi, ma per ciascuno la memoria realmente indirizzata è diversa 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9 Memoria virtuale e indirizzi Spazio di indirizzamento virtuale: determinato dal parallelismo della CPU (es. 32 bit indirizzi da 0 a 4G) Spazio di indirizzamento reale (in cui vengono tradotti gli indirizzi virtuali): determinato dall architettura (numero di fili dell address ) e dalla quantità di RAM Massima quantità di parole di memoria utilizzabili contemporaneamente determinata dal numero di processi attivi e dalla quantità di RAM 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10 Memory Management Unit (MMU) CPU CU PC IR SP flags MMU ALU. R0 R1 R15 Memoria 0000 0001 0002 0003 0004 0005 0006 0007. INDIRIZZI FISICI Dispositivi di I/O INDIRIZZI VIRTUALI Address Data Control 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11 Segmento Segmenti e pagine raggruppamento logico di informazioni (subroutine, area dati, ecc.) di lunghezza variabile Page frame partizione della memoria fisica di dimensione fissa e uguale per tutti i page frame Pagina partizione della memoria virtuale del processo di dimensione pari ad un page frame 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2

di base del lunghezza del Dati e programmi possono essere suddivisi in segmenti, contenenti parti che possono essere indirizzate relativamente ad un di base. relativo dell' 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13 Ogni corrisponde ad una entità logica ben definita (Esempi: codice, dati, funzioni di libreria, sistema operativo o parte di esso) Le istruzioni e/o le variabili contenute nel sono identificate tramite il loro relativo all' di base NOTA: Per l'esecuzione di un programma necessario che siano presenti in memoria centrale tutti i segmenti: possono essere caricati quando serve 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 14 Vantaggi Possibilità di rilocare i segmenti: gli indirizzi sono relativi all' di base, e quest'ultimo viene definito al momento del caricamento del in memoria L'hardware che gestisce la memoria virtuale provvede alla traduzione degli indirizzi relativi in indirizzi fisici di memoria Ad ogni possono essere associate delle protezioni (es. sola lettura o esecuzione) in base alla sua funzione di base della segment table del processo segment table virtuale offset del in memoria fisica fisico 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 15 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 16 vs. partizioni variabili CPU: virtuale 000 114 segment table A022 114 0000 A022 CPU: 0000 reale A022 partizione Risolve il problema della frammentazione esterna, esistente nella segmentazione al pari del sistema a partizioni variabili, unificando la dimensione dei blocchi di codice (pagine) che vengono dinamicamente caricati in memoria (page frame) Il programma vede ancora lo spazio di indirizzamento virtuale contiguo all'interno dei segmenti, ma in realtà è immagazzinato in pagine che non sono contigue 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 17 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 18 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Pagine e page frame hanno dimensioni pari a 2 n come nella segmentazione, l viene calcolato sommando l offset all di base della pagina, ma questo avrà gli ultimi n bit a zero, quindi sarà sufficiente accostare i bit 101111000000000 001001011 ---------------------------- 101111001001011 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 19 di base della page table del processo page table m - n bit più significativi dell della pagina in memoria fisica virtuale pagina offset fisico 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 20 segmentazione La paginazione pura può portare a page table molto grosse La segmentazione con paginazione permette di suddividerle in più page table (una page table diversa per ogni ) segment table virtuale pagina determina la page table da usare offset n. 6 A B 4 C b (base address) b 16 mediante la segment table ha permesso di individuare la page table da usare b 20 (0010100) Esempio 0 1 2 page table del 16 64 48 110 001 0100 segm. pagina offset (3 bit) (3 bit) (4 bit) NOTA: n = 4 (pagine da 16 byte) memoria fisica 0 16 A 32 48 C 64 4 B 80 96 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 21 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 22 Gerarchia di memoria file su disco memoria RAM cache memory capacità costo, velocità 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 23 Page file Il meccanismo di traduzione degli indirizzi permette di far vedere ai programmi uno spazio di indirizzamento virtuale, per esempio da 00000000h a FFFFFFFFh (32 bit) La memoria RAM fisicamente presente nel calcolatore avrà normalmente dimensione molto inferiore a quella massima indirizzabile dalla CPU L'uso del page file permette di sfruttare la memoria su disco (più lenta, ma più economica) per espandere la memoria RAM centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 24 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Page fault Quando si legge nella page table l' della pagina, questo può essere marcato invalido (bit aggiuntivi oltra all di pagina in memoria fisica) Ciò significa che la pagina presente in memoria centrale ed è necessario leggerla dal page file su disco Troppi page fault provocano una degradazione delle prestazioni del sistema, esiste il problema del bilanciamento tra dimensione del page file e capacità della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 25 Algoritmo di gestione dei page fault Least Recently Used (LRU), altrimenti detto FIFO modificato. pagefile pagina a cui è stato fatto accesso lista delle pagine in memoria solo se la pagina è stata modificata 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 26 Attributi di pagina In corrispondenza di ogni pagina, nella page table sono contenute diverse informazioni: bit di presenza (in memoria centrale) se è presente, l' della pagina di memoria, altrimenti, l' all'interno del page file informazioni di protezione (ereditate dal di cui attualmente fa parte) informazioni relative all'utilizzo e alla modifica del contenuto 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 27 Swapping I primi sistemi UNIX, per liberare memoria centrale, trasferivano su memoria secondaria interi processi, e non soltanto parti di essi (pagine). Questo modo di procedere è detto swapping I sistemi con paginazione usano ancora lo swapping per liberare memoria quando il carico inizia ad essere eccessivo. In queste condizioni il sistema è impegnato quasi al 100% a caricare e scaricare pagine in memoria (thrashing) I processi vengono nuovamente caricati in memoria quando è riattivarli 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 28 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5