? Random Access Memory , eller RAM , er den tenkende plass av en datamaskin. Det er der kjørende programmene kjøres . RAM er ikke som harddisken på en datamaskin fordi den ikke lagrer data permanent. Når en datamaskin er slått av , er RAM ryddet . Haugen området, også kalt haugen segmentet , er en midlertidig datalageret. Minne
Random Access Memory har tre segmenter: en kode segment , en haug segment og en stabel segment . Koden segmentet holder programmet for å bli henrettet . Programmet har en rekke instruksjoner for komponentene i den databrikke . Det er ikke lesbar for mennesker, fordi en kompilator skaper kjørbar kode i maskin språk . Det vil være et originalt program skrevet i klartekst og kompilatoren brukte den til å lage den kjørbare filen
variabler og parametere
programmer opererer på data - . De må skaffe data , holder det , transformere det på noen måte , og deretter sende den på noen måte . Mens programmet er i drift , er dens data som er lagret i variablene. Variablene har en erklært type, som tekst, tall eller logikk. Programmer har delprogrammer , kalt prosedyrer og funksjoner . Når et program kaller en funksjon eller en prosedyre den passerer data til det . Funksjoner og prosedyrer akseptere verdier når de er kalt og returnerer verdier når de er ferdige . De parametre gitt til prosedyrer og funksjoner går inn i en form for variabel kalt en parameter. Variabler og parametere holde data annerledes. Variablene lagres i stakksegmentet og lagres i haugen segmentet .
Stack og Heap
Selv om alle RAM lagring er midlertidig , enkelte segmenter er mer midlertidig enn andre. Stack hukommelse beholder sin lagring for varigheten av programmet kjøres . Selv om programmet kan oppdatere verdien i hver tildelt lagringsplass flere ganger , forblir den plassen tildelt. Stack minne er tildelt , fylt , brukt og ufordelt. Den samme del minne vil brukes flere ganger i løpet av kjøring av programmet , og ingen av disse bruksområder er relatert til hverandre . En stabel er strukturert slik at den øverste del av plassen brukes alltid først. Dette kalles " LIFO ", som står for Last In First Out . Ettersom stabelen data varer lenger , er strukturen av stakksegmentet enklere å håndtere. Heap data blir tildelt, deretter en annen blokk er tildelt, og deretter en annen, men da en lavere blokk kan kastes og blir ledig, forlater hull i bunken .
Memory Allocation
programmer er i stand til å reserve minne for deres eksklusive bruk. Dette reserverte minnet er tildelt ut av HAP sektor. Akkurat som programmer kan reservere plass i minnet , kan de frigjøre det når de er ferdig med det. Hvis programmet ikke gratis minnet , vil den beholde tildeling til den har fullført og avsluttet. Fordelen med denne strategien er at programmet ikke må konkurrere med andre programmer for plass i minnet. Mangel på minne bremser ned utførelsen av et program som den venter på den nødvendige mengden lagringsplass til å bli tilgjengelig .