Priporočena, 2024

Izbira Urednika

Razlika med nepretrgano in nenadzorovano dodelitvijo pomnilnika

Pomnilnik je veliko število bajtov, kjer ima vsak bajt svoj naslov. Dodeljevanje pomnilnika je mogoče razvrstiti v dve metodi dodeljevanja sosednjega pomnilnika in nenadzorovano dodeljevanje pomnilnika. Glavna razlika med dodelitvijo Contiguous in Noncontiguous memory je, da dodeljeni pomnilnik dodeljuje zaporedne bloke pomnilnika procesu, ki zahteva pomnilnik, medtem ko nenadzorovana dodelitev pomnilnika dodeli ločene pomnilniške bloke na drugem mestu v pomnilniškem prostoru na neusmerjen način. proces, ki zahteva pomnilnik. Razpravljali bomo o nekaterih razlikah med sosednjimi in nepovezanimi dodelitvami pomnilnika s pomočjo primerjalne tabele, prikazane spodaj.

Primerjalna tabela

Osnova primerjaveDodelitev sosednjega pomnilnikaNenadzorovana dodelitev pomnilnika
OsnovnoDodeli zaporedne bloke pomnilnika procesu.Dodeli ločene bloke pomnilnika procesu.
Režijski stroškiDodelitev neprekinjenega pomnilnika med izvajanjem procesa nima dodatnega režima prevajanja naslovov.Dodelitev nenadzorovanega pomnilnika ima pri izvedbi procesa obremenitev prevajanja naslovov.
Hitrost izvajanjaPostopek izvede fatser v sosednji dodelitvi pomnilnikaProces se izvaja razmeroma počasneje v nedodeljeni dodelitvi pomnilnika.
RešitevProstor 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.
TabelaTabelo vzdržuje operacijski sistem, ki ohranja seznam razpoložljivih in zasedenih particij v pomnilniškem prostoruZa 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.

Dodelitev sosednjega pomnilnika je mogoče doseči z razdelitvijo pomnilnika v particijo s fiksno velikostjo in vsaki particiji dodeliti samo en proces. Toda to bo povzročilo stopnjo multiprogramiranja, ki se omejuje na število fiksnih particij, ki se izvaja v pomnilniku. Dodelitev sosednjega pomnilnika vodi tudi do notranje razdrobljenosti . Podobno, če je fiksni pomnilniški blok, ki je dodeljen procesu, nekoliko večji od njegove zahteve, se levi prostor v bloku imenuje notranja fragmentacija. Ko proces, ki prebiva v particiji, konča particijo, postane na voljo za drug postopek.

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

  1. 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. .
  2. 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.
  3. Proces, shranjen v sosednjem pomnilniku, se izvede hitreje v primerjavi s procesom, ki je shranjen v nezveznem pomnilniku.
  4. 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.
  5. 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.

Top