Správa virtuálnej pamäte

Stránkovanie Adresovýpriestor každej úlohy sa rozdelína rovnakéúseky -stránky. Operačnápamäťsa rozdelína takéistéúseky -bloky. Každástránka (logicky súvislá) potom môže byťuloženáv ľubovoľnom bloku, pričom bloky na seba nemusia naväzovať. Technickévybavenie -PMT(pagemaptables), tabuľky stránok (špec. reg., časťOP). Efektívnosťje zaručovanávhodným výberom veľkosti stránky. Rieši problém fragmentáciebez fyzických presunov sekcií. Operačný systém pracuje s •tabuľkou úloh: JT-pre každúúlohu existuje položka obsahujúca údaj o umiestnenía dĺžke jej tabuľky stránok + stavovúinf. •tabuľkou blokov: MBT-udáva stav každého bloku pamäti (pridelený, voľný) •tabuľkou stránok: PMT-transformácia adresovéhopriestoru úlohy do operačnej pamäti.
16
Stránkovanie –výhody a nevýhody Výhody: Eliminuje fragmentáciua tým umožňuje zvýšiťpočet úloh. Eliminuje zhusťovanie pri dynamickom premiestňovanísekcií. Nevýhody: Existencia tabuliek pre transformáciu stránok (čas, miesto, cena). Efektivita závisíod voľby veľkosti stránky (znalosťou priemernej veľkosti úloh) -vnútornáfragmentácia. Adresovýpriestor je limitovaný rozsahom operačnej pamäti. Prideľovanie virtuálnej pamäti. Všetky predošléstratégie neriešili problém veľkosti OP, čo sa dáriešiťpoužitím rozsiahlej OP -ekonomicképroblémy. Inou možnosťou je simulovanie existencie rozsiahlej OP fiktívnou -virtuálna pamäť. Stránkovanie na žiadosť. V predchádzajúcich technikách bola snaha o 100%využitie pamäti, pri stránkovanímôžem toto využitie aj prekročiťv tom zmysle, že súčet všetkých adresovýchpriestorov súčasne prebiehajúcich úloh >OP. Dosiahneme to tým, že upustíme od doterajšej požiadavky, aby bol v OP súčasne celý adresný priestor prevádzanej úlohy, stačíaby tam bola iba jeho práva používanáčasť. Keďsa úloha bude dotazovaťna stránku, ktoránie je v pamäti -výpadok stránky, procesor to musírozpoznaťa pohľadaťalebo uvoľniťvolný blok, kde sa stránka uložía úloha dovykonáva-zavedenie na žiadosť. Procesor rozpoznávýpadok stránky z tabuľky stránok (stav a báza). V prípade, že je OP plná, správa pamäti hľadávhodného kandidáta na vyhodenie stránky -odložísa na rýchle vonkajšie pamäte, do PMT sa zaznačí, že bola vyhodenáa adresa na disku. V prípade potreby sa môže vrátiťspäťdo pamäti neporušená. Môžem si teda spustiťaj program, ktorý je väčšíako OP. Techniky hľadania kandidáta navyhodenie: ·FIFO(firstin -firstout), Výmena najstaršej stránky. Vychádza z predpokladu sledovania postupu prísunu stránok. Ak mábyťniektoráodloženána disk, vyberása tá, ktoráje v pamäti najdlhšie. Vyžaduje sa uchovávanie informácie o časovom prístupe stránky do OP s aktualizáciou pri každom prísune stránky. Nemôže nastaťrpípadvýmeny stránky bezprostredne po jej nasunutí,ale môže sa odsunúťpráva používanástránka. ·LRU(leastrecentlyused), Najnepoužívanejšia stránka.
17
Ak nebola stránka dlhšíčas použitá, asi nebude ani v dohľadnej dobe použitá. Ak však na stránku sledovali odkazy, bude používanáaj naďalej. Stratégia vyžaduje sledovaťa uchovaťinformáciu o odkazoch na stránku a pri každom odkaze ich aktualizovať. ·WSM(workingset model), Model pracovnej množiny. Vychádza z hypotézy potreby určitého počtu nevyhnutných stránok -pracovný model potreby stránok. K vytvoreniu pracovného modelu, nevyhnutnej množiny potrebných stránok v Opjemožnépoužívaťinf. O prísunoch stránok do OP alebo stavového bitu pre sledovanie početnosti odkazov na ňu. Začlenením stránky do modelu znamenáponechanie stránky v OP, vyčlenenie znamenáodsunutie na externúpamäť. V priebehu spracovania sa model mení. Stránkovanie na žiadosť Počet stránok, ktoréje možnéunmiestniťv OP, aj počet odsúvaných stránok závisíodkapacity OP, ktoráje k dispozícii na ukladanie stránok. Graf závislosti: maláOP veľký počet výmien Výhody: Rozsiahla virtuálna pamäť, efektívne využitie OP, neobmedzenémultiprogramovanie. Nevýhody: Zvýšenáréžia OS oproti stránkovaniu (výpadky stránok), vnútornáfragmentácia, ošetrovanie zahltenia (čas ošetrenia výpadkov >čas spracovania úloh). Segmentácia. Doteraz sme vždy delili OP na časti. Pre užívateľský program boli tieto operácie “neviditeľné”.Predpokladali sme lineárny a súvislý adresovýpriestor. Teraz sa pozrieme na iný možný prístup k adresnému priestoru, ktorý by viedol k efektívnemu využitiu pamäte a zároveňzjednodušíprogramovanie. Segment -logickézoskupenieinformácií(podprogramy , dátovéoblasti). Je to logickáčasťadresovéhopriestoru. Technika prideľovania pamäti jednotlivým segmentom -segmentácia. Pri segmentácii musíkaždý odkaz na adresu pamäti obsahovaťurčenie segmentu a pamäťovémiesto v segmente. Segment sa určípri kompilácii programu. Segmentovaný adresný priestor sa dáimplementovaťpoužitím obdobných technických prostriedkov ako v prípade stránkovania -tabuľka segmentov SMT (Segment MapTable), ktoráobsahuje rozsah segmentu, prístup (x,r,w), stav (je v pamäti, nie je) a počiatočnúadresu segmentu v OP. Transformácia dvojzložkovej segmentovanej adresy na adresu OP sa prevádza automaticky procesorom počas behu programu. Segmentácia. Rozdiely segment stránka: Segment je logickájednotka, máľubovoľný rozsah a je viditeľnáv užívateľskom programe. Segment je vlastne presnejšie vyjadrenie časti úlohy. Stránka je fyzickájednotka informácie pevného rozsahu, používa sa iba v prideľovanípamäti, nie je viditeľnáv užívateľskom programe.
18
Výhody: Eliminácia fragmentácie-premiestnením segmentov sa voľný rozdrobený priestor spojí. Vytváranie virtuálnej pamäti -v OP súiba aktívne segmenty, môže rozsah celkového adresného priestoru úlohy prevýšiťrozsah OP. Dynamickézostavovanie a zavádzanie úloh. Možnosťzdieľania segmentov (výpočet √x). Ochrana segmentov. Nevýhody: Dynamickérozširovanie segmentov a eliminácia fragmentáciezvyšujúréžiu. Rôzny rozsah segmentov spôsobuje ťažkosti pri manipulácii zo segmentamiv záložnej pamäti. Segmentácia a stránkovanie na žiadosť. Program rozdelíme na segmenty, pre každý segment použijem stránkovanie na žiadosť. OP bude rozdelenána bloky. Dvojitáhierarchia tabuliek: tabuľka segmentov, každý segment mátabuľku stránok. Správa virtuálnej pamäti v Linuxe vmstat-Report virtualmemorystatistics, vmstat[-n] [delay[ count]], vmstat[-V] vmstatreportsinformationaboutprocesses, memory, paging, blockIO, traps, and cpuactivity. Thefirstreport producedgivesaveragessincethelastreboot. Additionalreportsgiveinformationon a samplingperiodoflengthdelay. Theprocessand memoryreportsare instantaneousin eithercase. FIELD DESCRIPTIONS Procsr: Thenumberofprocesseswaitingforruntime. b: Thenumberofprocessesin uninterruptablesleep. w: Thenumberofprocessesswappedoutbutotherwi serunnable. This fieldiscalculated, butLinux never desperationswaps. Memoryswpd: theamountofvirtualmemoryused(kB). free: theamountofidlememory(kB). buff: theamountofmemoryusedasbuffers(kB). Swapsi: Amountofmemoryswappedin fromdisk (kB/s). so: Amountofmemoryswappedto disk (kB/s). IObi: Blockssentto a blockdevice (blocks/s). bo: Blocksreceivedfroma blockdevice (blocks/s). Systemin: Thenumberofinterruptsper second, includingtheclock. cs: Thenumberofcontextswitchesper second. CPUTheseare percentagesoftotalCPU time. us: user time sy: systemtime vmstat chuda@os:~$ vmstat-n 2 procsmemoryswapiosystemcpu r b w swpdfreebuffcachesi so bi bo in csussyid
19