Atšķirība starp iekšējo un ārējo sadrumstalotību

Iekšējā vs ārējā sadrumstalotība
 

Atšķirība starp iekšējo un ārējo sadrumstalotību ir temats, kas interesē daudzus, kuriem patīk uzlabot zināšanas par datoru. Pirms zināt šo atšķirību, mums jāredz, kas ir sadrumstalotība. Sadrumstalotība ir parādība, kas rodas datora atmiņā, piemēram, brīvpiekļuves atmiņā (RAM) vai cietajos diskos, un tas rada brīvas vietas nelietderīgu izmantošanu un neefektīvu izmantošanu. Kaut arī tiek kavēta efektīva pieejamās vietas izmantošana, tas rada arī veiktspējas problēmas. Iekšējā sadrumstalotība notiek, ja atmiņas iedalīšana balstās uz fiksēta lieluma nodalījumiem, kur pēc maza izmēra lietojumprogrammas piešķiršanas slotā tiek iztērēta šī slota atlikušā brīvā vieta. Ārēja sadrumstalotība notiek, kad atmiņa tiek dinamiski iedalīta, kur pēc vairāku laika nišu iekraušanas un izkraušanas šeit un tur brīvā telpa tiek sadalīta, nevis ir blakus.

Kas ir iekšējā sadrumstalotība?

Apsveriet iepriekš redzamo attēlu, kur tiek ievērots fiksēta lieluma atmiņas piešķiršanas mehānisms. Sākumā atmiņa ir tukša, un sadalītājs ir sadalījis atmiņu fiksēta lieluma nodalījumos. Pēc tam trīs programmas ar nosaukumu A, B, C tika ielādētas pirmajos trīs nodalījumos, kamēr 4. nodalījums joprojām ir brīvs. Programma A atbilst nodalījuma lielumam, tāpēc šajā nodalījumā nav jātērē, bet programma B un programma C ir mazāka par nodalījuma lielumu. Tātad daļēji 2. un 3. nodalījumā paliek brīva vieta. Tomēr šī brīvā telpa nav izmantojama, jo atmiņas sadalītājs programmām piešķir tikai pilnus nodalījumus, bet ne tās daļas. Šo brīvās vietas izšķērdēšanu sauc par iekšēju sadrumstalotību.

Iepriekš minētajā piemērā tas ir vienāda lieluma fiksētas starpsienas, bet tas var notikt pat situācijā, kad ir pieejami dažādu fiksētu izmēru starpsienas. Parasti atmiņa vai vissmagākā telpa tiek sadalīta blokos, kuru lielums parasti ir 2, piemēram, 2, 4, 8, 16 baiti. Tātad programma vai 3 baitu fails tiks piešķirts 4 baitu blokam, bet viens šī bloka baits kļūs nelietojams, izraisot iekšēju sadrumstalotību.

Kas ir ārējā sadrumstalotība?

Apsveriet iepriekš redzamo attēlu, kur atmiņas sadalīšana tiek veikta dinamiski. Dinamiskajā atmiņas sadalījumā sadalītājs piešķir šai programmai tikai precīzu nepieciešamo izmēru. Pirmā atmiņa ir pilnīgi brīva. Pēc tam dažāda lieluma programmas A, B, C, D un E tiek ielādētas viena pēc otras, un tās tiek kārtotas secīgi atmiņā. Pēc tam programma A un programma C tiek aizvērta, un tie tiek izkrauti no atmiņas. Tagad atmiņā ir trīs brīvas vietas laukumi, taču tie neatrodas blakus. Tagad tiks ielādēta liela programma ar nosaukumu Program F, taču nevienai no brīvas vietas blokiem nepietiek ar programmu F. Programmai F noteikti pietiek ar visām brīvajām vietām, taču, tā kā trūkst tuvuma, šī telpa ir pietiekama. nav izmantojams programmai F. To sauc par ārēju sadrumstalotību.

Kāda ir atšķirība starp iekšējo un ārējo sadrumstalotību?

• Iekšēja sadrumstalotība rodas, ja tiek izmantota fiksēta lieluma atmiņas piešķiršanas tehnika. Ārēja sadrumstalotība notiek, ja tiek izmantota dinamiskās atmiņas piešķiršanas tehnika.

• Iekšēja sadrumstalotība notiek, ja fiksēta lieluma nodalījums tiek piešķirts programmai / failam ar mazāku izmēru nekā nodalījums, padarot pārējo šajā nodalījumā ietilpstošo vietu nelietojamu. Ārējā sadrumstalotība notiek tāpēc, ka pēc programmu vai failu iekraušanas un izkraušanas kādu laiku nav pietiekami daudz blakus esošās vietas, jo tad visa brīvā vieta tiek sadalīta šeit un tur.

• Ārējo sadrumstalotību var samazināt, sablīvējot, ja piešķirtie bloki tiek pārvietoti uz vienu pusi, lai iegūtu blakus vietu. Tomēr šai operācijai ir nepieciešams laiks, un arī noteiktas kritiski piešķirtas zonas, piemēram, sistēmas pakalpojumus, nevar droši pārvietot. Mēs varam novērot šo blīvēšanas soli, kas veikts cietajos diskos, palaižot diska defragmentētāju sistēmā Windows.

• Ārēju sadrumstalotību var novērst ar tādiem mehānismiem kā segmentēšana un peidžeri. Šeit tiek piešķirta loģiska blakus esošā virtuālās atmiņas telpa, kamēr patiesībā faili / programmas tiek sadalīti daļās un izvietoti šeit un tur.

• Iekšējo sadrumstalotību var mazināt, ja ir vairāku izmēru nodalījumi un programma tiek piešķirta, ņemot vērā vispiemērotāko. Tomēr joprojām iekšējā sadrumstalotība nav pilnībā novērsta.

Kopsavilkums:

Iekšējā vs ārējā sadrumstalotība

Gan iekšējā sadrumstalotība, gan ārējā sadrumstalotība ir parādības, kurās atmiņa tiek izšķiesta. Iekšējā fragmentācija notiek fiksēta lieluma atmiņas sadalījumā, savukārt ārējā fragmentācija notiek dinamiskā atmiņas sadalījumā. Kad piešķirto nodalījumu aizņem programma, kas ir mazāka par nodalījumu, atlikušā vieta tiek izšķiesta, izraisot iekšēju sadrumstalotību. Kad pēc programmu iekraušanas un izkraušanas nevar atrast pietiekami daudz blakus esošās vietas, ņemot vērā faktu, ka brīvā telpa tiek sadalīta šeit un tur, tas izraisa ārēju sadrumstalotību. Sadrumstalotība var notikt jebkurā atmiņas ierīcē, piemēram, RAM, cietajā diskā un Flash diskdzinī.