logo

Kaj je Thrash?

V računalništvu, mlatiti je slabo delovanje sistema navideznega pomnilnika (ali ostranjenja), ko se iste strani večkrat nalagajo zaradi pomanjkanja glavnega pomnilnika, ki bi jih ohranil v pomnilniku. Odvisno od konfiguracije in algoritma se lahko dejanska prepustnost sistema zmanjša za več velikosti.

V računalništvu, mlatenje se zgodi, ko so viri navideznega pomnilnika računalnika prekomerno uporabljeni, kar vodi do stalnega stanja ostranjenja in napak strani, kar zavira večino obdelav na ravni aplikacije. Povzroča poslabšanje ali zlom delovanja računalnika. Situacija se lahko nadaljuje v nedogled, dokler uporabnik ne zapre nekaterih delujočih aplikacij ali pa aktivni procesi ne sprostijo dodatnih virov navideznega pomnilnika.

Da bi bolje vedeli o prebijanju, moramo najprej vedeti o napaki strani in zamenjavi.

    Napaka strani:Vemo, da je vsak program razdeljen na nekaj strani. Napaka strani se pojavi, ko poskuša program dostopati do podatkov ali kode v svojem naslovnem prostoru, vendar se trenutno ne nahaja v sistemskem RAM-u.Zamenjava:Kadarkoli pride do napake strani, bo operacijski sistem poskušal pridobiti to stran iz sekundarnega pomnilnika in jo poskusiti zamenjati z eno od strani v RAM-u. Ta proces se imenuje zamenjava.

Mlatenje je, ko se napaka strani in zamenjava zgodita zelo pogosto z višjo stopnjo, nato pa mora operacijski sistem porabiti več časa za zamenjavo teh strani. To stanje v operacijskem sistemu je znano kot tresenje. Zaradi tresenja bo izkoriščenost procesorja zmanjšana ali zanemarljiva.

Kaj je Thrash

Osnovni vključeni koncept je, da če je procesu dodeljenih premalo okvirjev, bo prišlo do preveč in prepogostih napak strani. Posledično CPE ne bi opravil nobenega dragocenega dela, izkoriščenost CPE pa bi drastično padla.

Dolgoročni razporejevalnik bi nato poskušal izboljšati izkoriščenost procesorja tako, da bi v pomnilnik naložil nekaj več procesov, s čimer bi povečal stopnjo multiprogramiranja. Na žalost bi to povzročilo nadaljnje zmanjšanje izkoriščenosti procesorja, kar bi sprožilo verižno reakcijo večjih napak strani, ki bi ji sledilo povečanje stopnje večprogramiranja, imenovano tresenje.

Algoritmi med trešenjem

Kadarkoli se začne razbijanje, operacijski sistem poskuša uporabiti algoritem za zamenjavo globalne strani ali algoritem za zamenjavo lokalne strani.

1. Globalna zamenjava strani

Ker lahko globalna zamenjava strani prinese katero koli stran, poskuša prinesti več strani vsakič, ko najde razbijanje. Toda dejansko se bo zgodilo, da noben proces ne bo dobil dovolj okvirjev, posledično pa se bo razbijanje vedno več povečevalo. Zato algoritem za globalno zamenjavo strani ni primeren, ko pride do tresenja.

2. Zamenjava lokalne strani

Za razliko od algoritma za globalno zamenjavo strani bo zamenjava lokalne strani izbrala strani, ki pripadajo samo temu procesu. Torej obstaja možnost, da zmanjšate udarce. Toda dokazano je veliko slabosti, če uporabljamo zamenjavo lokalne strani. Zato je zamenjava lokalne strani le alternativa zamenjavi globalne strani v scenariju razbijanja.

Vzroki za nastanek

Programi ali delovne obremenitve lahko povzročijo prekinitev, kar povzroči resne težave pri delovanju, kot so:

  • Če je izkoriščenost procesorja prenizka, povečamo stopnjo multiprogramiranja z uvedbo novega sistema. Uporablja se globalni algoritem zamenjave strani. Razporejevalnik CPE opazi padajočo izkoriščenost CPE in poveča stopnjo večprogramiranja.
  • Izkoriščenost procesorja je prikazana glede na stopnjo večprogramiranja.
  • Z večanjem stopnje multiprogramiranja se povečuje tudi izkoriščenost procesorja.
  • Če se stopnja multiprogramiranja še poveča, nastopi tresenje in izkoriščenost procesorja močno upade.
  • Torej, na tej točki moramo zmanjšati stopnjo multiprogramiranja, če želimo povečati izkoriščenost CPE-ja in ustaviti prebijanje.

Kako odpraviti tresenje

