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

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

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

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

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

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

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

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

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

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

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

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

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

Systém adresace paměti

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

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

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)

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

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

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

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

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

B4B35OSY: Operační systémy

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

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

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

Techniky stránkování. Principy virtuální paměti

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

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

Požadavky na správu paměti

Základní fakta. Téma 6 Správa paměti a jejívirtualizace

Struktura programu v době běhu

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Architektury počítačů a procesorů

Požadavky na správu paměti

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

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

Fakulta informačních technologií Božetěchova 2, BRNO 26. dubna 2011

Přidělování CPU Mgr. Josef Horálek

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

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

Princip funkce počítače

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

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

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

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška IV. 18. listopad, / 41

Datové typy a struktury

Profilová část maturitní zkoušky 2014/2015

Činnost počítače po zapnutí

Petr Krajča. 25. listopad, 2011

Memory Management vjj 1

IUJCE 07/08 Přednáška č. 6

Management procesu I Mgr. Josef Horálek

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Memory Management vjj 1

Procesy a vlákna (Processes and Threads)

Principy operačních systémů. Lekce 7: Souborový systém

OS Správa paměti. Tomáš Hudec.

I. Dalšívnitřní paměti

Systém souborů (file system, FS)

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

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

OPS Paralelní systémy, seznam pojmů, klasifikace

Pokročilé architektury počítačů

Základní fakta. Téma 6 Správa paměti a jejívirtualizace

Zálohování v MS Windows 10

Ukázka zkouškové písemka OSY

Paralelní programování

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Paměti a jejich organizace

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

Metody připojování periferií BI-MPP Přednáška 2

Profilová část maturitní zkoušky 2015/2016

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

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

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

Pamět ová hierarchie, návrh skryté paměti 2. doc. Ing. Róbert Lórencz, CSc.

1. Databázové systémy (MP leden 2010)

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

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Úvod do architektur personálních počítačů

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

PB002 Základy informačních technologií

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

C2115 Praktický úvod do superpočítání

Sekvenční logické obvody

PB153 Operační systémy a jejich rozhraní

Datové struktury 2: Rozptylovací tabulky

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Pohled do nitra mikroprocesoru Josef Horálek

PAMĚŤOVÝ SUBSYSTÉM. Principy počítačů I. Literatura. Parametry paměti. Parametry paměti. Dělení pamětí podle funkce. Kritéria dělení pamětí

Windows 10 (5. třída)

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Transkript:

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

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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

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

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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

Logická paměť procesů Obvyklá skladba logické paměti jednoho procesu Sdílení virtuální paměti Zásobník Zásobník Zásobník Halda (heap) Halda (heap) Data Halda (heap) Sdílená knihovna Data Sdílené stránky Sdílená knihovna Data Kód Kód Kód ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 6

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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 7

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á ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 8

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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 9

v/i (Valid/Invalid) bit v tabulce stránek (PT) Stránka 0 Stránka Stránka Stránka Stránka Stránka Logická paměť Čísla rámců 0 6 7 0 9 0 0 v v v i v v i i Tabulka stránek v/i bity 0 6 7 8 9 Stránka 0 Stránka Stránka Stránka Stránka. n ABOSS (J. Lažanský) verze: Podzim 00 Fyzická paměť Virtuální paměť 0

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 ABOSS (J. Lažanský) verze: Podzim 00 (hardwarově) nastavován při zápisu do stránky (rámce). Virtuální paměť

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í,,,,,,,,,,, Očekávané chování: kvalitativní graf Počet výpadků stránky 0 8 6 0 ABOSS (J. Lažanský) verze: Podzim 00 8 6 0 0 6 Počet rámců Virtuální paměť

Virtuální paměť ABOSS (J. Lažanský) verze: Podzim 00 Algoritmus First-In-First-Out (FIFO) rámce (ve FAP mohou být až stránky) rámce (ve FAP mohou být až 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 9 výpadků Reference: Výpadky tučně Obsahy rámců Číslo rámce 0 výpadků Reference: Výpadky tučně Obsahy rámců Číslo rámce

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: rámce Díky zadanému řetězci referencí známe budoucnost Reference: Číslo rámce Obsahy rámců 6 výpadků (Lepšího výsledku dosáhnout nelze) ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

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: rámce Reference: Číslo rámce Obsahy rámců Výpadky tučně 8 výpadků FIFO 0 výpadků; optimální algoritmus 6 výpadků ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

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! ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 6

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 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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 7

H/ A/0 Algoritmus Druhá šance B/ 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ěť G/ F/0 D/0 C/ a=: vynuluj a, ponechej stránku v paměti a posuň ručičku o pozici dále na další stránku aplikuj tatáž pravidla E/ Numerické simulace chování tohoto algoritmu ukazuje, že je velmi blízký opravdovému LRU ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 8

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, 0, 0, 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,,0,}, pak to odpovídá číslu (000) Nejmenší hodnota značí stránku, která byla použita nejpozději ve snímaném časovém okně ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 9

Čí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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 0

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 ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

Přidělování rámců procesům () 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ů ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

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 Využití CPU ABOSS (J. Lažanský) verze: Podzim 00 Stupeň multiprogramování Virtuální paměť

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 ~ 0.000 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í ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

Model pracovní množiny (working set) Implementace (aproximace) Pomocí časovače a a-bitů jednotlivých stránek Např. pro n=0 000: Časovač přerušuje každých.000 časových jednotek O každé stránce se v paměti evidují 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 =, stránka je ve WS Možné zpřesnění: O každé stránce 0 bitů, přerušení každých 000 časových jednotek Větší režie paměti, častější úprava evidenční tabulky ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť

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 ABOSS (J. Lažanský) verze: Podzim 00 Otázka velikosti stránek 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 Frekvence výpadků stánek Mnoho malých stránek ve FAP Méně stánek, avšak mnohé obsahují nepotřebná data Velikost stránky 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!) Celý proces v jedné stránce P Virtuální paměť 6

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

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 8 MB Reálně použitelné minimum 8 MB ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 8

Dotazy ABOSS (J. Lažanský) verze: Podzim 00 Virtuální paměť 9