? Random Access Memory , eller RAM , är den tänkande utrymmet på en dator . Det är där som körs exekveras . RAM är inte som hårddisken på en dator eftersom den inte lagrar data permanent . När en dator är avstängd , är RAM rensas. Högen område, även kallad heap segmentet , är ett tillfälligt datalagret. Minne
Random Access Memory har tre segment : en kod segment , en heap segment och en stack segment . Koden segment finns det program som skall exekveras. Programmet har en serie instruktioner för komponenterna i datachip . Det är inte läsbar för människan, eftersom en kompilator skapar körbar kod i maskin språk . Det kommer att bli ett original program skrivet i läsbar text och kompilatorn används att för att skapa körbara filen
variabler och parametrar
program fungerar på data - . De måste hämta data , hålla det, omvandla den på något sätt och sedan matar ut den på något sätt. Medan programmet körs , är dess data lagras i variabler . Variabler har en deklarerad typ , som text , tal eller logiska . Program har delprogram som kallas procedurer och funktioner . När ett program anropar en funktion eller en procedur den passerar data till den . Funktioner och procedurer acceptera värden när de kallas och funktioner returnerar värden när de är klara . De värden som skickas till procedurer och funktioner går in i en typ av variabel kallas en parameter . Variabler och parametrar innehåller data på olika sätt. Variabler lagras i stacken segmentet och parametrar lagras i högen segmentet .
Stack och Heap
Trots allt RAM-minne är tillfällig , vissa segment är mer tillfälliga än andra . Stack minne behåller sin lagring för programmets löptid körningen . Även om programmet kan uppdatera värdet i varje tilldelade lagringsutrymme flera gånger , förblir det utrymmet fördelas . Stack minne tilldelas , fylld , används och ofördelade . Samma bit av minnet kommer att återanvändas flera gånger under programexekveringen och ingen av dessa användningsområden förhåller sig till varandra . En stapel är uppbyggd så att den övre delen av utrymmet används alltid först . Detta kallas " LIFO ", som står för sist in först ut . Som stack uppgifter varar längre , är strukturen av stapeln segmentet lättare att hantera . Heap uppgifter blir tilldelade , sedan ett annat block fördelas , och sedan en annan , men då en lägre blocket skulle kasseras och blir lediga , lämnar hål i stacken .
Minnestilldelning
program har möjlighet att reservera minne för eget bruk . Denna reserverat minne tilldelas ur hap sektorn . Precis som program kan reservera minnesutrymme , kan de befria det när de är klar med det . Om programmet inte frigör minne , kommer det att behålla fördelningen tills den har avslutats och stängts . Fördelen med denna strategi är att programmet inte behöver konkurrera med andra program för minnesutrymme . Brist på minne fördröjer genomförandet av ett program som den väntar på den önskade mängden lagringsutrymme för att bli tillgängliga .