Random Access Memory ha tre segmenti: un segmento di codice , un segmento heap e un segmento di stack . Il segmento di codice contiene il programma da eseguire . Il programma ha una serie di istruzioni per i componenti del chip . Non è leggibile per l'uomo perché un compilatore crea codice eseguibile in linguaggio macchina . Ci sarà un programma originale scritto in testo leggibile e il compilatore usato che per creare il file eseguibile
di variabili e parametri
Programmi
operano su dati - . Che devono acquisire dati , detenere , trasformarlo in qualche modo e poi trasmette in qualche modo. Mentre il programma è in funzione , i dati vengono memorizzati in variabili. Le variabili hanno un tipo dichiarato , come testo, numero o la logica . Programmi hanno sottoprogrammi , chiamati procedure e funzioni . Quando un programma chiama una funzione o di una procedura che passa i dati ad esso . Le funzioni e le procedure accettano valori in cui essi sono chiamati e funzioni restituiscono valori quando hanno finito . I valori passati per le procedure e le funzioni vanno in un tipo di variabile chiamata di un parametro . Variabili e parametri contengono i dati in modo diverso . Le variabili sono memorizzate nel segmento di stack e vengono registrati nel segmento heap .
Stack e Heap
Sebbene tutti memorizzazione RAM è temporanea , alcuni segmenti sono più temporanea di altri. Memoria dello stack conserva la sua memoria per tutta la durata del programma di esecuzione . Anche se il programma può aggiornare il valore di ogni spazio di memoria destinati a più riprese , che spazio rimane assegnato . Memoria dello stack è allocato , riempito , usato e non allocato. Lo stesso bit di memoria viene riutilizzato più volte durante l'esecuzione del programma e nessuno di tali usi in relazione tra loro . Uno stack è strutturato in modo che il pezzo superiore di spazio è sempre utilizzato per primo . Questo si chiama " LIFO ", che è l'acronimo di Last In First Out . Come dati pila dura più a lungo , la struttura del segmento stack è facile da gestire. Dati Heap ottiene assegnati , poi un altro blocco è allocato , e poi un altro , poi un blocco inferiore potrebbero essere scartati e diventano vuote , lasciando buchi nello stack .
Allocazione memoria
Programmi
sono in grado di memoria di riserva per il loro uso esclusivo . Questa memoria riservata è allocato fuori del settore HAP . Proprio come programmi possono riservare spazio di memoria, possono liberarlo quando hanno finito con esso . Se il programma non libera la memoria , manterrà l'assegnazione fino a quando non è stata completata e si spegnerà. Il vantaggio di questa strategia è che il programma non deve competere con altri programmi per spazio di memoria . La mancanza di memoria rallenta l'esecuzione di un programma , come attende la quantità richiesta di archiviazione per diventare disponibili .
hardware © www.354353.com