Kwa kawaida, malloc hutenga kumbukumbu kutoka lundo, na kurekebisha ukubwa wa lundo inavyohitajika, kwa kutumia sbrk(2). Wakati wa kutenga vizuizi vya kumbukumbu kubwa kuliko baiti za MMAP_THRESHOLD, utekelezaji wa glibc malloc hutenga kumbukumbu kama upangaji wa kibinafsi usio na jina kwa kutumia mmap(2).
Kumbukumbu ya malloc imetengwa wapi?
Katika C, chaguo la kukokotoa la maktaba malloc hutumika kutenga hifadhi ya kumbukumbu kwenye lundo Programu hufikia hifadhi hii ya kumbukumbu kupitia kielekezi ambacho malloc hurejesha. Wakati kumbukumbu haihitajiki tena, kielekezi hupitishwa bila malipo ambayo huhamisha kumbukumbu ili iweze kutumika kwa madhumuni mengine.
Malloc na calloc huweka kumbukumbu katika sehemu gani ya kumbukumbu?
Jina malloc na calloc ni chaguo za kukokotoa za maktaba ambazo hutenga kumbukumbu kwa kasi. Inamaanisha kuwa kumbukumbu imetengwa wakati wa utekelezaji(utekelezaji wa programu) kutoka kwa sehemu ya lundo.
Kumbukumbu imetengwa wapi?
Lundo. Lundo ni ile sehemu ya kumbukumbu ya kompyuta, iliyotengwa kwa programu inayoendesha, ambapo kumbukumbu inaweza kutengwa kwa vigeu, matukio ya darasa, n.k. Kutoka kwa lundo la programu OS hutenga kumbukumbu kwa matumizi ya nguvu.
Hifadhi iliyogawiwa kwa utaratibu imehifadhiwa wapi?
Programu (inayoweza kutekelezwa au maktaba) inapopakiwa kwenye kumbukumbu, vigeu vilivyobadilika huhifadhiwa katika sehemu ya data ya nafasi ya anwani ya programu (ikiwa imeanzishwa), au sehemu ya BSS. (ikiwa haijaanzishwa), na huhifadhiwa katika sehemu zinazolingana za faili za kitu kabla ya kupakiwa.