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.



esmaspäev, 5. jaanuar 2015

Ressursijaotus











http://www.tutorialspoint.com/operating_system/os_process_scheduling.htm

Ressursijaotus- operatsioonisüsteemi poolt hallatav arvuti riistvaraliste ressursside optimaalne jaotamine protsesside vahel.
Plaanur- OS osa mille ülesandeks on jaotada protsessori koormust protsesside vahel võimalikult võrdselt ning optimaalselt.
Eriseisundilised protsessi mudelid.
Kaheseisundilised - running/not running
Sõltuvad tüübist, mis omakorda sõltuvad protsessori keerukusest.
Plaanureid liigitatakse - pikaajaline, lühiajalene, keskmise kestvusega.
Windowsil pikaajalist plaanurit ei ole.
Sõltub OS tüübist millist plaanurit kasutab.
Pikaajalist plaanurit kasutatakse strateegiliste protsessidega. Võimaldavad tasakaalustatud tööde realiseerimist. Võimaldab erinevaid töid kõige mõistlikumalt töödelda.
Lühiajaline plaanur ehk protsessori plaanur - CPU planner. Ülesanne suurendada süsteemi läbilaskvust. Teastada töid võimalikult kiiresti. 
Keskmine plaanur.
Swap out tähendab, et mõned osad on tõstetud mälust välja. Vähendab protsesside arvu töötlemisel, et saaks kiiremini töödelda.
Eesti keeles swapping - saalimine



Pikaajalisel on väiksem kiirus, lühiajalisel kõige suurem.
Pikaajalisel võimaldab mitmete programmide kasutamist, lühiajaline vähem. Keskmine võimaldab vähendada kasutada programmide kasutamist.
Ajajaoutus süsteemides
Pikaajalisel puudub või vähe kasutusel
Lühiajaline - minimaalselt kasutuseel
Keskpikkplaanur ajajaoutussüsteemidel kasutatav
 
Konteksti vahetus. 
Seotud järjekordade vahelise liikumisega 
Contekst switch täitmisel oleva protsessi lõpetamine kuni tema uuesti väljakutsumiseni.
st. kutsume eirnevaid protsessiblokke. vt protsessi katkestussignaale
 
Kui protsess katksetati, siis signaalid salvestati info PCB-sse, teise protsessi andmed kutsutakse protsessori registritesse ning saab täita teist protsessi. See siis salvestatakse ning minnakse järgmise protsessi juurde või võetakse eelmine protsess ette.
Sisuvahetusega kaasneb aeg, kus protsess täitmisel ei ole -idle. See on ajakadu. Kui teeme tihedaid sisuvahetusi - me raiskame aega.
OS plaanur peab olema nii kirjutatud, et arvuti töötlusvõime oleks suurem, st. sisuvahetusi ei peaks nii palju tegema. 
Procram counter - peab arvet kus kohas mul käsklus pooleli.
 Protsessoris peab olema. 
State - seisund
I/O näitab riistvara seisundeid
Accounting - näitab protsessori tootlust, aega mis kulub plaanuril erinevate tööde tegemisel.