Soovitatav, 2021

Toimetaja Valik

Erinevus külgneva ja mittesõnalise mälu eraldamise vahel

Mälu on suur hulk baite, kus igal baidil on oma aadress. Mälu jaotamist võib jagada kaheks meetodiks, mis on seotud mälu eraldamise ja mälu mitte-külgnevate jaotustega. Suurim erinevus külgnevate ja mittekonkreetsete mälude eraldamise vahel on see, et külgnev mälu eraldamine määrab mälu järjestikused plokid mälu nõudvale protsessile, samas kui mittekontrastne mälu eraldamine eraldab erinevad mäluplokid mäluruumis erinevas kohas mittekontrollitult viisil protsess, mis nõuab mälu. Järgnevalt näidatud võrdluskaardi abil arutame mõningaid erinevusi külgneva ja mitte-külgneva mälu jaotamise vahel.

Võrdluskaart

Võrdlus põhinebKülgnev mälu eraldamineMitteühenduslik mälu eraldamine
PõhilineMäärab protsessile järjestikused mälu plokid.Eraldab protsessile eraldi mälu plokid.
ÜldkuludÜhepoolse mälu eraldamise protsessil ei ole aadresside tõlke üldkulusid.Mittekonkureerival mälu jaotamisel on protsesside teostamisel adresseerimise üldkulud.
Täitmise määrProtsess teostab fatserit järjepidevas mälu jaotusesProtsess täidab suhteliselt aeglaselt aeglasemalt mälu eraldamisel.
LahendusMäluruum tuleb jagada fikseeritud suurusega partitsiooniks ja iga partitsioon eraldatakse ainult ühele protsessile.Jagage protsess mitmeks plokiks ja asetage need mälu erinevatesse osadesse vastavalt olemasoleva mäluruumi olemasolule.
TabelTabelit haldab operatsioonisüsteem, mis säilitab mäluruumis olemasolevate ja hõivatud partitsioonide nimekirjaIga protsessi jaoks, mis kannab iga ploki põhi-aadressi, mis on saadud mälu protsessis, tuleb säilitada tabel.

Mälu jaotamise piiritlemine

Operatsioonisüsteem ja kasutaja protsessid peavad mõlemad olema majutatud põhimällu. Seega jagatakse põhimälu kaheks partitsiooniks: ühel partitsioonil asub operatsioonisüsteem ja mujal kasutajaprotsessid. Tavapärastes tingimustes peavad mitmed kasutajaprotsessid asuma samal ajal mälus ja seetõttu on oluline kaaluda mälu eraldamist protsessidele.

Seotud mälu jaotus on üks mälu eraldamise meetodeid. Külgnevas mälu eraldamises, kui protsess nõuab mälu, määratakse protsessile üks selle juurde kuuluva mäluplokkide osa vastavalt selle nõudele.

Külgnev mälu jaotus on võimalik saavutada, jagades mälu fikseeritud suurusega partitsioonile ja eraldades iga partitsiooni ainult ühele protsessile. Kuid see põhjustab mitmekordse programmeerimise taseme, piirates mälus tehtud fikseeritud partitsioonide arvu. Külgnev mälu jaotus viib ka sisemise killustumiseni . Sarnaselt, kui protsessile määratud fikseeritud suurusega mäluplokk on selle nõudest veidi suurem, siis ploki mäluruumi vasakpoolseks nimetuseks on sisemine killustatus. Kui partitsioonis asuv protsess lõpetab partitsiooni, saab see teise protsessi jaoks kättesaadavaks.

Muutuva jaotamise skeemis säilitab operatsioonisüsteem tabelit, mis näitab, milline mälu partitsioon on vaba ja mida protsessid hõivavad. Külgnev mälu jaotus kinnitab protsessi teostamist, vähendades aadressi tõlke üldkulusid.

Määratlus Mitte-külgnev mälu eraldamine

Mitte-külgnev mälu jaotus võimaldab protsessil omandada mitmed mäluplokid mälu erinevas kohas vastavalt selle nõudele. Mitte-sarnane mälu jaotus vähendab ka sisemise ja välise killustumise tõttu tekkinud mälu . Kuna see kasutab sisemise ja välise killustumise käigus loodud mälu auke.

Otsimine ja segmenteerimine on kaks võimalust, mis võimaldavad protsessi füüsilisel aadressiruumil olla külgnev. Mitte-külgnevas mälu jaotuses jagatakse protsess plokkideks (leheküljed või segmendid), mis paigutatakse mäluruumi erinevasse piirkonda vastavalt mälu kättesaadavusele.

Mittemõistetaval mälu eraldamisel on eeliseks mälu raiskamise vähendamine, kuid see suurendab aadresside tõlke üldkulusid . Kuna protsessi osad paigutatakse mällu erinevasse asukohta, aeglustab see mälu täitmist, kuna aadressi tõlkimisel kulub aega.

Siin peab operatsioonisüsteem säilitama iga protsessi jaoks tabeli, mis sisaldab iga ploki baasi aadressi, mis on protsessi käigus mäluruumis omandatud.

Peamised erinevused külgneva ja mittesiduva mälu eraldamise vahel

  1. Põhiline erinevus külgnevate ja mittekonkreetsete mälu jaotuste vahel on see, et külgnev eraldamine eraldab protsessile ühe ühtse mälu ploki, samas kui mittesõnaline jaotus jagab protsessi mitmeks plokiks ja asetab need mälu erinevasse aadressi ruumi, st mittekõnelikult. .
  2. Külgnevas mälu jaotuses salvestatakse protsess külgnevasse mäluruumi; seega ei ole täidesaatmise ajal aadressi tõlkimise üldkulud . Kuid mittesõnalise mälu eraldamise korral on protsesside teostamise ajal olemas aadresside tõlke üldkulud, kuna protsessiplokid levivad mäluruumis.
  3. Külgmälus salvestatud protsess täidab kiiremini võrreldes sellega, mis on salvestatud mitteühilduvasse mäluruumi.
  4. Järjepideva mälu eraldamise lahendus on jagada mäluruum fikseeritud suurusega partitsiooniga ja eraldada partitsioon ainult ühele protsessile. Teisest küljest jagatakse mittekontigentses mälu jaotuses protsess mitmeks plokiks ja iga plokk asetatakse mällu erinevates kohtades vastavalt mälu kättesaadavusele.
  5. Külgnevas mälu jaotuses peab operatsioonisüsteem hoidma tabelit, mis näitab, milline partitsioon on protsessi jaoks saadaval ja mida protsess kasutab. Mittekonkureerivas mälu jaotuses säilitatakse iga protsessi jaoks tabel, mis näitab iga mäluruumi paigutatud protsessi ploki baasi aadressi.

Järeldus:

Külgnev mälu jaotamine ei tekita üldkulusid ja kinnitab protsessi teostamise kiirust, kuid suurendab mälu raiskamist . Omakorda mittekontrastne mälu jaotamine loob aadresside tõlke üldkulud, vähendab protsessi teostamise kiirust, kuid suurendab mälu kasutamist . Nii on mõlema jaotusmeetodi plusse ja miinuseid.

Top