Gestione della Memoria nei Sistemi Operativi

Oct 8, 2024

Appunti sulla Memoria e Gestione della Memoria nei Sistemi Operativi

Introduzione alla Memoria

  • Frase significativa: "sono condannati a ripeterlo" trovata in un campo di concentramento, tradotta in 30 lingue diverse.
  • Importanza della memoria nell'essere umano e nei sistemi informatici.
  • Evoluzione dei dispositivi di memoria: da anelli di ferrite a circuiti miniaturizzati.
  • Costi ridotti e velocità elevate dei dispositivi di memoria attuali.

Argomenti della Lezione

  1. Introduzione alla memoria
  2. Processo di swap (scambio)
  3. Assegnazione della memoria:
    • Contigua
    • Paginata
    • Segmentata
  4. Fasi di associazione: compilazione, caricamento, esecuzione
  5. Indirizzi logici e fisici
  6. Gestione della memoria: MMU (Memory Management Unit)
  7. Caricamento dinamico e swap
  8. Assegnazione contigua e sue tecniche
  9. Fragmentazione: esterna e interna
  10. Paginazione e segmentazione

Memoria e Processi

  • La memoria è dove i programmi vengono caricati e diventano processi.
  • Un sistema è più performante se ha maggiore memoria disponibile.
  • La traduzione degli indirizzi è fondamentale:
    • Indirizzi simbolici devono essere tradotti in indirizzi concreti.
    • Fasi: Compilazione, Caricamento, Esecuzione

Assegnazione della Memoria

Tecniche di Assegnazione

  • Contigua: i processi sono caricati in spazi contigui.
    • Vantaggi: semplicità di gestione.
  • Paginata: la memoria è divisa in blocchi di dimensioni uguali (pagine).
  • Segmentata: divisione in segmenti di dimensioni variabili, più vicina alla struttura logica del programma.

Fasi di Traduzione degli Indirizzi

  1. Compilazione: definisce indirizzi fissi nella memoria.
  2. Caricamento: mantiene la flessibilità per spostare i processi.
  3. Esecuzione: traduce indirizzi simbolici in indirizzi fisici.

Gestione della Memoria

  • MMU (Memory Management Unit): traduce indirizzi logici in fisici.
  • Indirizzi logici e fisici non sono identici; la conversione avviene tramite la MMU.

Caricamento Dinamico

  • Solo le parti necessarie di un'applicazione vengono caricate in memoria.
  • Vantaggi: miglior utilizzo della memoria.

Tecniche di Assegnazione

  • First Fit: primo buco disponibile.
  • Best Fit: buco più piccolo disponibile che funzioni.
  • Worst Fit: buco più grande disponibile.

Fragmentazione

  • Esternamente: sparpagliamento di aree libere.
  • Internamente: disavanzo tra ciò che si richiede e quanto realmente si ottiene.
  • Strategie per ridurre la frammentazione: compattazione.

Paginazione

  • La paginazione consente di non avere bisogno di contiguità.
  • Tabella delle Pagine: associa pagine logiche e fisiche.
  • TLB (Translation Lookaside Buffer): accelera la ricerca di indirizzi.

Segmentazione

  • Segmentazione: divisione in segmenti di lunghezza variabile.
  • Indirizzo logico = numero di segmento + scostamento.
  • Vantaggio: mappatura logica più naturale.

Conclusione

  • Importanza di comprendere le fasi e tecniche di gestione della memoria.
  • Reazione e comprensione attiva del materiale presentato.