I unutarnja i vanjska klasifikacija utječu na brzinu pristupa podacima sustava. Oni imaju osnovnu razliku između njih, tj. Unutarnja fragmentacija se događa kada se blokovi memorije s fiksnom veličinom dodijele procesu bez obzira na veličinu procesa, a vanjska fragmentacija se događa kada se procesima dodijeli memorija dinamički. Idemo dalje i raspravljamo o razlikama, razlozima, rješenjima iza unutarnje i vanjske fragmentacije uz pomoć usporednog dijagrama prikazanog u nastavku.
Tablica usporedbe
Osnova za usporedbu | Interna fragmentacija | Vanjska fragmentacija |
---|---|---|
Osnovni, temeljni | To se događa kada se blokovima memorije fiksne veličine dodijele procesima. | To se događa kada se memorijski prostor promjenjive veličine dodijeli procesima dinamički. |
događaj | Kada je memorija dodijeljena procesu malo veća od memorije koju zahtijeva proces, to stvara slobodni prostor u dodijeljenom bloku uzrokujući unutarnju fragmentaciju. | Kada se proces ukloni iz memorije, on stvara slobodni prostor u memoriji koji uzrokuje vanjsku fragmentaciju. |
Riješenje | Memorija mora biti podijeljena u blokove promjenjive veličine i dodijeliti bloku koji najbolje odgovara. | Zbijanje, straničenje i segmentacija. |
Definicija interne fragmentacije
Unutarnja fragmentacija se događa kada se memorija podijeli na blokove fiksne veličine . Kad god zahtjev za procesom za memorijom, blok s fiksnom veličinom bude dodijeljen procesu. U slučaju da je memorija dodijeljena procesu nešto veća od tražene memorije, tada je razlika između dodijeljene i tražene memorije Interna fragmentacija .
Ovaj preostali prostor unutar bloka s fiksnom veličinom ne može se dodijeliti bilo kojem procesu jer ne bi bio dovoljan da zadovolji zahtjev memorije od strane procesa. Razumimo internu fragmentaciju uz pomoć primjera. Memorijski prostor podijeljen je u blokove fiksne veličine od 18.464 bajta. Recimo, procesni zahtjev za 18.460 bajtova i particionirani blok fiksne veličine od 18.464 bajta dodijeljen je procesu. Rezultat je 4 bajta od 18.464 bajta koji su ostali prazni, što je unutarnja fragmentacija.
Gornji dio praćenja unutarnjeg otvora stvorenog uslijed unutarnje fragmentacije je znatno veći od broja unutarnjih rupa. Problem unutarnje fragmentacije može se riješiti particioniranjem memorije u blok veličine promjenjive veličine i dodijeliti blok najbolje veličine procesu koji traži memoriju. Ipak, to neće u potpunosti ukloniti problem unutarnje fragmentacije, ali će ga u određenoj mjeri smanjiti.
Definicija vanjske fragmentacije
Vanjska fragmentacija se događa kada postoji dovoljna količina prostora u memoriji da bi se zadovoljio zahtjev memorije procesa. No, zahtjev za memorijom procesa ne može biti zadovoljen jer je raspoloživa memorija na ne-susjedni način. Ili primijenite strategiju dodjele memorije koja najbolje odgovara ili najbolje odgovara, to će uzrokovati vanjsku fragmentaciju.
Kada se proces učita i ukloni iz memorije, slobodni prostor stvara rupu u prostoru memorije, a takvih rupa ima mnogo u prostoru memorije, što se naziva vanjska fragmentacija. Iako prvi napad i najbolje pristajanje mogu utjecati na količinu vanjske fragmentacije, ona se ne može potpuno eliminirati. Kompaktiranje može biti rješenje za vanjsku fragmentaciju.
Algoritam zbijanja miješa sav sadržaj memorije na jednu stranu i oslobađa jedan veliki blok memorije. Ali algoritam zbijanja je skup. Postoji alternativno rješenje za rješavanje pitanja vanjske fragmentacije koja će omogućiti procesu da stekne fizičku memoriju na ne-susjedni način. Tehnike za postizanje ovog rješenja su paging i segmentacija.
Ključne razlike između unutarnje i vanjske fragmentacije
- Osnovni razlog za pojavu unutarnje i vanjske fragmentacije jest da se unutarnja fragmentacija događa kada se memorija podijeli na blokove fiksne veličine, dok se vanjska fragmentacija događa kada se memorija particionira u blokove promjenjive veličine .
- Kada se memorijski blok dodijeljen procesu ispostavi da je nešto veći od tražene memorije, tada preostali slobodni prostor u dodijeljenom memorijskom bloku uzrokuje unutarnju fragmentaciju. S druge strane, kada se proces ukloni iz memorije, on stvara slobodni prostor koji uzrokuje rupu u memoriji koja se naziva vanjska fragmentacija.
- Problem unutarnje fragmentacije može se riješiti particioniranjem memorije u blokove promjenjive veličine i dodijeliti blok koji najbolje odgovara procesu koji traži. Međutim, rješenje za vanjsku fragmentaciju je zbijanje, ali je skupo provesti, tako da se procesima mora omogućiti da steknu fizičku memoriju na ne-susjedni način, da bi se to postiglo uvedena je tehnika straničenja i segmentacije.
Zaključak:
Problem unutarnje fragmentacije može se smanjiti, ali se ne može potpuno eliminirati. Paging i segmentacija pomažu u korištenju prostora oslobođenog zbog vanjske fragmentacije, dopuštajući procesu da zauzme memoriju na ne-susjedni način.