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

Failu sistēmas kontekstā sadrumstalotība ir neefektīva atmiņas vietas izmantošana, lai viena faila saturu glabātu dažādās diska vietās, nevis vienā bitu secīgā bitu secībā vienā vietā. Sadrumstalotība ir dabiska parādība, kas notiek fiziski cietajā diskā vai dažreiz atmiņas modulī, kad dati nav pietiekami precīzi ierakstīti diskdzinī..

Dati dažreiz tiek izrakstīti nepareizi, tas nozīmē, ka faili bieži tiek izmantoti, tāpēc diskdzinī dati netiek izvietoti viens otram blakus. Šie dati tiek saukti par fragmentiem. Kādā brīdī operētājsistēmai vajadzētu piekļūt failu sistēmai, lai atrastu, kur diskā atrodas dažādi fragmenti.

Piemēram, kad izveidojat jaunu dokumentu, teiksim vārdu failu; šķiet, ka fails atrodas vienā vietā. Jūs varat atvērt failu, rediģēt to vai izdzēst to - visu, ko vēlaties. Liekas, ka visas aktivitātes notiek fiziski braucot, vismaz tas ir tas, ko jūs domājat.

Iespējams, ka cietais disks vienā ierīces apgabalā ietaupa failu fragmentus, bet pārējais tas burtiski pastāv kaut kur citur atmiņas ierīcē. Vienkārši izsakoties, sadrumstalotība attiecas uz nelietderīgi uzglabātu vietu failu sistēmā, kas ļauj izveidot plaisu starp dažādām faila daļām.

Sadrumstalotība galvenokārt notiek dinamiskās atmiņas piešķiršanas sistēmā, jo tā rezervēja failam pārāk daudz vietas, kā rezultātā ap to bija atvērtas vietas.

Kas ir iekšējā sadrumstalotība?

Tas kaut kā attiecas uz fiksēta lieluma sadalīšanu. Sistēma piešķir atmiņu dažādām programmām un procesiem, sadalot tos mazos blokos, kā to pieprasa programma. Tomēr dažreiz tiek atvēlēts vairāk atmiņas, nekā vajadzīgs procesam, kā rezultātā atmiņas pārpalikums tiek zaudēts vai tiek atstāts neizmantots.

Piemēram, atmiņu programmām var iedalīt tikai blokos, kas dalās ar 4, 8 vai 16. Kad process pieprasa 24 baitus, tas parasti iegūst 32 baitu bloku, 8 baitu pārpalikums netiek izmantots. Tādējādi neizmantotā atmiņa atrodas noteiktā atvēlētajā vietā, un tā ir tik maza, ka tai nevar piešķirt jaunu procesu, kā rezultātā rodas atkritumi. Šie atkritumi tiek saukti par iekšēju sadrumstalotību. Droši vien vienīgais veids, kā noņemt šāda veida sadrumstalotību, ir dinamiska atmiņas sadale.

Kas ir ārējā sadrumstalotība?

Galvenā atmiņa veido caurumus starp piešķirtās atmiņas daļām, kas ir par mazu, lai noturētu jebkuru procesu. Tas ir krātuves piešķiršanas algoritmu mīnuss, kad blakus esošie neizmantoto vietu bloki nevar apkalpot jaunu pieprasījumu, jo atstarpes ir pārāk mazas lielām atmiņas lietojumprogrammu vajadzībām. Vienkārši izsakoties, blakus esošie bloki rada caurumus atmiņā, kā rezultātā neizmantota krātuve atrodas ārpus piešķirtajiem reģioniem, kas nozīmē, ka to nevar izmantot kopā ar galveno atmiņu lielākiem atmiņas uzdevumiem. Viņi galu galā ir izolēti, un tos nevar pilnībā izslēgt no atmiņas vietas. To sauc par ārēju sadrumstalotību. To var noņemt, sablīvējot, lai atmiņas saturs tiktu sajaukts, lai visu brīvo atmiņu saliktu kopā.

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

  1. Pamati

Iekšējā sadrumstalotība:

Iekšējā sadrumstalotība attiecas uz papildu vietām, kuras tiek izšķērdētas, ja procesam tiek atvēlēta vairāk atmiņas, nekā nepieciešams. Tas parasti rodas, kad programmām vai procesiem tiek piešķirti fiksēta lieluma atmiņas bloki.

Ārējā sadrumstalotība:

Ārējā sadrumstalotība, gluži pretēji, attiecas uz neizmantotajām vietām, kas veidojas starp blakus esošajiem atmiņas blokiem, kas nav blakus viens otram.

  1. Notikums

Iekšējā sadrumstalotība:

Brīvo vietu, kas veidojas piešķirtajā atmiņas blokā, kad procesam atvēlētā atmiņa ir lielāka par procesa pieprasīto atmiņu, sauc par iekšēju sadrumstalotību. “Iekšējais” attiecas uz neizmantotajiem baitiem, kas atrodas lielākos atmiņas blokos.

Ārējā sadrumstalotība:

Kad galvenā atmiņa veido caurumus, kas ir pārāk mazi, lai apmierinātu jebkuru pieprasījumu, to sauc par ārēju sadrumstalotību.

  1. Iemesls

Iekšējā sadrumstalotība:

Galvenais iekšējās sadrumstalotības iemesls ir atmiņas sadalīšana fiksēta lieluma blokos .

Ārējā sadrumstalotība:

Ārējā sadrumstalotība ir parādība, kas rodas, atmiņu sadalot mainīga lieluma blokos, pamatojoties uz dažādu procesu lielumu.

  1. Risinājums

Iekšējā sadrumstalotība:

Iekšējā sadrumstalotība ir dabiska parādība, ko var novērst, izmantojot dinamisku atmiņas sadalījumu, proti, dinamiski sadalīt atmiņas bloku daļas procesiem pēc viņu pieprasījuma un atbrīvot to, kad tie programmas izpildes laikā vairs nav nepieciešami..

Ārējā sadrumstalotība:

No otras puses, ārējo sadrumstalotību var novērst ar sablīvēšanu, peidžēšanu un segmentēšanu, lai atmiņu procesam varētu iedalīt blakus esošajā veidā..

Iekšējā un ārējā sadrumstalotība: salīdzināšanas tabula

Iekšējās un ārējās sadrumstalotības kopsavilkums

Gan iekšējā, gan ārējā sadrumstalotība ir dabas parādības, kas saistītas ar neizmantoto atmiņas vietu vai atmiņas izšķērdēšanu. Iekšējā sadrumstalotība cieš no neefektīvas atmiņas iedalīšanas, kas rodas, ja procesam atvēlētā atmiņa ir lielāka nekā prasītā, atstājot neizmantotu vietu atmiņas blokā, galu galā izraisot iekšēju sadrumstalotību. Pēc procesa noņemšanas no fiziskās atmiņas brīvā vieta tiek sadalīta šeit un tur, un blakus esošos atmiņas blokus nevar atrast, izraisot ārēju sadrumstalotību. Tomēr no abām parādībām var izvairīties. Iekšējo sadrumstalotību var samazināt, dinamiski atvēlot procesiem atmiņu, savukārt ārējo sadrumstalotību vislabāk var novērst, sablīvējot, lapojot un segmentējot..