esmaspäev, 26. jaanuar 2015

Mälu haldus

Mälu haldus.

Viis põhimõtet:

  1)Protsessi isoleerimine – protsessid peavad üksteisest olema eraldatud
  2)Automaatne mälu hõivamine ja haldus – kui sa klikid hiirega rakenduse peal, ei pea sa mõtlema, kuhu määlu ta läheb ja mida ta teeb
  3)Toetus modulaarsele süsteemile – kõikidel tänapäeva rakendustel on olemas modulaarne toetus
  4)Mälu kaitsmine ja juurdepääs – mälule juurdepääs peaks olema ainult neile, kellel peaks sinna ligipääs olema, teisi sisse ei lasta
  5)Pikaajaline hoidmine/talletamine – kui näiteks vahepeal arvuti välja lülitada või päev otsa tööl hoida

Programmid peaksid olema toodud mällu ja peaksid olema seotud mäluga, milles nad on.
Protsessor saab kasutada ainult peamälu (RAM) ja protsessori enda registrit (vahemälu/cache).
Registrite poole pöördumiseks läheb aega 1 protsessori takt. RAMi poole pöördumine on aeglane.
Vahemälu paikneb peamälu ja protsessori vahel (vahendab).
Mälu kaitsemehhanisme on vaja rakendada, et tagada tehete õigsust ja tehingute korrektsust.

Frame ehk kaader – kindla pikkusega RAMi plokk
Page ehk lehekülg – kindla pikkusega andmeplokk, mis paikneb sekundaarmälus ehk kettal; võib ajutiselt kopeerida kaadrisse
Segment – muutuva pikkusega andmeplokk, mis paikneb sekundaarmälus

Virtuaalmälu

Kettal paiknev puhvermälu. Windowsis “page file”, Linuxis “swap” ehk saaleala. Tavaliselt 1.5x RAMi suurusest
Mäluhaldus on tehtud nii, et mälu saaks rahuldada järgnevaid mehaanisme:
   Relocation – mälus ümberpaigutamine – swapi liigutamine ehk saalimine
   Protection – mälu kaitsmine
   Sharing – mälu jagamine
   Loogiline mälu organiseerimine
   Füüsiline mälu organiseerimine Kui mälu pole PCBs, siis ta pole otseselt täitmisel ja selle võib saalida.
  


  Memory partitioning- Mälu jaotamine

Mälu jaotuste tekitamine on seotud protsessi toomise põhimällu, et protsessor saaks selle käivitada. Tänapäeval mälu jaotiste kasutamine väiksem.

Mälu halduse tehnikad

  1) Kindla suurusega- Peamälu jaotatakse kindla suurusega tükkideks. Kerge, nõuab OSilt vähe tööd
  2) Dünaamiline- Peamälu jaotatakse dünaamilisteks tükkideks mille suurused võivad erinevad olla. Ei ole välist killustatust.
  3) Lihtne lehekülg- Pea lehekülg jaotatakse võrdsete suurustega kaadriteks. Ei ole välist killustatust
  4) Lihtne segmentimine- Iga protsess jaotatakse mitmeteks segmentiteks. Ei ole välist killustatust.
  5) Virtuaal mälu lehekülgedeks tükeldamine- Sama lihtsa leheküljega, välja arvatud see, et kõiki tükke pole vaja laadida. Ei ole välist killustatust.
  6) Virtuaalse mälu segmentimine-  Sama lihtsa segmentimisega, v.a see, et pole vaja laadida protsessi kõik segmendid. Ei ole välist killustatust

















Puudused

* Programm võib olla liiga suur, et mahtuda
* Peamälu kasutus ebaeffektiivne
*Iga programm, ükskõik mis suurus, võib võtta ära terve jaotise




Uute protsesside jaotamine:

http://image.slidesharecdn.com/module4mmu-140123032511-phpapp01/95/module-5-memory-management-unit-2014-19-638.jpg?cb=1390469405

Puudused

* Väikesed tööd ei kasuta ettenähtud suurust ära effektiivselt.


Dünaamile jaotuse effektid:
http://undergraduate.csse.uwa.edu.au/units/CITS2002/lectures/lecture14/images/f7.04.png
Dünaamile puhul on välimine killustamine. Aja möödudes  tekib auke juurde, mälu kasutus väheneb. Algab pakkimine mida kasutatakse välimise killustamise vähendamiseks. OS nihutab protsesse nii et nad oleksid üksteise järgi. Vaba mälu on koos ühes plokis. Võtab kaua aega ja raiskab CPU aega.



Kommentaare ei ole:

Postita kommentaar