Vaata kindlasti:
* www.youtube.com/watch?v=qdkxXygc3rE
* https://www.youtube.com/playlist?list=PLmbPuZ0NsyGS8ef6zaHd2qYylzsHxL63x
VIIS PÕHIMÕTET :
1. Protsessori isoleerimine - protsessid peavad üksteisest olema eraldatud.2. Automaatne mälu hõivamine ja mälu haldus - näiteks klikid hiirega mingi rakenduse peal, rakendus läheb ise tööle ja sa ei pea mõtlema, kuhu mällu see rakendus läheb ning mida ta täpselt teeb.
3. Toetus mudelaarsele programmi ülesehitusele - 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 olema õigus sinna ligipääseda, teisi sinna sisse ei lasta.
5. Pikaajaline hoidmine ehk talletamine - näiteks vahepeal arvuti välja lülitamine või päev otsa tööl hoidmine.
# Protsessid peaksid olema toodud mällu ja peaksid olema seotud selle mäluga, kus nad on.
# Protsessor saab kasutada ainult peamälu ehk RAM-i ja protsessori enda registrit ehk cache(vahemälu).
¤ Vahemälu paikneb peamälu ja protsessrit vahel. (on nn vahendaja rollis)
# Registrite poole pöördumiseks läheb aega 1 protsessori takt. RAM-i poole pöördumine on aeglane.
# Mälu kaitsemehhanimsme on vaja rakendada, et tagada tehete õigsust ja tehingute korrektsust.
Mäluhalduse mõisted :
¤ Mälu kaader - on kindala pikkusega RAM-i blokk ehk peamälu blokk.¤ Lehekülg - on kindla pikkusega andme blokk, mis paikneb sekuntaarmälus ehk kettal.
* Seda lehte saab/võib ajutiselt kopeerida kaadrisse.
¤ Segment - on muutuva pikkusega andmeblokk, mis paikneb sekuntaarmälus.
Virtuaal mälu - on kettal paiknev puhvermälu.
* Windowsil on ta nimega "page file"
* Linuxil on ta nimega "swap" (ehk saaleala)
**Tavaliselt on 1,5x RAMI-i suurusest.
# Mäluhaldus on tehtud nii, et mälu saaks rahuldada järgnevaid mehhanisme :
*Relocation - mälu ümberpaigutamine > swapi liigutamine ehk saalmine
*Protection - mälu kaitsmine
*Sharing - mälu jagamine
¤ Ühes mälupiirkonnas pole võimalik mitmel asjal korraga ringi liikuda.
*Loogiline mälu organiseerimine
* Füüsiline mälu organiseerimine
# Kui mälu pole PCB-s, siis ta pole otseselt täitmisel ja selle võib saalida.
# Loogiline mälu organiseerimine.
* Mälu on organiseeritud lineaarselt.
* Nendega on seotud laopitide süsteem.
* Programmid on kirjutatud moodulitele.
* Andmete jagamine moodulite tasemele vastab tavainimeste probleemide käsitlemisele.
# Füüsiline mälu organiseerimine
* Programmeerijale ei anta kohustust mälu hallata, tegelikult ei anta talle selleks võimalust.
* Vajalik mälu, mis on programmi ja tema andmete laadimiseks vajalik, ei pruugi olla alati olemas.
* Programmeerija ei tea, kui palju mälu vaja läheb.
* Mälu ülekattumine - ei ole piisavalt ruumi olukorrad, lubatakse mälu ülekattumist, üks moodul kirjutatakse teise peale, raiskab palju aega.
# Mälu jaotamine
* Mälujaotiste tekitamine on seotud protsessi peamälu täitmiseks.
¤ Sisaldab virtuaalmälu
¤ Põhineb segmentidel ja mälu lehekülgedel
* Kettajaotised
¤ Kasutatakse mõningate varemates operatsioonisüsteemideks.
¤ ei sisalda virtuaalmälu kaasamist.
# MÄLUHALDUS TEHNIKAD.
*Kindla suurustega jaotiste tegemine - peamälu jaotatakse kindla suurusega tükkideks.
¤ Seda on hästi kerge rakendada.
* Dünaamiline jaotiste loomine - peamälu jaotatakse dünaamiliselt tükkideks ehk vastavalt vajadusele tükkideks või blokkideks.
¤ Eesmärk on see, et iga protsess laadidakse sellisesse mälu tükki nagu protsess ise on ehk, siis tekitada vastavalt protsessi suurusele mälu tükk.
¤ Sisemist killustatust ei esine.
* Lihtsate lehekülgede moodustamine - peamälu jagatakse võrdse suurusega kaadriteks.
¤ Tükeldatakse mõistliku suurusega tükkideks ehk nii nagu vaja.
¤ Ei ole välist killustatust.
* Lihtsate segmentide tegemine - iga protsess jaotatakse teatud arvuks segmentideks.
¤ Tükeldada iga protsess mõislikeks suurusteks.
* Virtuaalmälu lehekülgede loomine - kõiki tükke pole vaja laadida
¤ Sarnane lihtsa lehekülje loomisega
* Virtuaal segmentide loomine - saab välja jätta need segmendid, mida kohe tarvis pole laadida.
¤ Sarnaneb lihtsa segmentide tegemisele
** Pakkimine - seda kasutatakse välisekillustuse vähendamiseks.
** Kõikide protsesside korral pole vaja kõike asju laadida ehk saame need hiljem kutsuda kui neid vaja on .
PUUDUSED :
* Mällu laaditav programm võib olla liiga suur seega tekib probleeme, et ta ära mahuks ja selle tulemusena tuleb programm üle programeerida.
* Peamälu võib olla ebaefektiivne, kui iga programm, sõltumata suurusest, võtab ära terve jaotise.
¤ Nt programm on 11 M ja jaotis on 8 M ehk võtan teise bloki appi ja seega jääb teisest blokist 5 M kasutamata = mälu võetakse rohkem, et olla kindel, et kõik ära mahub.
# Dünaamiline jaotamine.
* Jaotus erineva pikkusega, erinev arv
* Protsessidele antakse nii palju mälu, kui palju nad vajavad.
* Kasutatakse IMB suurarvutite operatsioonisüsteeme.
* Vaba ruumi otseselt nende vahel ei jää.
¤ Sisemist killustatust ei teki.
* Mälu kasutatakse vähemalt algul efektiivselt ära, hiljem tuleb otsida sobiva suurusega tükki või tõsta ringi, kui ruumi ei jätku.
* Välimine killustamine.
* Aja möödudes tekib neid auke sinna juurde, mälukasutus hakkab vähenema.
* Toimub pakkimine, kasutatakse välimise killustamise vähendamiseks.
* Operatsioonisüsteem nihutab neid protsesse, et need oleks üksteise järgi, kogu vaba ruum on nagu üks blokk.
* Selline tegevus nõuab palju aega.
# Mälupaigutse algoritmid - ehk mäluruumi hõivamise algoritmid.
* Parim paigutus - valitakse üks blokk, mis on kõige lähedasem soovitud suurusele.
* Esimene sobitus - krahmatakse esimese sobiva suurusega tükk.
* Järgmine paigutus - alustab skännimist viimase paigutuse asukohast ja valib suuruse poolest järgmine bloki.
# Kaaslaste mehhanism - kasutatakse nii fikseeritud kui ka dünaamilist põhimõtet.
¤ Vaba ruumi käsitletakse kui ühte blokki.
*** Best fit - parim paigutus, valitakse kõige lähedasema suurusega plokk.
*** First fit - esimene vaba ruum, kuhu vajalik protsess ära mahub.
*** Next fit - Alustab skannimist viimase paigutse asukogast ja valib järgmise piisavalt suure ploki.
*** Buddy system - kasutatakse kahte hõivamismeetodit korraga.
¤ Fixed
¤ Dynamic skeemid
Kommentaare ei ole:
Postita kommentaar