Tiek vidinė, tiek išorinė klasifikacija veikia duomenų prieigos greitį. Jie turi pagrindinį skirtumą tarp jų, ty vidinis susiskaidymas įvyksta, kai procesui priskiriami fiksuoto dydžio atminties blokai, nesusiję su proceso dydžiu, o Išorinis fragmentavimas įvyksta, kai procesai dinamiškai paskirstomi atmintyje. Toliau apžvelgkime palyginimo lentelę ir aptarsime skirtumus, priežastis, vidaus ir išorės susiskaidymo priežastis.
Palyginimo diagrama
Palyginimo pagrindas | Vidinis fragmentavimas | Išorinis fragmentavimas |
---|---|---|
Pagrindinis | Tai įvyksta, kai procesams priskiriami fiksuoto dydžio atminties blokai. | Tai įvyksta, kai kintamo dydžio atminties erdvė dinamiškai priskiriama procesams. |
Įvykis | Kai procesui priskirta atmintis yra šiek tiek didesnė už atmintyje reikalaujamą atmintį, skiriamajame bloke atsiranda laisva erdvė, sukelianti vidinį fragmentaciją. | Kai procesas pašalinamas iš atminties, atmintyje atsiranda laisva erdvė, sukelianti išorinį fragmentaciją. |
Sprendimas | Atmintis turi būti padalyta į įvairaus dydžio blokus ir priskirti procesui tinkamiausią bloką. | Tankinimas, ieškos ir segmentavimas. |
Vidaus fragmentacijos apibrėžimas
Vidaus fragmentacija įvyksta, kai atmintis yra suskirstyta į fiksuoto dydžio blokus . Kai procesui prašoma atminties, procesui priskiriamas fiksuoto dydžio blokas. Jei procesui priskirta atmintis yra šiek tiek didesnė už prašomą atmintį, skirtumas tarp priskirtos ir prašomos atminties yra vidinis fragmentavimas .
Ši liekamoji erdvė fiksuoto dydžio bloko viduje negali būti priskirta jokiam procesui, nes pakanka atminties užklausai patenkinti. Suprasime vidinį susiskaidymą pavyzdžiu. Atminties erdvė yra padalinta į 18, 464 baitų fiksuoto dydžio blokus. Tarkime, kad procesui prašoma pateikti 18.460 baitų ir 18, 464 baitų suskaidyto fiksuoto dydžio bloką. Rezultatas yra 4 baitai 18, 464 baitų liko tuščias, tai yra vidinis fragmentavimas.
Vidinių skylučių, atsiradusių dėl vidinio fragmentacijos, sekimo stebėjimas yra gerokai didesnis už vidinių skylių skaičių. Vidinės fragmentacijos problemą galima išspręsti, padalijus atmintį į kintamo dydžio bloką ir priskiriant geriausio dydžio bloką procesui, reikalaujančiam atminties. Vis dėlto ji visiškai nepašalins vidaus susiskaidymo problemos, bet tam tikru mastu sumažins.
Išorinio fragmentacijos apibrėžimas
Išorinis fragmentavimas įvyksta, kai atmintyje yra pakankamai vietos, kad būtų patenkintas proceso atminties prašymas. Tačiau proceso atminties prašymas negali būti patenkintas, nes turima atmintis yra nesusijusi. Taikydami pirmojo pritaikymo arba tinkamiausio atminties paskirstymo strategiją, tai sukels išorinį fragmentaciją.
Kai procesas įkeliamas ir pašalinamas iš atminties, laisva erdvė sukuria skylę atminties erdvėje, o atminties erdvėje yra daug tokių skylių, tai vadinama išorine fragmentacija. Nors pirmasis tinkamumas ir geriausias tinkamumas gali paveikti išorinio fragmentacijos dydį, jis negali būti visiškai pašalintas. Glaudinimas gali būti išorinio susiskaidymo sprendimas.
Tankinimo algoritmas sujungia visą atminties turinį į vieną pusę ir atlaisvina vieną didelį atminties bloką. Tačiau tankinimo algoritmas yra brangus. Yra alternatyvus sprendimas, kaip išspręsti išorės susiskaidymo problemą, kuri leis procesui įgyti fizinę atmintį nesusijusiu būdu. Šio sprendimo būdai yra ieškos ir segmentavimas.
Pagrindiniai skirtumai tarp vidinio ir išorinio susiskaidymo
- Pagrindinė vidinės ir išorinės fragmentacijos priežastis yra tai, kad vidinis susiskaidymas įvyksta, kai atmintis yra padalinta į fiksuoto dydžio blokus, o išorinė fragmentacija atsiranda, kai atmintis yra padalinta į kintamo dydžio blokus .
- Kai procesui skiriamas atminties blokas yra šiek tiek didesnis nei reikalaujama atmintis, tada laisvoje erdvėje, paliktoje skirtoje atminties bloke, atsiranda vidinis susiskaidymas. Iš kitos pusės, kai procesas pašalinamas iš atminties, jis sukuria laisvą erdvę, dėl kurios atmintyje yra skylė, vadinama išorine fragmentacija.
- Vidinės fragmentacijos problemą galima išspręsti, padalijus atmintį į įvairaus dydžio blokus ir priskirdama geriausią užklausos procesui tinkantį bloką. Tačiau išorinio susiskaidymo sprendimas yra tankinimas, tačiau jį įgyvendinti yra brangu, todėl procesams turi būti leidžiama įgyti fizinę atmintį nesusijusiu būdu, kad būtų pasiektas paieškos ir segmentavimo metodas.
Išvada:
Vidaus fragmentacijos problemą galima sumažinti, tačiau ji negali būti visiškai pašalinta. Raginimas ir segmentavimas padeda panaudoti atlaisvintą erdvę dėl išorinio susiskaidymo, leidžiant procesui užimti atmintį nesusijusiu būdu.