Ieteicams, 2020

Redaktora Izvēle

Starpība starp iekšējo un ārējo fragmentāciju

Kad process tiek ielādēts vai noņemts no fiziskās atmiņas bloka, tas rada nelielu caurumu atmiņas telpā, ko sauc par fragmentu. Sadrumstalotības dēļ sistēma nespēj sadalīt blakus esošo atmiņas vietu procesam, pat ja tai ir pieprasītais atmiņas apjoms, bet nesaistošā veidā. Sadrumstalotība tiek iedalīta divās kategorijās: Iekšējā un ārējā sadrumstalotība.

Gan iekšējā, gan ārējā klasifikācija ietekmē sistēmas piekļuves ātrumu. Viņiem ir būtiska atšķirība starp tām, ti, Iekšējā fragmentācija notiek, ja procesam tiek piešķirti fiksēti lieluma atmiņas bloki, neņemot vērā procesa lielumu, un Ārējā fragmentācija notiek, kad procesi tiek dinamiski sadalīti atmiņā. Pārvietosimies tālāk un apspriedīsim atšķirības, iemeslus, risinājumus aiz iekšējās un ārējās sadrumstalotības, izmantojot zemāk redzamo salīdzinājumu tabulu.

Salīdzinājuma diagramma

Salīdzinājuma pamatsIekšējā sadrumstalotībaĀrējā sadrumstalotība
PamataTas notiek, kad procesiem tiek piešķirti fiksēti lieluma atmiņas bloki.Tas notiek, kad mainīgā lieluma atmiņas vieta tiek dinamiski sadalīta procesiem.
NotikumsJa procesam piešķirtā atmiņa ir nedaudz lielāka par procesa pieprasīto atmiņu, piešķirtajā blokā rodas brīva vieta, kas izraisa iekšēju fragmentāciju.Kad process tiek izņemts no atmiņas, tas rada brīvo vietu atmiņā, radot ārēju fragmentāciju.
RisinājumsAtmiņa jāiedala dažāda lieluma blokos un piešķir šim procesam vislabāko derīgo bloku.Blīvēšana, peidžošana un segmentācija.

Iekšējās sadrumstalotības definīcija

Iekšējā fragmentācija notiek, ja atmiņa ir sadalīta fiksēta izmēra blokos . Ikreiz, kad process pieprasa atmiņu, šim procesam tiek piešķirts fiksēta lieluma bloks. Ja procesam piešķirtā atmiņa ir nedaudz lielāka nekā pieprasītā atmiņa, tad starpība starp piešķirto un pieprasīto atmiņu ir Iekšējā fragmentācija .

Šo atlikušo vietu fiksētā izmēra blokā nevar piešķirt nevienam procesam, jo ​​tas nebūtu pietiekams, lai apmierinātu atmiņas pieprasījumu. Sapratīsim iekšējo fragmentāciju, izmantojot piemēru. Atmiņas telpa ir sadalīta fiksēta izmēra blokos ar 18, 464 baitiem. Pieņemsim, ka šim procesam tiek piešķirts process 18, 460 baitu un 18, 464 baitu sadalītā fiksētā izmēra blokam. Rezultāts ir 4 baiti 18, 464 baiti palika tukši, kas ir iekšējā fragmentācija.

Iekšējās caurumu radītās iekšējās caurumu sekošanas virsplāna ir ievērojami lielāka nekā iekšējo caurumu skaits. Iekšējās fragmentācijas problēmu var atrisināt, sadalot atmiņu mainīgā lieluma blokā un piešķirot vislielākā izmēra bloku procesam, kas pieprasa atmiņu. Tomēr tas pilnībā neatrisinās iekšējās sadrumstalotības problēmu, bet zināmā mērā to samazinās.

Ārējās sadrumstalotības definīcija

Ārējā fragmentācija notiek, ja atmiņā ir pietiekami daudz vietas, lai apmierinātu procesa atmiņas pieprasījumu. Taču procesa atmiņas pieprasījums nevar būt apmierināts, jo pieejamā atmiņa ir nesaskaņotā veidā. Vai nu jūs izmantojat vispiemērotāko vai vispiemērotāko atmiņas piešķiršanas stratēģiju, kas izraisa ārēju fragmentāciju.

Kad process tiek ielādēts un noņemts no atmiņas, brīvā telpa rada vietu atmiņas telpā, un atmiņas telpā ir daudz šādu caurumu, to sauc par Ārējo fragmentāciju. Lai gan pirmais piemērs un labākā piemērotība var ietekmēt ārējās sadrumstalotības apjomu, to nevar pilnībā novērst. Sablīvēšanās var būt risinājums ārējai fragmentācijai.

Blīvēšanas algoritms visu atmiņas saturu sajauc vienā pusē un atbrīvo vienu lielu atmiņas bloku. Bet blīvēšanas algoritms ir dārgs. Pastāv alternatīvs risinājums, lai atrisinātu ārējo sadrumstalotības problēmu, kas ļaus procesam iegūt fizisku atmiņu nesaistošā veidā. Šīs risinājuma sasniegšanas metodes ir peidžošana un segmentācija.

Galvenās atšķirības starp iekšējo un ārējo fragmentāciju

  1. Galvenais iekšējās un ārējās fragmentācijas iemesls ir tas, ka iekšējā fragmentācija notiek, kad atmiņa tiek sadalīta fiksēta izmēra blokos, bet ārējā fragmentācija notiek, kad atmiņa ir sadalīta mainīgā lieluma blokos .
  2. Kad procesam piešķirtais atmiņas bloks iznāk nedaudz lielāks nekā pieprasītā atmiņa, tad brīvajā telpā, kas paliek atvēlētajā atmiņas blokā, rodas iekšēja fragmentācija. No otras puses, kad process tiek izņemts no atmiņas, tas rada brīvu telpu, kas rada caurumu atmiņā, ko sauc par ārējo fragmentāciju.
  3. Iekšējās sadrumstalotības problēmu var atrisināt, sadalot atmiņu mainīgā lieluma blokos un piešķirot pieprasījumam atbilstošāko bloku. Tomēr risinājums ārējai sadrumstalotībai ir saspiešana, bet tas ir dārgi īstenot, tāpēc procesiem ir jāļauj iegūt fizisku atmiņu nekonsekventā veidā, lai to panāktu, tiek ieviesta meklēšanas un segmentācijas tehnika.

Secinājums:

Iekšējās fragmentācijas problēmu var samazināt, taču to nevar pilnībā novērst. Lappušu meklēšana un segmentācija palīdz izmantot atbrīvoto telpu ārējās fragmentācijas dēļ, ļaujot procesam aizņemt atmiņu nesaskaņotā veidā.

Top