Tako notranja kot zunanja klasifikacija vplivata na hitrost dostopa do podatkov sistema. Imajo osnovno razliko med njimi, tj. Notranja fragmentacija se zgodi, ko se fiksni pomnilniški bloki dodelijo procesu, ne glede na velikost procesa, zunanja razdrobljenost pa se pojavi, ko se procesom dinamično dodeli pomnilnik. Pojdimo naprej in razpravljamo o razlikah, razlogih, rešitvah za notranjo in zunanjo razdrobljenost s pomočjo primerjalne tabele, prikazane spodaj.
Primerjalna tabela
Podlaga za primerjavo | Notranja fragmentacija | Zunanja fragmentacija |
---|---|---|
Osnovno | Pojavi se, ko so procesom dodeljeni fiksni pomnilniški bloki. | To se zgodi, ko je pomnilniški prostor spremenljive velikosti dinamično dodeljen procesom. |
Pojavnost | Ko je pomnilnik, dodeljen procesu, nekoliko večji od pomnilnika, ki ga zahteva proces, ustvari prostor v dodeljenem bloku, kar povzroča notranjo razdrobljenost. | Ko je proces odstranjen iz pomnilnika, ustvari prostor v pomnilniku, ki povzroča zunanjo razdrobljenost. |
Rešitev | Pomnilnik mora biti razdeljen v bloke s spremenljivo velikostjo in procesu dodeliti najbolj ustrezen blok. | Stiskanje, paging in segmentacija. |
Opredelitev notranje razdrobljenosti
Notranja razdrobljenost se pojavi, ko je pomnilnik razdeljen na bloke s fiksno velikostjo . Kadar koli se zahteva proces za pomnilnik, se procesu dodeli fiksni blok. V primeru, da je pomnilnik, dodeljen procesu, nekoliko večji od zahtevanega pomnilnika, je razlika med dodeljenim in zahtevanim pomnilnikom notranja razdrobljenost .
Tega preostalega prostora znotraj fiksiranega velikostnega bloka ni mogoče dodeliti nobenemu procesu, ker ne zadošča, da bi proces izpolnil zahtevo pomnilnika. Razumimo notranjo razdrobljenost s pomočjo primera. Pomnilniški prostor je razdeljen na bloke s fiksno velikostjo 18.464 bajtov. Recimo procesno zahtevo za 18.460 bajtov in razdeljen blok s fiksno velikostjo 18.464 bajtov. Rezultat je 4 bajta 18.464 bajtov, ki so ostali prazni, kar je notranja fragmentacija.
Zgornja ploskev sledenja notranje luknje, ki je nastala zaradi notranje razdrobljenosti, je bistveno več kot število notranjih lukenj. Problem notranje razdrobljenosti je mogoče rešiti s porazdelitvijo pomnilnika v blok spremenljive velikosti in dodelitvi bloka z najboljšo velikostjo procesu, ki zahteva pomnilnik. Kljub temu pa ne bo popolnoma odpravil problema notranje razdrobljenosti, ampak ga bo do neke mere zmanjšal.
Opredelitev zunanje razdrobljenosti
Zunanja razdrobljenost se zgodi, ko je v pomnilniku dovolj prostora za zadovoljitev zahtev pomnilnika procesa. Toda zahteva po pomnilniku procesa ne more biti izpolnjena, saj je razpoložljiv pomnilnik na nekem drugem. Ali uporabite strategijo porazdelitve pomnilnika, ki je primerna za prvo ali najbolj primerno, bo povzročila zunanjo razdrobljenost.
Ko je proces naložen in odstranjen iz pomnilnika, prosti prostor ustvari luknjo v pomnilniškem prostoru in v pomnilniškem prostoru je veliko takšnih lukenj, kar se imenuje Zunanja razdrobljenost. Čeprav lahko prvo prileganje in najbolje prileganje vpliva na količino zunanje razdrobljenosti, je ni mogoče popolnoma odpraviti. Kompaktiranje je lahko rešitev za zunanjo razdrobljenost.
Kompaktni algoritem premeša vse pomnilniške vsebine na eno stran in osvobodi en velik blok pomnilnika. Toda algoritem zbijanja je drag. Obstaja alternativna rešitev za reševanje vprašanja zunanje razdrobljenosti, ki bo omogočila, da proces pridobi fizični pomnilnik na nepretrgan način. Tehnike za dosego te rešitve so paging in segmentacija.
Ključne razlike med notranjo in zunanjo razdrobitvijo
- Osnovni razlog za pojav notranje in zunanje razdrobljenosti je, da se notranja fragmentacija zgodi, ko je pomnilnik razdeljen na bloke fiksne velikosti, medtem ko se zunanja razdrobljenost zgodi, ko je pomnilnik razdeljen v bloke s spremenljivo velikostjo .
- Ko pomnilniški blok, ki je dodeljen procesu, postane nekoliko večji od zahtevanega pomnilnika, potem prosti prostor v dodeljenem pomnilniškem bloku povzroči notranjo razdrobljenost. Po drugi strani pa, ko je proces odstranjen iz spomina, ustvari prostor, ki povzroči luknjo v spominu, ki se imenuje zunanja razdrobljenost.
- Problem notranje razdrobljenosti je mogoče rešiti s porazdelitvijo pomnilnika v bloke s spremenljivo velikostjo in dodeljevanju bloka, ki najbolj ustreza zahtevanemu postopku. Rešitev za zunanjo razdrobljenost pa je kompakcija, vendar je draga za izvedbo, zato je treba procesom omogočiti, da pridobijo fizični pomnilnik na nepretrgan način, da se to doseže s tehniko osebnega klicanja in segmentacije.
Sklep:
Problem notranje razdrobljenosti se lahko zmanjša, vendar ga ni mogoče popolnoma odpraviti. Paging in segmentacija pomagata pri uporabi prostora, ki je osvobojen zaradi zunanje razdrobljenosti, tako da omogoči procesu, da zasede pomnilnik na nepretrgan način.