A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 1 Obsah Téma 8 – Virtuální paměť 1.Principy virtuální paměti 2.Stránkování na žádost 3.Politika.

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

OZD: Hašování RNDr. Michal Žemlička.
Vestavné mikropočítačové systémy
CIT Paměti Díl X.
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
TEORIE ROZHODOVÁNÍ A TEORIE HER
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Dualita úloh lineárního programování a analýza citlivosti
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
1 Projektová dynamika II RNDr. Jiří Weinberger, TIMING Praha 28. Března 2008.
Vizuální Systém Fotbal
Zpracování SQL Lubomír Andrle 5. přednáška
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
Souborové systémy.
SQL – tříhodnotová logika
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
PROGRAM PRO VÝUKU T ČLÁNKU
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Metody řazení s lineární časovou složitostí
Vzdělávací materiál / DUMVY_32_INOVACE_02B5 Správa pamětí AutorIng. Petr Haman Období vytvořeníčerven 2013 Ročník / věková kategorie2. ročník Vyučovací.
Základní číselné množiny
Získávání informací Získání informací o reálném systému
Řešení dynamických problémů s podmínkami Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta.
Jazyk vývojových diagramů
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Informatika pro ekonomy II přednáška 3
Databáze Tabulky a typy dat VY_32_INOVACE_7B11. Proč datové typy ? Abychom mohli do tabulky vložit data, musíme jednotlivým polím (sloupcům) přiřadit.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
PicoBlaze, MicroBlaze, PowerPC
Algoritmy a programovací techniky
Paměťové obvody a vývoj mikroprocesoru
Jazyk vývojových diagramů
Databázové systémy Architektury DBS.
Datové typy a struktury
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
Vnitřní paměti a jejich rozdělení. 2 Vnitřní paměti jsou ty, které jsou umístěny na základní desce mikropočítače nebo počítače. Vnitřní paměti se vyrábějí.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Zablokování (deadlock, smrtelné objetí, uváznutí)
Architektura počítače
Vnitřní (operační paměť)
Základy operačních systémů
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Téma 6 – Správa paměti a její virtualizace
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat.
Plánování trajektorie pro bezpilotní letoun za účelem sledování pozemních objektů pomocí inerciálně stabilizované kamerové platformy Michal Kreč Vedoucí.
Ukazatele, řetězce Přednáška č. 3. Ukazatele  Ukazatel (pointer) – typ o velikosti 4 bajty (v 32bit. systémech) pro uložení adresy objektu na který ukazuje.
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
Mikroprocesor.
Základy operačních systémů
Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
VIRTUÁLNÍ PAMĚŤ EP1. Kryštof Supek. Umožňuje předložit běžícímu procesu adresní prostor paměti, který je větší, než je fyzicky připojená paměť RAM Procesor.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
A4B33OSS (J. Lažanský) verze: Podzim Obsah Téma 7 – Správa paměti 1.Požadavky a problémy správy paměti 2.Historické přístupy správy paměti 3.Segmenty.
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
Programování mikropočítačů Platforma Arduino
Vlastnosti souborů Jaroslava Černá.
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
1. ročník oboru Mechanik opravář motorových vozidel
PB 169 Počítačové sítě a operační systémy
Operační systémy 9. Spolupráce mezi procesy
PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ
Správa paměti.
PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Práce s procesy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
Přednášky z distribuovaných systémů
Paměť.
Souborové systémy 1 Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Transkript prezentace:

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 1 Obsah Téma 8 – Virtuální paměť 1.Principy virtuální paměti 2.Stránkování na žádost 3.Politika náhrad stránek a algoritmy výběru oběti 4.Algoritmus LRU a jeho aproximace 5.Přidělování prostoru procesům, problém „výprasku“ 6.Pracovní množiny 7.Otázka velikosti stránek

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 2 Principy virtuální paměti Virtuální paměť –Separace LAP a FAP –Ve FAP se nacházejí pouze potřebné části programů a dat –LAP může být větší než FAP –Adresní prostory lze sdílet –Lze efektivněji vytvářet procesy Častá synonyma –virtuální paměť – logická paměť, LAP –reálná paměť – fyzická paměť, FAP

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 3 Techniky stránkování Techniky implementace –stránkování na žádost ( Demand Paging ), segmentace na žádost ( Demand Segmentation) Líné metody, nedělá nic dopředu –stránkování při spuštění Program je celý vložen do paměti při spuštění –předstránkování ( Prepaging ) Nahrává stránku, která bude pravděpodobně brzy použita –přednahrání ( Swap prefetch ) Při výpadku stránky nahraj i sousední stránky –čištění ( Pre-cleaning ) Změněné rámce jsou uloženy na disk v době, kdy systém není vytížen

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 4 Virtuální paměti je větší než reálná

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 5 Procesy ve virtuální paměti Při startu procesu zavede OS do FAP pouze tu část programu (LAP) kam se iniciálně předává řízení –Pak dochází k dynamickým výměnám částí LAP ve FAP po stránkách či po segmentech „na žádost”, tj. až když je jejich obsah referencován Pro překlad LA → FA –Tabulkou stránek (PT) nebo tabulkou segmentů (ST) –Každá položka v PT/ST obsahuje příznak indikující přítomnost příslušné stránky (segmentu) ve FAP – příznak valid/invalid –Sadu stránek procesu, které jsou ve FAP nazýváme rezidentní množinou (resident set) –Odkaz mimo rezidentní množinu způsobuje přerušení výpadkem stránky/segmentu (page /segment fault ) Proces, jemuž chybí stránka, označí OS jako pozastavený OS spustí I/O operace k zavedení chybějící stránky do FAP (možná bude muset napřed uvolnit některý rámec, viz politika nahrazování dále) Během I/O přenosu běží jiné procesy; po zavedení stránky do paměti se aktualizuje tabulka stránek, „náš“ proces je označen jako připravený a počká si na CPU, aby mohl pokračovat

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 6 Logická paměť procesů Obvyklá skladba logické paměti jednoho procesu Sdílení virtuální paměti

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 7 Princip lokality Odkazy na instrukce programu a data tvořívají shluky Vzniká časová lokalita a prostorová lokalita –Provádění programu je s výjimkou skoků a volání podprogramů sekvenční –Programy mají tendenci zůstávat po jistou dobu v rámci nejvýše několika procedur –Většina iterativních postupů představuje malý počet často opakovaných instrukcí, –Často zpracovávanou strukturou je pole dat nebo posloupnost záznamů, které se nacházejí v „sousedních“ paměťových lokacích Lze pouze dělat odhady o částech programu/dat, která budou potřebná v nejbližší budoucnosti Hlavní paměť se může zaplnit –V takovém případě, něco umístit do FAP znamená, že nejdříve musíme něco z FAP odložit

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 8 Stránkování na žádost Kdy stránku zavádět? (Fetch policy) –Při překladu LA → FA se zjistí, že stránka není ve FAP (bit Valid/Invalid v položce PT) Pokud je invalid, generuje se přerušení typu výpadek stránky Při inicializaci procesu jsou všechny bity nastaveny na invalid Základní politika: –Vlastní stránkování na žádost (Demand paging) Stránka se zavádí jako důsledek přerušení typu výpadek stránky Výhoda: Málo I/O operací Nevýhoda: Na počátku běhu procesu se tak tvoří série výpadků stránek a proces se „pomalu rozbíhá“

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 9 Stránkování na žádost – vylepšení Předstránkování (Pre-paging) –Sousední stránky LAP obvykle sousedí i na sekundární paměti, a tak je jich zavádění poměrně rychlé bez velkých přejezdů diskových hlaviček –Platí princip časové lokality – proces bude pravděpodobně brzy odkazovat blízkou stránku v LAP –Zavádí se proto najednou více stránek –Vhodné zejména při inicializaci procesu –Výhoda: Menší počet výpadků stránek –Nevýhoda: Často se zavádějí i nepotřebné stránky Čištění (Pre-cleaning) –Pokud má počítač volnou kapacitu na I/O operace, lze spustit proces kopírování změněných stránek na disk –Výhoda: uvolnění stránky je rychlé, pouze nahrání nové stránky –Nevýhoda: Může se jednat o zbytečnou práci, stránka se ještě může změnit

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 10 v/i ( Valid/Invalid ) bit v tabulce stránek (PT)

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 11 Stránkování – Politika nahrazování Co činit, pokud není volný rámec ve FAP –Např. v okamžiku zvýšení stupně paralelismu (nový proces) –Musí se vyhledat vhodná stránka pro náhradu (tzv. oběť) Politika nahrazování ( Replacement Policy) někdy též politika výběru oběti –Kterou stránku „obětovat“ a „vyhodit“ z FAP? –Kritérium optimality algoritmu: minimalizace počtu (či frekvence) výpadků stránek Určení oběti: –Politika nahrazování říká, jak řešit problémy typu Kolik rámců procesu přidělit? Kde hledat oběti? Jen mezi stránkami procesu, kterému stránka vypadla nebo lze vybrat oběť i mezi stránkami patřícími ostatním procesům? –Některé stránky nelze obětovat Některé stránky jsou „zamčené“, tj. neodložitelné, typicky V/V vyrovnávací paměti, řídicí struktury OS,... –Je-li to třeba, musí se rámec vypsat na disk („swap out“) Nutné, pokud byla stránka od svého předchozího „swap in“ modifikována. K tomu účelu je v řádku PT tzv. dirty (modified) bit, který je automaticky (hardwarově) nastavován při zápisu do stránky (rámce).

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 12 Algoritmy výběru oběti Požadujeme minimální frekvenci výpadků stránek Volba vhodného algoritmu –Algoritmus se vyhodnocuje tak, že se pro zadanou posloupnost referencí na stránky (tzv. řetězec referencí) se modeluje a počítá množství výpadků stránek při daném počtu rámců Pro naše ukázky použijeme řetězec referencí 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Očekávané chování: kvalitativní graf

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 13 Algoritmus First-In-First-Out (FIFO) 3 rámce (ve FAP mohou být až 3 stránky) 4 rámce (ve FAP mohou být až 4 stránky) –Beladyho anomálie (oproti očekávání: více rámců – více výpadků) FIFO – jednoduché, avšak neefektivní –I staré stránky se používají často Reference: Výpadky tučně Číslo rámceObsahy rámců výpadků Reference: Výpadky tučně Číslo rámceObsahy rámců výpadků

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 14 Optimální algoritmus Oběť – stránka, která bude odkazována ze všech nejpozději ( tj. po nejdelší dobu se do ní odkaz nepovede ) Budoucnost však neznáme –lze jen přibližně predikovat Lze užít jen jako porovnávací standard pro ostatní algoritmy Příklad: 4 rámce Díky zadanému řetězci referencí „známe budoucnost“ Reference: výpadků (Lepšího výsledku dosáhnout nelze) Číslo rámceObsahy rámců

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 15 Algoritmus LRU ( Least Recently Used ) Predikce založená na nedávné historii –Předpoklad: Stránka, která nebylo dlouho odkazována, nebude odkazována ani v blízké budoucnosti Oběť – stránka, která nejdelší dobu nebyla odkazována LRU se považuje za nejlepší aproximaci optimálního algoritmu Příklad: 4 rámce Reference: Výpadky tučně Číslo rámceObsahy rámců výpadků –FIFO 10 výpadků; optimální algoritmus 6 výpadků

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 16 Algoritmus LRU – implementace Řízení hodinami –Ke každé stránce (rámci) je hardwarově připojen jeden „časovací“ registr, do nějž se při přístupu do stránky okopírují systémové hodiny. Při hledání oběti se použije stránka s nejstarším časovým údajem Přesné, ale náročné jak hardwarově tak i softwarově – prohledávání časovacích registrů Zásobníková implementace –Používá se obousměrně vázaný zásobník čísel referencovaných stránek Při referenci přesune číslo stránky na vrchol zásobníku Při určování oběti se nemusí prohledávat, oběť je na dně zásobníku Přesun na vrchol zásobníku je velmi náročný a hardwarově obtížně řešitelný, softwarové řešení nepřichází v úvahu –Nutno dělat při každém přístupu do paměti!

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 17 Aproximace algoritmu LRU Příznak přístupu ( Access bit, reference bit ) – a-bit –Spojen s každou stránkou, po „swap-in“ = 0, při referenci rámce hardwarově nastavován na 1 –Jako oběť se volí stránka s a = 0 (existuje-li). Algoritmus druhá šance –Používá a-bit, FIFO seznam zavedených stránek a tzv. mechanismus hodinové ručičky Každá reference rámce „přidá život“ Každé ukázání hodinové ručičky způsobí, že rámec ztratí jeden „život“ Obětí se stane stránka, na niž ukáže hodinová ručička a rámec nemá žádný „život“, který by mohl ztratit –Fakticky FIFO, avšak z výběru oběti se vynechává stránka aspoň jednou referencovaná od posledního výpadku

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 18 Algoritmus „Druhá šance“ Při výpadku stránky se zkoumá rámec, na nějž ukazuje ručička. Akce závisí na hodnotě a-bitu: a=0: vezmi tuto stránku jako oběť a=1: vynuluj a, ponechej stránku v paměti a posuň ručičku o pozici dále na další stránku aplikuj tatáž pravidla –Numerické simulace chování tohoto algoritmu ukazuje, že je velmi blízký opravdovému LRU

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 19 Modifikace aproximovaného LRU Modifikovaná druhá šance –NRU – not recently used –Používá vedle a-bitu i bit modifikace stránky (dirty bit, d-bit)‏ –Časovač pravidelně maže a-bit, proto je možná stránka s nastaveným d-bitem a nulovým a-bitem –Pořadí výběru (da): 00, 01, 10, 11 Priorita d-bitu šetří nutnost výpisu modifikované stránky na disk Stárnutí (aging) –a-bit je v rámci zvoleného časového okna pravidelně ukládán a staré hodnoty a-bitu jsou posouvány –Časové okno omezeno HW architekturou –Pokud je historie přístupu ke stránce {0,0,1,0,1}, pak to odpovídá číslu 5 (00101) –Nejmenší hodnota značí stránku, která byla použita nejpozději ve snímaném časovém okně

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 20 Čítací algoritmy Čítač referencí –Ke každému rámci je přiřazen čítač Při „swap-in“ se nuluje S každou referencí rámce se obsah čítače inkrementuje Algoritmus LFU ( Least Frequently Used ) –obětí je stránka s nejmenší hodnotou čítače (nejméně často odkazovaná stránka) Algoritmus MFU ( Most Frequently Used ) –obětí je stránka s největší hodnotou čítače Zdánlivě podivné, avšak myšlenka je taková, že stránka s nejmenším čítačem byla pravděpodobně právě zavedena do paměti (v souvislosti s „pre-pagingem“) a ještě nestačila být referencována

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 21 Přidělování rámců procesům Lokální nahrazování –Proces má pevný počet rámců a stránka se nahrazuje z jeho množiny rámců Globální nahrazování –Proces může použít libovolný rámec paměti Principy přidělování –Pevné přidělování Procesu je přidělen pevný počet rámců (buď zcela fixně, nebo úměrně velikosti jeho LAP) –Prioritní přidělování Procesy s vyšší prioritou dostanou větší počet rámců, aby běžely „rychleji“ Způsobí-li proces výpadek, je mu přidělen rámec dosud patřící procesu s nižší prioritou

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 22 Přidělování rámců procesům (2) Obvyklé politiky –Pevný počet rámců Podhodnocení potřebného počtu rámců způsobí velkou frekvenci výpadků Nadhodnocení má za následek snížení stupně paralelismu –Proměnný počet rámců přidělovaných globálně (tj. z rámců dosud patřících libovolnému procesu) Snadná a klasická implementace, užíváno mnoha OS (UNIXy) Nebezpečí „výprasku“ (thrashing) –mnoho procesů s malým počtem přidělených rámců → mnoho výpadků –Proměnný počet rámců přidělovaných lokálně (tj. z rámců patřících procesu, který způsobil výpadek) Tzv. pracovní množiny (working sets) – průběžně se zjišťuje posloupnost odkazů na stránky a na základě této historie se určuje způsob výběru obětí Velmi vhodná technika, jen je třeba průběžně sledovat paměťové potřeby jednotlivých procesů a přidělovat jim odpovídající počet rámců

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 23 Problém výprasku, Thrashing Jestliže proces nemá v paměti dost stránek, generuje výpadky stránek velmi často –nízké využití CPU –OS „má dojem“, že může zvýšit stupeň multiprogramování, protože se stále se čeká na dokončení V/V operací (odkládání a zavádění stránek) –Tak se dostávají do systému další procesy a situace se zhoršuje Thrashing – počítač nedělá nic jiného než výměny stránek Stupeň multiprogramování Využití CPU

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 24 Jak reálně řídit virtuální paměť? Kolik rámců dávat procesu k jeho běhu? Model pracovní množiny procesu P i (working set) WS i –Množina stránek, kterou proces referencoval při posledních n přístupech do paměti (n ~ – tzv. okno pracovní množiny) –WS i se v čase mění –Pracovní množina je aproximace prostorové lokality procesu –Jak to ale určovat? Při každém přerušení od časovače lze např. sledovat a-bity stránek procesu, nulovat je a pamatovat si jejich předchozí hodnoty. Jestliže a-bit bude nastaven, byla stránka od posledního hodinového „tiku“ referencována a patří do WS i Časově náročné, může interferovat s algoritmem volby oběti stránky, avšak účelné a často používané –Pokud suma všech WS i (počítaná přes všechny procesy) převýší kapacitu dostupné fyzické paměti, vzniká „výprask” (thrashing) –Ochrana před vznikem „výprasku” např. jeden proces se pozastaví

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 25 Model pracovní množiny (working set) Implementace (aproximace) –Pomocí časovače a a-bitů jednotlivých stránek –Např. pro n=10 000: Časovač přerušuje každých časových jednotek O každé stránce se v paměti evidují 2 bity Při přerušení se okopírují a-bity do evidenční tabulky a a-bit ← 0 Je-li aspoň jeden bit v položce evidenční tabulky = 1, stránka je ve WS –Možné zpřesnění: O každé stránce 10 bitů, přerušení každých časových jednotek Větší režie paměti, častější úprava evidenční tabulky

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 26 Otázka velikosti stránek Velké stránky –Malý počet výpadků –Velká vnitřní fragmentace –Pokud délka stránky je větší než délka programu, vše je ve FAP a není potřeba žádná virtualizace Malé stránky –Velký počet malých stránek Stránka se často najde v paměti → málo výpadků –Čím menší stránky, tím je menší vnitřní fragmentace, avšak klesá efektivita diskových operací při výměnách stránek (mnoho přenosů malých bloků) stránek více a roste potřebná velikost tabulky stránek a s tím spojená náročnost vyhledání vhodné oběti při výpadku stránky –Veliká tabulka stránek (PT) PT trvale (neodložitelně) ve FAP – zabírá mnoho místa a zmenšuje efektivně využitelnou paměť Umístění PT ve virtuální paměti způsobuje až dvojnásobný počet výpadků stránek (samotný přístup do PT může způsobit výpadek!) Frekvence výpadků stánek → Velikost stránky→ P Mnoho malých stránek ve FAP Celý proces v jedné stránce Méně stánek, avšak mnohé obsahují nepotřebná data

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 27 Způsob programování a výpadky Technika programování aplikací může významně ovlivnit efektivitu double data[512][512]; –Předpokládáme, že double zabírá 8 bytů –Každý řádek pole zabírá 4 KB a je uložen v jedné stránce velké 4 KB –Je tedy dobré vědět, jak se data ukládají v paměti a účelně k nim přistupovat Postup 1: for (j = 0; j <512; j++) for (i = 0; i < 512; i++) data[i][j] = i*j; Potenciálně až 512 x 512 = výpadků Postup 2: for (i = 0; i <512; i++) for (j = 0; j < 512; j++) data[i][j] = i*j; Jen 512 potenciálních výpadků

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 28 Stránkování ve Windows XP Stránkování na žádost s použitím,,prepaging“ –do paměti se zavádí chybějící stránka a stránky okolní Používá se technika pracovních množin (WS) –Z měření WS se určuje minimální počet stránek, které musí mít proces ve FAP –Klesne-li objem volné paměti v systému pod jistý práh, automaticky se přehodnotí WS s cílem obnovit dostatečný objem volné paměti Z FAP se odstraňují stránky procesům, které mají v hlavní paměti více než minimum určené metodou WS Přesto se v praxi setkáváme u Windows XP s nedostatkem paměti – „výpraskem“ –Doporučené minimum fyzické paměti – 128 MB –Reálně použitelné minimum – 384 MB

A4B33OSS (J. Lažanský) verze: Podzim 2010 Virtuální paměť 29 Dotazy