Hvor er bunken placeret i maskinens hukommelseskort?
Hvor er bunken placeret i maskinens hukommelseskort?

Video: Hvor er bunken placeret i maskinens hukommelseskort?

Video: Hvor er bunken placeret i maskinens hukommelseskort?
Video: Кассирша_Рассказ_Слушать 2024, November
Anonim

På de højere adresser er stak og på den nederste adresse er dynge . De to hukommelse allokeringsregioner vokser ind i midten af adresserummet, som er ubrugt og uallokeret.

Desuden, hvor er bunken placeret i hukommelsen?

Stak bruges til statisk hukommelse tildeling og Dynge for dynamisk hukommelse allokering, begge lagret i computerens vædder . Variabler allokeret på stak er gemmes direkte til hukommelse og adgang til dette hukommelse er meget hurtig, og dens tildeling behandles, når programmet er kompileret.

Desuden, hvad er heap-hukommelsen? EN hukommelsesbunke er en placering i hukommelse hvor hukommelse kan tildeles ved vilkårlig adgang. I modsætning til stakken hvor hukommelse er allokeret og frigivet i en meget defineret rækkefølge, individuelle dataelementer allokeret på dynge frigives typisk på måder, som er asynkrone fra hinanden.

Spørgsmålet er også, hvor i hukommelsen er dyngen placeret, og i hvilken retning vokser den?

Det Dynge er segmentet, hvor dynamisk hukommelse tildeling finder normalt sted. Dette område begynder normalt i slutningen af BSS-segmentet og vokser opad til højere hukommelse adresser. I C administreres det af malloc / new, free / delete, som bruger brk- og sbrk-systemkaldene til at justere størrelsen.

Hvor får malloc hukommelse fra?

I C, dynamisk hukommelse er allokeret fra heapen ved hjælp af nogle standard biblioteksfunktioner. De to nøgledynamik hukommelse funktioner er malloc () og gratis(). Det malloc () funktion tager en enkelt parameter, som er størrelsen af den anmodede hukommelse areal i bytes. Det returnerer en pointer til den allokerede hukommelse.

Anbefalede: