? Random Access Memory , eller RAM, er at tænke rum i en computer. Det er, hvor kørende programmer udføres . RAM er ikke som harddisken på en computer , fordi det ikke gemme data permanent. Når en computer er slukket , er RAM blokerede . Den bunke området , også kaldet den bunke segmentet er en midlertidig datalager . Hukommelse
Random Access Memory har tre segmenter: en kode segment , en bunke segment, og en stak segment. Kodesegmentet holder program, der skal udføres. Programmet har en række instruktioner til komponenterne i computerchip . Det er ikke læsbar for mennesker , fordi en compiler skaber eksekverbar kode i maskinens sprog. Der vil være en original program skrevet i læsbar tekst og compiler bruges, til at oprette eksekverbare fil
variabler og parametre
programmer opererer på data - . De nødt til at erhverve data , holde det, omdanne det på en eller anden måde, og derefter output det på en eller anden måde . Mens programmet kører, står sine data lagres i variable . Variable har en erklæret type som tekst, tal eller logik. Programmer har delprogrammer , kaldet procedurer og funktioner . Når et program kalder en funktion eller en procedure den passerer data til den. Funktioner og procedurer acceptere værdier, når de bliver kaldt , og funktioner returnerer værdier, når de er færdige . De værdier, der sendes til procedurer og funktioner går ind i en type variabel kaldet en parameter . Variabler og parametre inde med data forskelligt. Variable gemmes i stakken segmentet og parametrene gemmes i bunke -segmentet.
Stack og Heap
Selvom alle RAM lagring er midlertidig, nogle segmenter er mere midlertidig end andre. Stack hukommelse bevarer sin storage til programmets varighed løb. Selv om programmet kan opdatere værdien i hver tildelt lagerplads flere gange , forbliver det tildelte plads . Stack hukommelse er allokeret , fyldt , brugte og ikke-fordelte . Samme smule hukommelse vil blive genbrugt flere gange under programafviklingen og ingen af disse kutymer forholde sig til hinanden. En stak er struktureret således, at det øverste stykke af rummet anvendes altid først. Dette kaldes " LIFO ", som står for Sidste In First Out . Som stakdata holder længere , strukturen af stakken segment er nemmere at styre . Heap data bliver fordelt , så en anden blok er allokeret, og derefter en anden , men så en lavere blok kunne kasseres og bliver ubesatte, efterlader huller i stakken .
Memory Allocation
programmer er i stand til at reservere hukommelse til deres eksklusive brug. Denne reserverede hukommelse allokeres ud af hap sektor. Ligesom programmer kan reservere hukommelse , kan de frigøre det når de er færdige med det . Hvis programmet ikke frigøre hukommelse, vil den fastholde fordelingen indtil den er afsluttet og lukket ned. Fordelen ved denne strategi er, at programmet ikke behøver at konkurrere med andre programmer for hukommelse. Manglende hukommelse sinker udførelsen af et program , som den venter på den nødvendige mængde af lagerplads bliver tilgængelig .