Gestione della Memoria



Похожие документы
Sistemi Operativi. 5 Gestione della memoria

Il memory manager. Gestione della memoria centrale

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

La Gestione delle risorse Renato Agati

Memoria. Sistemi Operativi Giuseppe Prencipe. Tipica Gerarchia di Memoria. Gestione della Memoria. Modelli di gestione della memoria

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistema operativo: Gestione della memoria

Gestione della memoria centrale

La gestione della memoria

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Gestione della memoria centrale

Capitolo Silberschatz

Laboratorio di Informatica

Sistemi Operativi. Principi di ges tione della memoria S wapping Memoria virtuale

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Sistemi Operativi Kernel

GESTIONE DELLA MEMORIA CENTRALE

Capitolo 11 La memoria cache

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Sistemi Operativi. 8 LEZIONE MEMORIA CENTRALE 1 PARTE CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

La Memoria Virtuale Ottimizzazione della memoria centrale

Processi e Thread. Scheduling (Schedulazione)

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

LA GESTIONE DELLA MEMORIA

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Sistemi Operativi (modulo di Informatica II) I processi

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

STRUTTURE DEI SISTEMI DI CALCOLO

Gestione della memoria

I processi Unix. Entry della tabella dei processi

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

Gestione della memoria centrale

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Lo schedulatore del kernel

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

Architettura dei calcolatori II parte Memorie

Il File System. Il file system

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Il Sistema Operativo: il File System

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Memoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E

Introduzione ai Sistemi Operativi

Organizzazione della memoria principale Il bus

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

La Gestione della Memoria

Corso di Informatica

Architettura hardware

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

LINEE GUIDA PER LO SCARICO PEC IN P.I.Tre

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

1.4b: Hardware. (Memoria Centrale)

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

Sistemi operativi. Esempi di sistemi operativi

Gestione della memoria principale

Corso di Sistemi di Elaborazione delle informazioni

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Il software. la parte contro cui si può solo imprecare. Il software

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Capitolo 9: Memoria centrale

La memoria virtuale. La gerarchia di memorie. Indirizzo fisico. Memoria virtuale. Architetture Avanzate dei Calcolatori. Valeria Cardellini

Approccio stratificato

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale

Sistema operativo: Gestione dei processi

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

DMA Accesso Diretto alla Memoria

Sistemi Operativi. 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Gestione delle Cartelle dei Messaggi di Posta Elettronica

Scheduling. Lo scheduler è la parte del SO che si occupa di

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Infrastrutture Software

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Scheduling della CPU

Транскрипт:

Gestione della Memoria 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) 1 Tipica Gerarchia di Memoria La filosofia della gerarchia della memoria consiste nel portare verso il vertice della piramide le informazioni più utilizzate dalla porzione di programma in esecuzione (che possono cambiare nel tempo) così che nella maggior parte dei casi il tempo di accesso coincide con quello delle memorie più rapide. 2 1

Modelli di gestione della memoria Modelli che non spostano i processi dalla RAM una volta iniziata l esecuzione (no rilocazione): monoprogrammazione multiprogrammazione a partizioni fisse Modelli che spostano un processo in esecuzione da RAM a disco (rilocazione): immagine del processo interamente in memoria: Swapping immagine del processo parzialmente in memoria: Paginazione Segmentazione con paginazione 3 Ambiente multiprogrammato con partizioni fisse Partizioni fisse Con code dei job distinte per ogni partizione Con unica coda dei job 4 2

Rilocazione e Protezione Come abbiamo visto, per poter allocare liberamente i processi in memoria (RAM) occorre che gli indirizzi nel codice non siano assoluti: ciò si può realizzare separando gli indirizzi logici dagli indirizzi fisici. Ilbinding (associazione) tra indirizzi logici e indirizzi fisici può avvenire in momenti diversi: durante la compilazione, durante il caricamento oppure a run-time. L ultimo approccio è il più flessibile (permette di spostare un processo da una parte all altra della RAM anche durante l esecuzione). La MMU (Memory Management Unit) si occupa di operare la traduzione al momento dell accesso in memoria. Questa tecnica permette anche di confinare il raggio di azione dei processi alla porzione di memoria ad essi assegnata. Per esempio se si usano un registro base e un registro limite (modificabili solo in modo kernel) e la MMU svolge la funzione: if (ind_logico>limite) then trap(segmentation fault) else ind_fisico = ind_logico + base 5 Swapping Creazione A Creazione Creazione B C Scarica A Creazione D Termina B Ricarica A Con lo swapping un processo viene caricato interamente in memoria Non ci sono partizioni fisse L allocazione della memoria cambia quando: I processi vengono caricati in memoria I processi rilasciano la memoria 6 3

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 7 Swapping (3) Se vi sono strutture dati che possono crescere (come la heap dove allocare dinamicamente strutture dati o lo stack) conviene allocare fin dall inizio più spazio di quanto richiesto inizialmente. Se si eccede anche quello, o c è un buco contiguo, oppure devo spostare in uno spazio più grande, o ancora fare swap out. 8 4

Gestione della Memoria con Bit Map e con lista linkata Porzione di memoria con 5 processi e 3 aree libere (le suddivisioni indicano l unità di allocazione) ) La lista linkata può essere mantenuta solo per lo spazio libero. Mantenendo la lista degli spazi liberi separata si velocizza la ricerca di uno spazio libero, inoltre gli elementi della lista possono essere memorizzati direttamente nello spazio di memoria libero corrispondente (riducendo l overhead dovuto alle strutture dati occupate dal sistema operativo). 9 Aggiornamento dello spazio libero L aggiornamento dello spazio libero è immediato quando si utilizza la mappa di bit (ponendo a 0 i bit delle unità liberate si attua automaticamente l unificazione di spazi liberi contigui). Quando termina un processo, se vi sono spazi liberi contigui allo spazio liberato, occorre unificarli (doppia concatenazione). 10 5

Algoritmi per l allocazione della memoria Allocazione di un blocco di memoria di dimensione x: First Fit Individua la prima porzione di memoria libera di dimensione x (minimizza i tempi di ricerca) Best Fit Individua la più piccola porzione di memoria libera di dimensione x (Consente di evitare di occupare spazi troppo grandi che potrebbero essere necessari per allocare processi più grandi. Ha lo svantaggio di creare dei buchi troppo piccoli per poter essere riutilizzati.) E reso più veloce se la lista dei buchi è ordinata per dimensione. Worst Fit Individua la porzione di memoria libera tale che la differenza fra la dimensione del processo (x) e lo spazio libero sia massima. (Serve per lasciare spazi abbastanza grandi da riuscire ancora ad utilizzarli) 11 6