Diferența dintre fragmentarea internă și fragmentarea externă

În contextul unui sistem de fișiere, fragmentarea este o utilizare ineficientă a spațiului de stocare pentru a stoca conținutul unui singur fișier în locații diferite pe un disc mai degrabă decât într-o singură secvență continuă de biți într-un singur loc. Fragmentarea este un fenomen natural care apare fizic pe o unitate de hard disk sau uneori pe un modul de memorie atunci când datele nu sunt scrise îndeaproape pe unitate.

Datele sunt uneori scrise din ordine, ceea ce înseamnă că piesele de date nu sunt așezate una lângă alta pe unitate din cauza utilizării frecvente a fișierelor. Aceste fragmente de date sunt denumite fragmente. La un moment dat, sistemul de operare ar trebui să acceseze sistemul de fișiere pentru a afla unde sunt localizate fragmentele diferite pe unitate.

De exemplu, atunci când creați un document nou, să spunem un fișier de cuvinte; fișierul pare să fie într-un singur loc. Puteți să deschideți fișierul, să îl editați sau să îl ștergeți - oricare doriți. Toate activitățile par să se întâmple fizic pe unitate, cel puțin așa crezi tu.

Este posibil ca hard diskul să salveze bucăți de fișiere într-o zonă a dispozitivului, dar restul acestuia există literalmente în altă parte a dispozitivului de stocare. În termeni simpli, fragmentarea se referă la spațiul de stocare risipit în sistemul de fișiere, permițând dezvoltarea unui spațiu între diferitele porțiuni ale unui fișier.

Fragmentarea apare în mod sistematic în sistemul de alocare dinamică a memoriei deoarece rezervă prea mult spațiu pentru fișierul care rezultă în zonele deschise din jurul acestuia.

Ce este fragmentarea internă?

Se referă într-un fel la o partiție de dimensiune fixă. Sistemul alocă memorie diferitelor programe și procese prin împărțirea lor în blocuri mici, după cum este cerut de program. Cu toate acestea, mai multă memorie este alocată uneori decât este necesar de către proces, ceea ce duce în cele din urmă la o memorie excesivă care risipește deșeuri sau este lăsată neutilizată.

De exemplu, memoria poate fi alocată numai programelor în blocuri divizibile cu 4, 8 sau 16. Când un proces cere 24 de octeți, acesta primește de obicei un bloc de 32 de octeți, excesul de 8 octeți este lăsat neutilizat. Astfel, memoria neutilizată se află într-o anumită locație alocată și este atât de mică încât un nou proces nu poate fi alocat, ceea ce duce la deșeuri. Această deșeu este denumită fragmentare internă. Probabil singura modalitate de a elimina acest tip de fragmentare este prin alocarea dinamică a memoriei.

Ce este Fragmentarea externă?

Principalele forme de memorie deschid găuri între porțiunile de memorie alocate care sunt prea mici pentru a menține orice proces. Este dezavantajul algoritmilor de alocare a stocării, când blocurile contigue de spații neutilizate nu pot servi la o nouă solicitare, deoarece spațiile sunt prea mici pentru nevoile mari de aplicații de memorie. În termeni simpli, blocurile neconsolidate creează găuri în memorie, rezultând o stocare neutilizată care se află în afara regiunilor alocate, ceea ce înseamnă că nu poate fi utilizat împreună cu memoria principală pentru sarcini de memorie mai mari. Ei ajung să fie izolați și nu pot fi complet eliminați din spațiul de memorie. Aceasta se numește fragmentare externă. Acesta poate fi eliminat prin compactare, care amestecă conținutul memoriei pentru a plasa toată memoria liberă împreună.

Diferența dintre fragmentarea internă și cea externă

  1. Elementele de bază

Fragmentarea internă:

Fragmentarea internă se referă la spații suplimentare care devin deșeuri atunci când mai multă memorie este alocată unui proces decât este necesar. De obicei apare atunci când blocurile de memorie cu dimensiune fixă ​​sunt alocate programelor sau proceselor.

Fragmentarea externă:

Fragmentarea externă, dimpotrivă, se referă la spațiile neutilizate care se formează între blocurile de memorie contigue care nu sunt adiacente unul altuia.

  1. Apariţie

Fragmentarea internă:

Spațiul liber care se formează în blocul de memorie alocat atunci când memoria alocată procesului este mai mare decât memoria solicitată de proces este denumită fragmentare internă. "Intern" se referă la octeții neutilizați care se află în blocurile de memorie mai mari.

Fragmentarea externă:

Când memoria principală formează găuri prea mici pentru a satisface orice cerere, se numește fragmentare externă.

  1. Motiv

Fragmentarea internă:

Motivul principal pentru care are loc fragmentarea internă este atunci când memoria este împărțită în blocuri de dimensiuni fixe .

Fragmentarea externă:

Fragmentarea externă este un fenomen care apare atunci când memoria este împărțită în blocuri de dimensiuni variabile bazate pe mărimea diferitelor procese.

  1. Soluţie

Fragmentarea internă:

Fragmentarea internă este un fenomen natural care poate fi eliminat prin alocarea dinamică a memoriei, care este de a aloca dinamic porțiuni de blocuri de memorie proceselor la cererea lor și de a le elibera atunci când acestea nu mai sunt necesare în timpul executării unui program.

Fragmentarea externă:

Fragmentarea externă, pe de altă parte, poate fi eliminată prin compactare, paging și segmentare, astfel încât memoria să poată fi alocată unui proces într-o manieră neconsolidată.

Fragmentare internă vs. externă: Graficul comparației

Rezumat al fragmentării interne și externe

Atât fragmentarea internă, cât și cea externă sunt fenomene naturale legate de spațiul de memorie neutilizat sau de pierderea memoriei. Fragmentarea internă suferă de alocarea ineficientă a memoriei care apare atunci când memoria alocată unui proces este mai mult decât cea solicitată, lăsând spațiul neutilizat în blocul de memorie generând eventual fragmentarea internă. După ce procesul este eliminat din memoria fizică, spațiul liber devine distribuit aici și acolo și nu pot fi găsite blocuri de memorie adiacente, cauzând fragmentarea externă. Cu toate acestea, ambele fenomene pot fi evitate. Fragmentarea internă poate fi redusă prin alocarea dinamică a memoriei proceselor, în timp ce fragmentarea externă poate fi evitată cel mai bine prin compactare, paginare și segmentare.