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.
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.
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:
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> =m,>
Č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.
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.