Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Podobné dokumenty
Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Spr ava hlavn pam eti

Spr ava hlavn pam eti

Téma 8 Virtuální paměť Obsah

Principy operačních systémů. Lekce 3: Virtualizace paměti

Podsyst em vstupu a v ystupu

Distribuovan e algoritmy

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek Verze : jaro 2015

Téma 6 Správa paměti a její virtualizace

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Obnova transakc po v ypadku

Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Přidělování paměti II Mgr. Josef Horálek

Operační systémy. Přednáška 8: Správa paměti II

Projekt implementace ISMS Dodatek 1, PDCA

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Operační systémy. Přednáška 9: Správa paměti III

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Správa paměti III. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Obnova transakc po v ypadku

Hasov an (hashing) na vn ejsch pam etech

Při překrývání se využívá toho, že ne všechny moduly programu jsou vyžadovány současně. Jakmile skončí využívání jednoho

Systém adresace paměti

2010/2011 ZS P i r i nc č py po ít č čů a PAMĚŤOVÝ ĚŤ SUBSYSTÉM z pohledu OS OS

Operacn syst emy { prehled

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Správa paměti. Přímý přístup k fyzické paměti, abstrakce: adresový prostor, virtualizace, segmentace

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

Principy operačních systémů. Lekce 2: Správa paměti

Operační systémy. Přednáška 7: Správa paměti I

Poctacov e syst emy { prehled

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Podsyst em vstupu a v ystupu

09. Memory management. ZOS 2006, L.Pešička

Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Operacn syst emy { prehled

Prklad dokumentov e z akladny ISMS

GPDR, General Data Protection Regulation

Soubor, souborov e organizace

Paměťový podsystém počítače

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Principy počítačů a operačních systémů

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Typologie, funkcn skladby a architektury OS

Operační systémy a sítě

Hierarchick e indexy, B / B+ stromy, tries

Struktura a architektura počítačů (BI-SAP) 11

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

Hierarchick e indexy, B / B+ stromy, tries

Typologie, funkcn skladby a architektury OS

Memory Management vjj 1

Memory Management vjj 1

Hierarchick e indexy, B / B+ stromy, tries

Projekt implementace ISMS

Bezs n urov a telefonie, DECT

Uvod, celkov y prehled problematiky

Správy cache. Martin Žádník. Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, Brno

Uvod, celkov y prehled problematiky

Politika informacn bezpecnosti, Dodatek

Volba v udce, Leader Election

Volba v udce, Leader Election

Soubor, souborov e organizace

Mezipaměti počítače. L2 cache. L3 cache

Politika informacn bezpecnosti, Dodatek

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Paměťová hierarchie. INP 2008 FIT VUT v Brně

Distribuovan e prostred, cas a stav v distribuovan em prostred

Operační systémy a databáze. Petr Štěpán, K13133 KN-E-129 Téma 5. Správa paměti

Distribuovan e prostred, cas a stav v distribuovan em prostred

Paměti a jejich organizace

Soubor, souborov e organizace

Pokročilé architektury počítačů

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Procesor. Procesor FPU ALU. Řadič mikrokód

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

Paměti cache. Cache může být realizována softwarově nebo hardwarově.

Přidělování zdrojů (prostředků)

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Souborov e syst emy { koncepty a rozhran

Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 /

Strojový kód. Instrukce počítače

Projekt implementace ISMS Dodatek 4, Prklad politiky ISMS

Principy činnosti sběrnic

Princip funkce počítače

Počítač jako prostředek řízení. Struktura a organizace počítače

Adresace paměti. 11.přednáška

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

B4B35OSY: Operační systémy

Přerušovací systém s prioritním řetězem

Digit aln vysl an. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

Řízení IO přenosů DMA řadičem

3. Počítačové systémy

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Přidělování paměti I Mgr. Josef Horálek

Politika informacn bezpecnosti

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Transkript:

Virtu aln pam et' PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017

Virtualizace pam eti principy, z aklady str ankov an na z adost, Demand Paging d uvody pro virtualizaci procesy v prostred s virtu aln pam et politiky pr ace se str ankami nahrazovac algoritmy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 1

Pouzvan e pojmy prevazujc model virtualizace { str ankov an na z adost Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 2

Virtu aln pam et', z akladn principy separace LAP a FAP LAP { virtu aln pamet', manipulovan a po str ank ach (c ast LAP procesu je zobrazena v re aln e pameti, cel y LAP procesu je zobrazen y na disku) FAP { re aln a pamet', spravovan a po r amcch ve FAP se mus nach azet alespo n str anky programu potrebn e pro bezprostredn rzen procesu str anky procesu umsten e ve FAP nemus b yt umsten e v sousednch r amcch FAP soudob e architektury { LAP je (podstatne) vets nez FAP adresov e prostory ve FAP lze (snadno) sdlet procesy lze tudz vytv aret efektivn eji techniky implementace virtu aln pam eti str ankov an na z adost, Demand Paging, prevazujc model segmentov an na z adost, Demand Segmentation Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 3

LAP je (podstatne) vets nez FAP Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 4

Str ankov an / segmentace, prost a varianta / na z adost Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 5

Str ankov an / segmentace, prost a varianta / na z adost Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 6

Str ankov an (P:) versus segmentov an (S:) P: FAP je 1-dimension aln, alokovan y po dlech { r amcch { pevn e d elky S: FAP je 1-dimension aln, alokovan y po dlech promenn e d elky P: LAP je 1-dimension aln, del se na str anky denic d elky str anky v CPU S: LAP je 2-dimension aln (segmenty x bu nky v segmentu, segmenty LAP vymezuje konstrukce adresy v instrukci P: Vnitrn fragmentace v r amcch, z adn a extern fragmentace S: Z adn a vnitrn fragmentace, moznost extern fragmentace Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 7

Str ankov an (P:) versus segmentov an (S:) P: OS udrzuje tabulku str anek s urcenm r amce pro kazdou str anku S: OS udrzuje tabulku segment u s b az a d elkou kazd eho segmentu P: OS udrzuje tabulku r amc u denujc stav kazd eho r amce S: OS udrzuje seznam voln ych oblast FAP P: LAP FAP se res dynamicky pri behu mikroporgramem podle tabulky str anek, PT S: LAP FAP se res dynamicky pri behu mikroporgramem podle tabulky segment u, ST Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 8

Str ankov an (P:) versus segmentov an (S:) P: Str anky procesu se zav adej do re aln e pameti podle potreby S: Segmenty procesu se zav adej do re aln e pameti podle potreby P: Zaveden str anky do re aln e pameti m uze vyz adat v ypis nekter e str anky na disk S: Zaveden segmentu do re aln e pameti m uze vyz adat v ypis jednoho nebo nekolika segment u na disk Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 9

D uvody pro virtualizaci pam eti str ankov anm/segmentac na z adost preklad adres LAP do adres FAP je treba delat co nejpozdeji, nejl epe dynamicky, pri b ehu procesu prid elov an souvisl ych oblast FAP procesu zp usobuje vn ejs fragmentaci, str ankov an tuto fragmentaci eliminuje stupe n multitaskingu je treba udrzovat co nejvyss, rostou tm ale n aroky proces u na prostor ve FAP existuj procesy s pam et'ov ymi n aroky presahujcmi dostupnou (moznou) velikost FAP pri behu procesu se nem uze ve FAP najednou uchov avat cel y program a vsechna potrebn a data, zav ad ej se dynamicky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 10

Princip casoprostorov e lokality procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 11

Princip casoprostorov e lokality chov an procesu odkazy na instrukce programu a na data maj tendenci tvorit shluky { casov a lokalita a prostorov a lokalita prov aden programu m a, s v yjimkou skok u a vol an podprogram u, sekvencn charakter programy maj tendenci z ust avat po jistou dobu v prostoru nekolika m alo procedur, nelze jen volat a vracet se v etsina iterativnch konstrukt u predstavuje mal y pocet casto opakovan ych instrukc, casto zpracov avanou datovou strukturou je pole dat nebo posloupnost z aznam u lze tudz d elat inteligentn odhady o c astech programu/dat potrebn ych v nejblizs budoucnosti ve FAP hlavn pamet' (FAP) se m uze naplnit neco umstit do FAP pak znamen a nejdrve neco jin eho z FAP odstranit Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 12

Beh proces u ve virtu aln pameti respektuje se pln a separace LAP a FAP velikost LAP je podstatn e v ets nez velikost (dostupn eho) FAP OS pri startu procesu zavede do FAP pouze malou c ast programu (LAP) s mstem kam se inici alne pred av a rzen po t e doch az k dynamick ym v ymen am c ast LAP ve FAP po str ank ach / po segmentech,,na z adost", tj. az je jejich obsah referencovan y pro preklad logick e adresy na fyzickou adresu se pouzv a tabulka str anek/segment u, PT/ST, Page/Segment Table kazd a polozka v PT / ST obsahuje bit indikujc ukoncen e zaveden odpovdajc str anky (segmentu) do FAP { bit valid/invalid, V/I, present,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 13

Typick y obsah polozky PT pri virtualizaci Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 14

Beh proces u ve virtu aln pameti C ast (LAP) procesu umstenou ve FAP naz yv ame rezidentn mnozinou (resident set) Odkaz mimo rezidentn mnozinu zp usobuje prerusen v ypadkem str anky/segmentu (page/segment fault) OS oznac takov y proces za cekajc (na str anku/segment ve FAP) OS spust I/O operace a provede operace spr avy pameti nutn e pro zaveden odkazovan e c asti LAP do FAP mezitm, behem jejho zav aden, bez jin y proces (jin e procesy) po zaveden odkazovan e c asti se generuje I/O prerusen OS cekajc proces premst mezi pripraven e procesy preklad adresy LAP na adresu FAP se del a,,indexov anm", transformacemi pomoc hodnot zapsan ych do tabulky PT/ST vykon avan ymi pomoc hardware CPU (mikroprogramov e) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 15

LAP, LAP procesu do FAP se,,per partes"umst'uje pouze c ast LAP, kterou proces skutecne vyuzv a Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 16

Virtu aln pam et' { vlastnosti, rekapitulace Ve FAP lze udrzovat vce proces u najednou, ve FAP nemus b yt zobrazen e cel e LAP proces u jednotliv e procesy okamzit e pozaduj m en e prostoru ve FAP cm vce je proces u ve FAP, tm je vets pravdepodobnost, ze st ale bude alespo n jeden pripraven y { schopn y behu prov ad se m ene IO operac, zav ad se pouze c asti LAP dosahuje se rychlejsch do reakc i pri vce uzivatelch Lze realizovat procesy pozadujc v sum e vce pam eti nez je kapacita FAP aniz se o resen tohoto probl emu star a program ator / kompil ator jak se res ulozen obrazu LAP (virtu aln pam eti) v extern pameti? nepouzv a se standardn syst em soubor u OS pouzv a se singul arn metoda organizace souboru { vets bloky, speci aln vyhled av an,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 17

Virtu aln pam et' { vlastnosti, rekapitulace Str ankov an / segmentaci (prostou i na z adost) mus podporovat hardware spr avy pam eti z adost { dynamicky kontextov e generovan a indikace nedostatku (tj. neprtomnosti adresovan eho objektu ve FAP) pri zsk av an prst instrukce nebo pri referenci dat OS mus b yt schopen organizovat tok str anek/segment u mezi vnitrn a vn ejs pam et Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 18

Prklady rozm er u str anek Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 19

Fetch Policy { kdy str anku zav adet? Dv e politiky str ankov an na z adost (Demand paging) str anka se zobrazuje do FAP pri odkazu na ni, pokud ve FAP nen jiz zobrazena zp usobuje poc atecn shluky v ypadk u str anek predstr ankov an (Prepaging) umsten sousednch str anek v LAP v obrazu LAP na vnejs pameti b yv a rovnez blzk e plat princip caso-prostorov e lokality, sousedn str anky v LAP se s velkou pravd epodobnosti pouzvaj v blzk em casoprostoru zav ad se vce sousednch str anek nez se z ad a predstr ankov an je vhodn a politika zvl ast e pri inicializaci procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 20

Str ankov an na z adost Str anka se zav ad do FAP kdyz je (pravdepodobne) potrebn a prnosy prov ad se m ene IO operac vznikaj mens pozadavky na pam et' rychlejs interakce { m uze pracovat vce uzivatel u Kdy je str anka potrebn a? byla odkazovan a, referencovan a Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 21

Str ankov an na z adost Kdy je reference str anky leg aln? leg aln reference str anky { nach az se ve FAP, procesu / CPU je dostupn a { logick a adresa se mikroprogramem preloz na fyzickou adresu neleg aln reference str anky m uze b yt dvojho druhu { chybn a reference str anky, porusen ochran, odkaz na v procesu nedenovan y LAP,... abort procesu { reference str anky procesu neumsten e ve FAP jej zaveden do FAP zprostredkov av a OS Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 22

Str ankov an na z adost, bit Valid/Invalid vsechny str anky nemus b yt ve FAP soucasne Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 23

Str ankov an na z adost, bit Valid/Invalid, v ypadek str anky S kazd ym r adkem PT je spojen bit valid/invalid, V/I 1: str anka je ve FAP, 0: str anka nen ve FAP je-li pri prekladu logick e adresy na fyzickou adresu V/I = 0, generuje se prerusen typu v ypadek str anky, page fault OS si zjist { jedn a se chybnou referenci OS spust abort procesu { jedn a se o referenci str anky procesu chybejc ve FAP OS spust jej zaveden * proces umst mezi cekajc * nalezne pr azdn y r amec ve FAP * zavede z obrazu LAP ve vnejs pameti chybejc str anku do tohoto r amce * zkoriguje PT, nastav v n cslo r amce bit valid ( = 1) * proces cekajc na str anku umst mezi pripraven e procesy tak, aby se zopakovalo proveden instrukce, kter a zp usobila v ypadek str anky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 24

Placement policy { kam str anku zav adet? kam str anku / segment umstit ve FAP? str ankov an nem a v yznam, pro umsten str anky se vol libovoln y voln y r amec segmentace politiky rst-t, best-t, worst-t, next-t,... kombinace segmentov an + str ankov an, str ankovan e segmety nem a v yznam, pro umsten str anky se vol libovoln y voln y r amec Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 25

Str ankov an na z adost, v ypadek str anky, nen voln y r amec N ahrada str anky v r amci pozadovanou str ankou obet' { str anka ve FAP d ale uz (pravdepodobne) nepotrebn a pokud se do n nezapsalo, jej kopie na disku je, bez probl emu se prepse ve FAP pokud se do n zapsalo, nejprve se prepse jej obraz v obrazu LAP ve vnejs pameti Je potrebn y algoritmus hled an ob eti a resen n ahrady krit erium optimality optim aln algoritmus zp usobuje nejm ene v ypadk u str anek Nekter e str anky mohou b yt do FAP za zivot procesu zav adeny opakovan e Nekter e r amce jsou docasne chr anen e pred uvolnenm (I/O buery,... ) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 26

Replacement Policy { kterou str anku nahradit? Politika nahrazov an uplat nuje se v okamziku, kdy je re aln a pamet' (FAP) pln a nen dostupn y neobsazen y r amec Kterou str anku,,ob etovat"a vyhodit z FAP? tak e Politika v yberu obeti rzen a algoritmem pro v yber obeti urcen ob eti ide aln obet' { str anka, kter a jiz nebude odkazovan a, :-(( volbu mj. ovliv nuje politika prid elov an prostoru ve FAP procesu intro- mnozina mozn ych ob et { obeti lze hledat jen mezi str ankami procesu, kter y vyvolal v ypadek str anky extra- mnozina mozn ych ob et { obeti lze hledat i mezi str ankami libovoln ych existujcch proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 27

Algoritmus nahrazov an str anek Res OS po prerusen v ypadkem str anky: 1. Proces dej sp at, dokud se nezsk a referencovan a str anka 2. Nalezni umst en pozadovan e str anky na disku 3. Nalezni voln y r amec: { existuje { pouzije se, { neexistuje { start v yberu obeti a uvolnen r amce 4. Nacti pozadovanou str anku do voln eho / uvolnen eho r amce 5. Koriguj tabulku str anek a tabulku r amc u 6. Restart procesu (via dispecer) od adresy instrukce, kter a zp usobila v ypadek str anky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 28

V ykon str ankov an na z adost Skutecn a doba prstupu do pam eti, Effective Access Time (EAT) p { pravdepodobnost v ypadku str anky, pak EAT = (1 { p) x doba přístupu do paměti + 200 ns p x (režie přerušení výpadkem stránky + 1{100 µs [doba výpisu stránky ]+ cca 8 ms doba načtení stránky + cca 8 ms režie restartu instrukce ) 1{100 µs tempo v ypadk u str anek urcuje pravdepodobnost v ypadku str anky 0 p 1.0 kdyz p = 0, pak k v ypadk um nedoch az, LAP procesu se nach az v FAP kdyz p = 1, kazd a reference zp usob v ypadek na disk se vypisuj obeti jen kdyz byly ve FAP modikov any v PT se udrzuje modify (dirty) bit = 1 pri z apisu do str anky, nastav ho prslusn y mikroprogram Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 29

V ykon str ankov an na z adost, ilustrativn prklad EAT = (1 { p) x 200 + p x (8 000 000) = = 7 999 800 p + 200 pokud v ypadek str anky nastane 1-kr at za 1000 referenc, EAT = 8,2 µs pricem doba prstupu do pameti = 0,2 µs v ykon poctace 40-kr at klesl nem a-li se v ykon snzit vc nez o 10%: 220 > 200 + 7 999 800p, tj. p < 0, 000 002 5 v ypadek str anky nesm nastat casteji nez 1-kr at za 399 990 referenc Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 30

Algoritmy v yberu obeti Optimal (OPT) ob et je str anka s nejzazs referenc First-in-rst-out (FIFO) cyklick y v yber r amc u s obet Least recently used (LRU) ob et je str anka nejd ele nereferencovan a Clock, prp. "druh a sance\ cyklick y v yber r amc u s obet s moznost zskat "zivot\ docasne oprav nujc vybranou ob et' po jistou dobu ve FAP prezt implementace: FIFO + dodatecn e n astroje aproximace algoritmu LRU Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 31

Algoritmy v yberu obeti Krit erium optimality { dosazen nejmens mozn e pravd epodobnosti v ypadku str anky Pri ilustraci algoritm u pouzijeme shodnou posloupnost referenc str anek { 2 3 2 1 5 2 4 5 3 2 5 2 Pouzit y FAP bude obsahovat 3 r amce Obecn a pravda { se vzr ustem poctu r amc u pridelen ych procesu pocet v ypadk u procesem generovan ych v ypadk u str anek kles a cel y program vc. dat ve FAP znamen a, ze se negeneruje z adn y v ypadek str anky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 32

Prklad obsazov an FAP probran ymi nahrazovacmi algoritmy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 33

OPT, optim aln nahrazov an obet', mus platit = prst odkaz na obet' je nejpozdejs odkaz ze vsech n asledn ych odkaz u na str anky algoritmus OPT generuje nejmens pocet v ypadk u str anek algoritmus OPT je obecn e neimplementovateln y, nezn ame budoucnost, pouzv a se jako srovn avac norm al Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 34

FIFO nahrazov an obet' = str anka nejd ele zobrazen a ve FAP casto pouzvan e str anky mnohdy jsou ty nejstars str anky pravdepodobnost brzk eho v ypadku takov e str anky je vysok a jednoduch a implementace R amce prid elen e procesu jsou organizov any do cyklick eho bueru, kdyz je buer pln y, nahrazuje se nejstars str anka Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 35

LRU nahrazov an, LRU { Least Receantly Used obet' = ve FAP nejd ele neodkazovan a str anka princip lokality: pravd epodobnost odkazu na ni je mal a i kdyz m a kvalitu blzkou optim aln strategii, pouzv a se zrdka, z d uvodu obtzn e a neefektivn implementace Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 36

LRU nahrazov an, LRU { Least Receantly Used trivi aln implementace politiky LRU V polozk ach PT se udrzuj (HW) ctace behu casu (+1 po t) Kazd a referencovan a str anka se v polozce PT oznac nulovou dobou od poslednho referencov an ob et je str anka s nejdels dobou nereferencov an negativa: { konstrukcn e velmi drah e resen { ctac m a konecnou kapacitu { probl em jeho pretecen n ahrada rzen a hodinami ke kazd e str ance (r amci) je prirazen jeden registr pri referenci str anky v r amci se do registru okopruj hodiny Pri hled an obeti se vybr a nejd ele nereferencovan a str anka Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 37

Algoritmy aproximujc LRU bit reference spojen s kazdou str ankou v PT, poc atecne (inicializuje OS) = 0 kdyz je str anka referencovan a, = 1 (mikroprogramov e) historie referenc pomoc bitu reference slabika spojen a s kazdou str ankou v PT, poc atecne (inicializuje OS) = 00000000 2 bit 0 je bit reference obsah slabiky se periodicky posouv a vlevo obsah slabiky ilustruje 8 krok u historie { zda v period e odpovdajc kroku byla str anka referencovan a { 00000000 2 po 8 krocch { str anka nebyla v ubec referencovan a { 11111111 2 po 8 krocch { str anka byla referencovan a v kazd em kroku Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 38

Algoritmy aproximujc LRU Druh a sance Vyuzv a op et bit reference z aklad algoritmu { n ahrada hodinami (casov ym poradm, FIFO) Je-li str anka vybran a jako ob et' podle principu hodin/fifo a m a-li bit reference = 1, pak: { bit reference se nastav na 0 { str anka se nech a v pameti { hled a se dals obet' (podle hodin/fifo) a podle stejn ych pravidel de facto FIFO, z v yberu obeti se vynech av a alespo n jednou odk azan a str anka od poslednho v yberu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 39

Algoritmus,,Druh a sance" Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 40

Algoritmy aproximujc LRU modikovan a (vylepsen a),,druh a sance\ bit reference je v PT doplnen y o bit modifikace porad v yb eru (cyklicky, pocnaje tam, kdy v yb er naposledy skoncil): 1. 00, nereferencovan a, nemodikovan a { stac ji v r amci prepsat a pokud hled an selze, hled a se 2. 10, referencovan a, nemodikovan a { stac ji v r amci prepsat nahozen e bity reference u vynech avan ych r amc u se nuluj, vsechny prohlzen e r amce budou mt bit reference 0 a pokud hled an selze, opakuje se krok 1, prp. i krok 2 dokud nen modikovan a str anka vypsan a na disk, nelze ji urcit jako obet' pouzvala drv ejs verze Macintosh virtual memory scheme Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 41

Algoritmus,,Modikovan a druh a sance" Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 42

Dals experiment aln algoritmy { ctac algoritmy udrzuje se ctace poct u referenc ud elan ych na kazdou str anku Algoritmus LFU, Least Frequently Used: aktivn str anka je hodn e referencovan a ob et je str anka s nejmens hodnotou ctace, je m alo referencovan a probl em: { inicializacn c ast programu bude mockr at pouzita a pak uz v ubec ne, ale bude dlouho setrv avat v re aln e pameti resen: ctac lze periodicky posouvat doprava (snizovat jeho hodnotu) Algoritmus MFU, Most Frequently Used: ob et je str anka s nejv ets hodnotou ctace, mozn a je ve FAP uz,,dlouho" str anka s nejmensm ctacem asi byla pr ave umstena do pameti a nestacila b yt jest e referencovan a, tak ji nevyhazujme Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 43

Pridelov an poctu r amc u proces um a politiky v yberu obet Kazd y proces potrebuje jist y minim aln pocet str anek ve FAP Prklad IBM 370 { potreboval 6 str anek pro zvl adnut instrukce MOVE: instrukce mela d elku 6 B mohla lezet az ve 2 str ank ach, 2 str anky pro odkud, 2 str anky pro kam hlavn principy prid elov an r amc u proces um pevn e pridelov an poctu r amc u proces um { stejn y pocet nebo proporcion aln pocty (velikostem LAP proces u) prioritn prid elov an { podle (dynamick e) priority procesu hlavn politiky v yberu obeti lok aln v yber, ze str anek procesu, kter y zp usobil v ypadek str anky glob aln v yber, ze str anek kter ehokoliv procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 44

Pridelov an poctu r amc u proces um a politiky v yberu obet pevn y pocet r amc u, lok aln n ahrady alokace poctu r amc u podle typu aplikace d usledek podhodnocen / nadhodnocen { poddimenzov an { zv ys se frekvence v ypadk u str anek predimenzov an { snz se mozn y stupe n multiprogramov an pevn y pocet r amc u, glob aln n ahrady nerealizovateln e, nesmysln e resen promenn y pocet r amc u, glob aln n ahrady nejsnazs implementace, klasick a politika v mnoha OS, Unix SVR4,... nebezpec,,v yprasku\, Thrashing, mnoho proces u s mal ym poctem pridelen ych r amc u, mnoho v ypadk u, cek an na I/O na disky. roste multitasking,... promenn y pocet r amc u, lok aln n ahrady tzv. pracovn mnoziny, pozd eji detaily Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 45

Politika cist en str anek protip ol,,fetch"politiky cist en = vypisov an modikovan ych str anek na disk cist e str anky = shodn e s jejich obrazy na disku varianty cisten na z adost { kdyz byla modikovan a str anka vybr ana jako obet' precleaning { systematick y v ypis modikovan ych str anek, lze resit d avkove na pozad behu proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 46

V yprask, Thrashing Jestlize proces nem a v pameti dost str anek, generuje v ypadky str anek velmi rychle a tudz doch az k nzk emu vyuzv an CPU aplikacemi OS m a dojem, ze m a zv ysit stupe n multiprogramov an, protoze st ale se cek a na konec I/O operace a tak se dod avaj dals procesy do syst emu,... Thrashing { procesor nedel a nic jin eho nez v ymeny str anek Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 47

Model pracovn mnoziny, Working-Set d { okno pracovn mnoziny, zvolen y pevn y pocet referenc str anek, napr. 10 000 W S i (working set i), pracovn mnozina procesu P i, mnozina referencovan ych str anek v poslednm oknu d (pracovn mnozina se v case m en) pracovn mnozina je aproximace caso-prostorov e lokality procesu bude-li d mal e, nepostihne celou potrebnou pracovn mnozinu bude-li d velk e, postihne vce nez potrebnou pracovn mnozinu Pokud suma vsech W S i prev ys kapacitu dostupn e re aln e pam eti, vznik a,,v yprask" Ochrana pred vznikem,,v yprasku" napr. jeden proces se pozastav Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 48

Model pracovn mnoziny, Working-Set, 2 Okno = 10 Pracovn mnoziny v okamzicch t 1 a t 2 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 49

Sledov an Working Set Aproximace pomoc intervalov eho casovace a bitu reference Prklad: Necht' okno pracovn mnoziny d = 10 000 referenc Necht' casovac prerusuje po 5 000 casov ych jednotk ach V pameti se v PT udrzuj o kazd e str ance 2 bity (buer a reference) Kdykoliv casovac prerus, okopruje se bit reference do bueru a nastav se na 0 Kdykoliv se referencuje dan a str anka, bit reference se mikroprogramov e nastav na 1 Je-li alespo n jeden z obou bit u = 1, str anka je ve WS Zpresn en m eren jen za cenu vyss rezie napr. 10 bit u msto 2 a prerusov an po 1 000 casov ych jednotk ach Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 50

Frekvence vypadk u stranek 2 Akceptovatelna frekvence vypadk u stranek X je-li frekvence vypadk u n zka, procesu lze ramce ramce odeb rat { ob eti se vyb raj mezi jeho strankami X je-li frekvence vypadk u vysoka, proces pot rebuje z skat dal s ramce Jan Staudek, FI MU Brno PB152 Operacn systemy { Virtualn pamet ' 51

Probl em velikosti PT, resen Pentium 2- urov nov e hierarchick e str ankov an PT se umst'uje ve virtu aln pameti a str ankuje se form aty: cslo str anky je deleno do dvou csel p1 a p2 p1 indexuje adres ar umsten y v hlavn pameti s odkazy na str anky obsahujc vlastn tabulky str anek adres ar se neodkl ad a na disk tabulky str anek (2. urovne) lze odkl adat Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 52

Probl em velikost str anek Velmi mal y rozmer str anky ve str ank ach nen nic, co nen nutn e z hlediska casov e a prostorov e lokality mal y pocet v ypadk u str anek cm je str anka mens tm je mens vnitrn fragmentace, ale diskov e operace jsou m ene efektivn tm je vets pocet str anek, takze je dels PT pokud se PT umst prmo ve FAP, zp usobuje velk e cerp an prostoru FAP umsten PT ve virtu aln pameti zp usobuje dvojn asobn y pocet prerusen,,page fault" Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 53

Probl em velikost str anek, 2 cm je d elka str anky vets tm je ve str ance je obsazeno vce dat nez je nutn e z hlediska casov e a prostorov e lokality a protoze FAP m a konecnou kapacitu, vznik a vets pocet v ypadk u str anek Pokud d elka str anky se rovn a d elce programu, vse je ve FAP, nen potreba z adn a virtualizace Obvykl e d elky str anek { 1 KB az 4 KB N ekter e procesory podporuj moznost pouzv an n ekolika rozmer u str anek, napr. Pentium - 4KB nebo 4MB Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 54

Probl em velikost str anek, 3 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 55

Windows { spr ava pameti, LAP (virtu aln adresov y prostor) 32-bitov a varianta 64-bitov a varianta { uzivatelsk a oblast 8 TB, celkem 16 TB Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 56

Windows { Spr ava pameti, LAP (Virtu aln adresov y prostor) Hornch a dolnch 64 KB LAP se do FAP nezobrazuje 64 KB az 2 GB: program a data uzivatele 2 GB az 4 GB {64 KB virtu aln pamet' j adra OS obsahujc program, data, str ankovac tabulkuy, banky str anek,... Virtu aln pamet' j adra OS je ve FAP sdlen a vsemi procesy a je dostupn a pouze pri behu v rezimu j adra Na procesorech x86 a x64 je virtu aln pamet' str ankovan a d elka str anky 4 KB, nepouzv a se segmentace Str anky LAP zahrnut e do procesu { committed pages Str anky LAP nezahrnut e do procesu { invalid pages Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 57

Windows { Spr ava pameti, obraz LAP na disku Dynamicky pouzvan e zahrnut e str anky jsou uchov avan e na disku v spec. souborech { pageles Texty program u jsou uchov avan e na disku v konkr etnch souborech Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 58

Windows { Spr ava pameti, pr ace s r amci Jakmile vl akno str ankov anm na z adost umst str anku do voln eho r amce FAP, r amec se st av a pohotovostn (standby) obsahuje nemodikovanou str anku, kterou lze prpadn e pouze prepsat ve FAP jinou str ankou Jakmile vl akno str anku v r amci FAP modikuje, r amec se st av a modikovan ym r amcem obsahuje modikovanou str anku, kterou je nutn e pri prepisu jinou str ankou nejprve vypsat do obrazu LAP na disku Spr ava pameti udrzuje 5 seznam u r amc u voln e r amce, free, nealokovan e, lze do nich kdykoliv umstit str anku cist e r amce, zeroed, voln e r amce, obsahujc pouze 0 pohotovostn r amce, standby, alokovan e nemodikovan e r amce modikovan e r amce, modified, alokovan e modikovan e r amce r amce vykazujc chybu pam eti, bad Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 59

Windows { Z aznam v tabulce str anek, page table entry (PTE) Algorimus n ahrad str anek { LRU, Least Recently Used str anky, kter e se nejd ele nepouzily se pravd epod. nebudou pouzvat Bit A nastavuje hradware pri zprstupn en str anky ve FAP Bit D nastavuje hardware pri modikaci str anky ve FAP, nemodikovan a str anka se nemus vypisovat pri n ahrade na disk Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 60

Windows { V ypadek str anky, pracovn mnozina str anek Vl akno referencuje nezahrnutou str anku { chyba programu, abort zahrnutou str anku chybn e { chyba programu, abort (z apis do RO str anky,... ) zahrnutou str anku, kter a dosud nen mapovan a do FAP { v ypadek str anky, Page Fault Pro kazd y proces se udrzuje ve FAP jist y pocet str anek { Working set, WD, pracovn mnozina WS m a denovan e minimum a maximum velikosti (napr. 20 { 345 str anek) proces zacn a s minim aln WS, WS se m uze zvetsovat az do maxima pokud je volno ve FAP, maximum WS se m uze prekrocit Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 61

Windows { Algoritmus n ahrad str anek, pr ace s r amci Manazer WS periodicky prohlz vsechny WS Je hodne voln e pameti FAP { poct a st ar str anek resetov anm bitu A FAP je t emer vycerpan y { xuje WS a nejstars str anky nahrazuje nov ymi, jsou-li z adan e ve FAP chyb msto { WS se zmensuj odstra nov anm nejstarsch str anek z FAP Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 62

Windows { Algoritmus n ahrad str anek, pr ace s r amci Odstra nov an str anek z FAP kdyz se procesu odstra nuje str anka z WS (1) jej r amec se d av a mezi modikovan e ci pohotovostn r amce { tyto str anky z ust avaj ve FAP a na prpadnou n aslednou z adost se vrac do WS (2) kdyz proces konc (3) jeho r amce se d avaj do seznamu voln ych r amc u modikovan e r amce manazer pam eti periodicky vypisuje na disk a zarazuje mezi pohotovostn (4) proces m uze str anky v pohotovostnch r amcch kdykoliv zrusit (5) Kdykoli,,nen co delat", voln e r amce cistic r amc u cist, nuluje (7) nov e pozadovan e str anky se umst'uj do voln ych r amc u (6) pokud to vyzaduje bezpecnostn politika, pak do cist ych r amc u (8) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Virtu aln pamet' 63