Un buffer computer è una sezione della sua memoria utilizzata per memorizzare temporaneamente i dati richiesti da un'applicazione o dal sistema operativo . L' applicazione dispone di un buffer fisso o statico chiamato la pila , la cui dimensione è determinata quando il programma viene compilato e assegnato dal sistema operativo quando viene caricata l'applicazione . Memoria heap è un altro tipo di tampone un'applicazione utilizza mentre è in esecuzione . A differenza dei buffer statici , la memoria heap viene creato e distrutto come l' applicazione richiede .
Sovraccarichi del buffer statici
statici sovraccarichi del buffer si verificano quando troppi dati vengono scritti in un predefinito porzione di memoria all'interno stack dell'applicazione . Lo stack contiene informazioni sulla funzione dell'applicazione e delle variabili di funzione. Articoli sulla pila hanno una dimensione fissa o statica . Se più dati vengono scritti in un elemento pila di quello che è destinato a contenere , i dati in eccesso viene memorizzato in locazioni di memoria adiacenti. I dati in eccesso potrebbe danneggiare i dati già presenti.
Overruns Mucchio
memoria heap
è lo spazio del sistema operativo dà l' applicazione per creare e memorizzare le informazioni sui la mosca . Ogni blocco heap ha un puntatore all'indirizzo fisico del blocco di memoria prima e dopo di esso . Come superamento dello stack, quando troppi dati vengono scritti in un blocco precedentemente allocato di memoria , i dati in eccesso si riversa verso il prossimo blocco di memoria e può alterare precedenti e successivi puntatori del blocco. Questo può essere utilizzato per bloccare i puntatori di richiesta o comunque luogo a blocchi di memoria del programmatore malintenzionato ha accesso .
Array indicizzazione Errori
Quando gli array sono dichiarati nella maggior parte dei linguaggi di programmazione , una sezione fissa di memoria nello heap è pre- allocato per i dati della matrice. Le lingue e + C C + correttamente allocare array ma non impediscono il blocco di memoria array da sovrascrittura. Come sforamenti mucchio , errori di indicizzazione possono sovrascrivere e corrompere i blocchi adiacenti di memoria . Lingue moderne , come C # e Java controllare per array errore indicizzazione al momento della compilazione e durante l'esecuzione del programma .
Programmazione © www.354353.com