variabili come astrazioni per le celle di memoria

-1

Come sono le astrazioni delle variabili per le celle di memoria della macchina? Perché è possibile modificare il valore memorizzato nella cella di memoria assegnando un valore diverso alla variabile associata a detta cella di memoria?

    
posta InanimateObject 19.11.2017 - 05:42
fonte

1 risposta

3

In molti linguaggi di programmazione, le variabili forniscono due principali astrazioni:

  • in primo luogo, forniscono una posizione per contenere alcuni dati, astratti dal luogo fisico nella memoria in cui tali dati sono realmente memorizzati
  • secondo, danno a quel luogo un nome ragionevole

Per spiegare un po 'il primo punto: una variabile che contiene un intero a 32 bit (per esempio) può essere vista come 4 byte di memoria contigua e fissa di una macchina, cioè un modello mentale utile che si adatta a molte programmazioni lingue e molti contesti. In realtà, tuttavia, il compilatore, l'ambiente di runtime, il sistema operativo o l'hardware mappano i dati da qualche altra parte, lo ottimizzano o lo spostano tra diversi punti della memoria o diversi livelli di memoria. Questo vale anche per le variabili "di sola lettura" per le quali non è possibile "assegnare un valore diverso" dopo la loro prima inizializzazione.

La seconda astrazione si spera autoevidente. Le posizioni di memoria non hanno nomi ragionevoli, hanno indirizzi. I registri della CPU hanno spesso nomi, ma questi nomi non hanno alcuna relazione con la semantica associata ai dati nel contesto di un programma specifico. Quindi nomi di variabili astratti da quegli indirizzi o nomi di registro della CPU.

    
risposta data 19.11.2017 - 09:41
fonte

Leggi altre domande sui tag