Primerjalna tabela
Osnova primerjave | Dodelitev sosednjega pomnilnika | Nenadzorovana dodelitev pomnilnika |
---|---|---|
Osnovno | Dodeli zaporedne bloke pomnilnika procesu. | Dodeli ločene bloke pomnilnika procesu. |
Režijski stroški | Dodelitev neprekinjenega pomnilnika med izvajanjem procesa nima dodatnega režima prevajanja naslovov. | Dodelitev nenadzorovanega pomnilnika ima pri izvedbi procesa obremenitev prevajanja naslovov. |
Hitrost izvajanja | Postopek izvede fatser v sosednji dodelitvi pomnilnika | Proces se izvaja razmeroma počasneje v nedodeljeni dodelitvi pomnilnika. |
Rešitev | Prostor pomnilnika mora biti razdeljen na particijo s fiksno velikostjo in vsaka particija je dodeljena samo enemu postopku. | Postopek razdelite na več blokov in jih razporedite v različne dele pomnilnika glede na razpoložljivi pomnilniški prostor. |
Tabela | Tabelo vzdržuje operacijski sistem, ki ohranja seznam razpoložljivih in zasedenih particij v pomnilniškem prostoru | Za vsak proces, ki prenaša osnovne naslove vsakega bloka, ki je bil pridobljen s procesom v pomnilniku, je treba vzdrževati tabelo. |
Opredelitev sosednje pomnilniške dodelitve
Operacijski sistem in uporabniški procesi morajo biti nameščeni v glavnem pomnilniku. Zato je glavni pomnilnik razdeljen na dve particiji: na eni particiji se nahaja operacijski sistem, na drugih pa so uporabniški procesi. V običajnih pogojih mora več uporabniških procesov hraniti v spominu hkrati, zato je pomembno, da razmislimo o dodeljevanju pomnilnika procesom.
Dodelitev neprekinjenega pomnilnika je eden od načinov dodeljevanja pomnilnika. Pri zaporedni dodelitvi pomnilnika, ko proces zahteva pomnilnik, je procesu dodeljen en sosednji odsek blokov pomnilnika v skladu z njegovo zahtevo.
V shemi spremenljive particije operacijski sistem vzdržuje tabelo, ki kaže, katera particija pomnilnika je brezplačna in ki jo zasedajo procesi. Dodelitev sosednjega pomnilnika hitreje izvajanje procesa z zmanjšanjem režijskih stroškov prevajanja naslovov.
Definicija Dodelitev nespremenljivega pomnilnika
Dodelitev nepovezanega pomnilnika omogoča procesu, da pridobi več pomnilniških blokov na drugem mestu v pomnilniku glede na svojo zahtevo. Dodelitev nenadzorovanega pomnilnika prav tako zmanjšuje izgubo pomnilnika zaradi notranje in zunanje razdrobljenosti. Ker uporablja spominske luknje, ustvarjene med notranjo in zunanjo drobitvijo.
Paging in segmentacija sta dva načina, ki omogočata, da je fizični naslovni prostor procesa nepovezan. Pri neomejeni dodelitvi pomnilnika je proces razdeljen na bloke (strani ali segmente), ki so glede na razpoložljivost pomnilnika razporejeni v različno območje pomnilniškega prostora.
Dodelitev nenadzorovanega pomnilnika ima prednost, ker zmanjšuje izgubo pomnilnika, vendar pa povečuje režijske stroške prevajanja naslovov. Ker so deli procesa postavljeni na drugo mesto v pomnilniku, upočasni izvajanje pomnilnika, ker je čas porabljen v prevajanju naslovov.
Pri tem mora operacijski sistem vzdrževati tabelo za vsak proces, ki vsebuje osnovni naslov vsakega bloka, ki ga proces pridobi v pomnilniškem prostoru.
Ključne razlike med nepretrgano in nenadzorovano dodelitvijo pomnilnika
- Osnovna razlika med dodelitvijo sosednega in nekontinuiranega pomnilnika je ta, da sosednje dodeljevanje procesu dodeli en sam sosednji blok pomnilnika, medtem ko nenadzorovana dodelitev razdeli proces na več blokov in jih postavi v drug naslovni prostor pomnilnika, tj. .
- Pri dodelitvi sosednjega pomnilnika se proces shrani v sosednji pomnilniški prostor; zato med izvajanjem ni prevelikega števila prevodov naslovov . Toda v nenadzorovanem dodeljevanju pomnilnika je med izvajanjem procesov obremenitev prevodov naslovov, saj so procesni bloki razširjeni v pomnilniškem prostoru.
- Proces, shranjen v sosednjem pomnilniku, se izvede hitreje v primerjavi s procesom, ki je shranjen v nezveznem pomnilniku.
- Rešitev za dodelitev sosednjega pomnilnika je razdelitev pomnilniškega prostora v particijo s fiksno velikostjo in dodelitev particije samo enemu procesu. Po drugi strani pa je v nekonzervnem dodeljevanju pomnilnika postopek razdeljen na več blokov in vsak blok je nameščen na različnih mestih v pomnilniku glede na razpoložljivost pomnilnika.
- Pri dodeljevanju sosednjega pomnilnika mora operacijski sistem vzdrževati tabelo, ki kaže, katera particija je na voljo za proces in ki jo zaseda proces. V nenadzorovanem dodeljevanju pomnilnika se vzdržuje tabela za vsak proces, ki kaže osnovni naslov vsakega bloka procesa, ki je nameščen v pomnilniškem prostoru.
Sklep:
Dodelitev neprekinjenega pomnilnika ne ustvarja nikakršnih režijskih stroškov in pospešuje hitrost izvajanja procesa, ampak povečuje izgubo pomnilnika . V nasprotnem primeru nenadzorovano dodeljevanje pomnilnika ustvarja režijske stroške prevajanja naslovov, zmanjšuje hitrost izvajanja procesa, vendar povečuje porabo pomnilnika . Tako obstajajo prednosti in slabosti obeh metod dodeljevanja.