Kugawanyika pia hutokea kwenye kumbukumbu ya mfumo (RAM). Michakato ya utumaji programu na mfumo hutenga na kutumia kumbukumbu katika vizuizi visivyofungamana, kwani rejista zilizopo za kumbukumbu zinatumiwa na kutumika tena.
Je, Ram inaweza kugawanyika?
Ukurasa wa kumbukumbu hutengeneza mgawanyiko wa ndani kwa sababu fremu nzima ya ukurasa itatengwa iwe hifadhi kubwa hiyo inahitajika au la. Kutokana na sheria zinazosimamia ugawaji kumbukumbu, kumbukumbu zaidi ya kompyuta wakati mwingine hutengwa kuliko inavyohitajika.
Ni nini husababisha kugawanyika kwa kumbukumbu?
Mgawanyiko wa kumbukumbu ni wakati sehemu kubwa ya kumbukumbu yako imetengwa katika idadi kubwa ya vizuizi visivyofungamana, au vipande - na kuacha asilimia nzuri ya jumla ya kumbukumbu yako bila kugawanywa, lakini isiyoweza kutumika. kwa hali nyingi za kawaida. Hii husababisha isipokuwa kwa kumbukumbu, au hitilafu za ugawaji (yaani, malloc inarudisha null).
Je, kugawanyika kwa kumbukumbu ni mbaya?
Kwa ujumla c++ upangaji hakuna tatizo na kugawanyika kwa kumbukumbu. Kila mara unaona kumbukumbu pepe na kila wakati unatenga sehemu za kumbukumbu za mtandaoni. Kitu pekee ambacho unaweza kutambua kwamba vipande vilivyotengwa kwa mpangilio si lazima viwe karibu kwenye kumbukumbu.
Je, unazuiaje kugawanyika kwa kumbukumbu?
Ikiwa unaweza kutenga maeneo yale haswa ambapo unaweza kutenga vizuizi vikubwa, unaweza (kwenye Windows) moja kwa moja kupigia simu VirtualAlloc badala ya kupitia kidhibiti kumbukumbu. Hii itaepukakugawanyika ndani ya kidhibiti cha kumbukumbu cha kawaida.