Logo NEXUS

NEXUS didattica

โ† Torna indietro
Informatica / Lezione Teorica

Segmentazione (Segmentation)

Gestione della memoria basata sulla visione logica del programma (funzioni, array, stack, heap) tramite segment table.

1. Cos'รจ la Segmentazione?

La segmentazione รจ una tecnica di gestione della memoria che supporta la visione logica dell'utente e del programmatore. Un programma non รจ visto come una sequenza lineare di byte o pagine di dimensione fissa, ma come una raccolta di segmenti (es. codice principale, funzioni, strutture dati, heap, stack, tabelle dei simboli).

2. La Segment Table e Controllo dei Limiti

Ogni segmento possiede un nome (o numero identificativo $s$) e una lunghezza. Per mappare gli indirizzi logici in fisici, il sistema sfrutta una Segment Table composta da due elementi fondamentali per ciascun segmento:

Traduzione dell'Indirizzo e Controllo: Dato un indirizzo logico $(s, d)$ dove $s$ รจ il numero di segmento e $d$ รจ lo spostamento (offset), la MMU verifica che $d < \text{Limite}_s$. Se valido, l'indirizzo fisico รจ: $$\text{Indirizzo Fisico}=\text{Base}_s + d$$

3. Simulatore Interattivo: Segment Table e MMU

Seleziona un segmento logico e inserisci un offset per testare il controllo dei limiti e la traduzione in indirizzo fisico.

mmu-segmentation@nexus-core:~# Segment Translation & Protection Unit
> In attesa di input per la verifica del segmento...