Interná a externá klasifikácia ovplyvňuje rýchlosť prístupu k dátam systému. Majú medzi nimi zásadný rozdiel, tj interná fragmentácia nastáva, keď sú bloky pamäte pevnej veľkosti pridelené procesu bez toho, aby sa týkali veľkosti procesu, a externá fragmentácia nastane, keď sa procesy dynamicky prideľujú pamäť. Pokračujme ďalej a diskutujeme o rozdieloch, dôvodoch, riešeniach vnútornej a vonkajšej fragmentácie pomocou porovnávacieho grafu zobrazeného nižšie.
Porovnávacia tabuľka
Základ pre porovnanie | Interná fragmentácia | Externá fragmentácia |
---|---|---|
základné | Vyskytuje sa pri priradení blokov pamäte pevnej veľkosti procesom. | Vyskytuje sa pri prideľovaní dynamického priestoru premenlivej veľkosti na procesy. |
výskyt | Keď je pamäť pridelená procesu mierne väčšia než pamäť požadovaná procesom, vytvára voľný priestor v priradenom bloku, čo spôsobuje vnútornú fragmentáciu. | Keď je proces odstránený z pamäte, vytvára voľný priestor v pamäti a spôsobuje externé fragmentovanie. |
Riešenie | Pamäť musí byť rozdelená na bloky s variabilnou veľkosťou a priradiť tomuto procesu najvhodnejší blok. | Zhutňovanie, stránkovanie a segmentácia. |
Definícia vnútornej fragmentácie
Vnútorná fragmentácia nastane, keď je pamäť rozdelená na bloky s pevnou veľkosťou . Kedykoľvek sa vyžaduje požiadavka na spracovanie pamäte, proces priradí blok pevnej veľkosti. Ak je pamäť priradená k procesu o niečo väčšia ako požadovaná pamäť, rozdiel medzi priradenou a požadovanou pamäťou je vnútorná fragmentácia .
Tento zvyšný priestor vo vnútri bloku s pevnou veľkosťou nemôže byť priradený žiadnemu procesu, pretože by nebol dostatočný na uspokojenie požiadavky pamäte procesom. Chápeme vnútornú fragmentáciu pomocou príkladu. Pamäťový priestor je rozdelený na bloky s pevnou veľkosťou 18 464 bajtov. Povedzme, že žiadosť o proces pre 18, 460 bajtov a rozdelený blok pevnej veľkosti 18, 464 bajtov je pridelený procesu. Výsledkom je 4 bajtov s 18 464 bajtami, ktoré zostali prázdne, čo je vnútorná fragmentácia.
Réžia sledovania vnútorného otvoru vytvoreného v dôsledku vnútornej fragmentácie je podstatne väčšia ako počet vnútorných otvorov. Problém vnútornej fragmentácie možno vyriešiť rozdelením pamäte do bloku s premenlivou veľkosťou a priradením bloku najvyššej veľkosti k procesu vyžadujúcemu pamäť. Napriek tomu úplne neodstráni problém vnútornej fragmentácie, ale do istej miery ju zníži.
Definícia externej fragmentácie
Externá fragmentácia nastane, keď je v pamäti dostatok priestoru na uspokojenie požiadavky na pamäť procesu. Požiadavka na pamäť procesu však nemôže byť splnená, pretože dostupná pamäť je neústupná. Buď použijete prvotriednu stratégiu priradenia pamäte alebo najlepší spôsob prideľovania pamäte, spôsobí to vonkajšiu fragmentáciu.
Keď je proces načítaný a odstránený z pamäte, voľné miesto vytvára otvor v pamäťovom priestore a v pamäťovom priestore existuje mnoho takýchto otvorov, nazývaných externá fragmentácia. Hoci prvé prispôsobenie a najlepšie prispôsobenie môže ovplyvniť množstvo externej fragmentácie, nemôže byť úplne odstránené. Zhutnenie môže byť riešením pre vonkajšiu fragmentáciu.
Algoritmus zhutnenia premieša celý obsah pamäte na jednu stranu a uvoľní jeden veľký blok pamäte. Ale zhutňovací algoritmus je drahý. Existuje alternatívne riešenie riešenia problému externej fragmentácie, ktorá umožní proces získať fyzickú pamäť neústupným spôsobom. Techniky na dosiahnutie tohto riešenia sú stránkovanie a segmentácia.
Kľúčové rozdiely medzi vnútornou a vonkajšou fragmentáciou
- Základným dôvodom výskytu vnútornej a vonkajšej fragmentácie je, že vnútorná fragmentácia nastane, keď je pamäť rozdelená na bloky s pevnou veľkosťou, zatiaľ čo externá fragmentácia nastane, keď je pamäť rozdelená na bloky s premenlivou veľkosťou .
- Keď pamäťový blok priradený k procesu je o niečo väčší ako požadovaná pamäť, potom voľný priestor v bloku pamäte prideľuje vnútornú fragmentáciu. Na druhej strane, keď je proces odstránený z pamäte, vytvára voľný priestor, ktorý spôsobuje otvor v pamäti, ktorý sa nazýva externá fragmentácia.
- Problém vnútornej fragmentácie možno vyriešiť rozdelením pamäte do blokov s variabilnou veľkosťou a priradením bloku najvhodnejšieho k žiadanému procesu. Riešením pre externú fragmentáciu je však zhutnenie, ale je nákladné implementovať, takže procesy musia byť umožnené získať fyzickú pamäť nekontinuálnym spôsobom, aby sa dosiahla táto metóda stránkovania a segmentácie.
záver:
Problém vnútornej fragmentácie môže byť znížený, ale nedá sa úplne odstrániť. Pomoc pri stránkovaní a segmentácii pomáha pri využívaní priestoru oslobodeného z dôvodu externej fragmentácie tým, že umožňuje, aby proces obsadil pamäť nekontinuálnym spôsobom.