Prebijanje ima nekaj negativnih vplivov na zdravje trdega diska in delovanje sistema. Zato je treba sprejeti nekaj ukrepov, da bi se temu izognili. Za rešitev težave z udarci so tukaj naslednje metode, kot so:

    Prilagodite velikost izmenjalne datoteke:Če sistemska izmenjalna datoteka ni pravilno konfigurirana, se vam lahko zgodi tudi razbijanje diska.Povečajte količino RAM-a:Ker lahko premalo pomnilnika povzroči razbijanje diska, je ena od rešitev, da prenosniku dodate več RAM-a. Z več pomnilnika lahko vaš računalnik enostavno opravlja naloge in mu ni treba pretirano delati. Na splošno je najboljša dolgoročna rešitev.Zmanjšajte število aplikacij, ki se izvajajo v računalniku:Če se v ozadju izvaja preveč aplikacij, bo vaš sistemski vir porabil veliko. In preostali sistemski vir je počasen, kar lahko povzroči prekinitev. Zato bodo nekatere aplikacije med zapiranjem sprostile nekaj virov, tako da se lahko do neke mere izognete udarcem.Zamenjajte programe:Zamenjajte tiste programe, ki zasedajo veliko pomnilnika, z enakovrednimi, ki uporabljajo manj pomnilnika.

Tehnike za preprečevanje trčenja

Zamenjava lokalne strani je boljša od zamenjave globalne strani, vendar ima zamenjava lokalne strani številne pomanjkljivosti, zato včasih ni v pomoč. Zato je spodaj nekaj drugih tehnik, ki se uporabljajo za ravnanje z udarci:

1. Lokalni model

Kraj je niz strani, ki se aktivno uporabljajo skupaj. Lokalni model navaja, da se proces, ko se izvaja, premika iz enega kraja v drugega. Tako je program na splošno sestavljen iz več različnih krajev, ki se lahko prekrivajo.

Na primer, ko je funkcija poklicana, definira novo lokacijo, kjer se pomnilnik sklicuje na navodila za klic funkcije, lokalne in globalne spremenljivke itd. Podobno, ko je funkcija zapuščena, proces zapusti to lokacijo.

2. Model delovnega niza

Ta model temelji na zgoraj navedenem konceptu modela krajev.

Osnovno načelo pravi, da če procesu dodelimo dovolj okvirjev, da se prilagodi njegovi trenutni lokaciji, bo prišlo do napake le, ko se premakne na neko novo lokacijo. Če pa so dodeljeni okvirji manjši od velikosti trenutne lokacije, bo postopek zagotovo neuspešen.

V skladu s tem modelom je na podlagi parametra A delovni niz definiran kot niz strani v zadnjih referencah strani 'A'. Zato bi bile vse aktivno uporabljene strani vedno del delovnega niza.

prelivanje besed css

Natančnost delovnega niza je odvisna od vrednosti parametra A. Če je A prevelik, se lahko delovni nizi prekrivajo. Po drugi strani pa pri manjših vrednostih A lokaliteta morda ne bo v celoti pokrita.

Če je D skupno povpraševanje po okvirjih in WSSjazje velikost delovnega niza za proces i,

D = ⅀ WSSjaz

Zdaj, če je 'm' število okvirjev, ki so na voljo v pomnilniku, obstajata dve možnosti:

  • D>m, tj. skupno povpraševanje presega število okvirjev, potem bo prišlo do razbijanja, ker nekateri procesi ne bodo dobili dovolj okvirjev.
  • D<=m, then there would be no thrashing.< li>

Če je dovolj dodatnih okvirjev, se lahko v pomnilnik naloži še nekaj procesov. Po drugi strani pa, če vsota velikosti delovnega niza preseže razpoložljivost okvirjev, je treba nekatere procese začasno ustaviti (zamenjati iz pomnilnika).

Ta tehnika preprečuje razbijanje in zagotavlja najvišjo možno stopnjo multiprogramiranja. Tako optimizira izkoriščenost procesorja.

3. Pogostost napak strani

Bolj neposreden pristop za obravnavo tresenja je tisti, ki uporablja koncept Page-Fault Frequency.

Kaj je Thrash

Težava, povezana z razbijanjem, je visoka stopnja napak strani, zato je tukaj koncept nadzor nad stopnjo napak strani.

Če je stopnja napak strani previsoka, to pomeni, da ima proces premalo dodeljenih okvirjev. Ravno nasprotno, nizka stopnja napak na strani kaže, da ima proces preveč okvirjev.

Zgornjo in spodnjo mejo lahko določite za želeno stopnjo napak strani, kot je prikazano na diagramu.

Če stopnja napak strani pade pod spodnjo mejo, se okvirji lahko odstranijo iz postopka. Podobno, če stopnja napak na strani preseže zgornjo mejo, se lahko procesu dodeli več okvirjev.

Z drugimi besedami, grafično stanje sistema mora biti omejeno na pravokotno območje, oblikovano v danem diagramu.

Če je stopnja napak strani visoka in ni prostih okvirjev, je mogoče nekatere procese začasno ustaviti in jih dodeliti drugim procesom. Prekinjeni procesi se lahko znova zaženejo pozneje.