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



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

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

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í

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

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

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

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

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

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

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

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

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. Přednáška 8: Správa paměti II

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

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)

Systém adresace paměti

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

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

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

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

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

Memory Management vjj 1

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

Memory Management vjj 1

Paměti a jejich organizace

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

Adresování paměti. Adresní prostor. Adresní módy (v instrukcích) T.Mainzer

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

Petr Krajča. 25. listopad, 2011

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

PRINCIPY OPERAČNÍCH SYSTÉMŮ

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

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.

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

Pokročilé architektury počítačů

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

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

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

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

Procesy. Procesy Přepínání kontextu (proc_ctxsw) Postup:

p8mm/p8mm.d 21. listopadu

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

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

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

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

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

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

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

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

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

Pamět ová hierarchie, návrh skryté paměti cache 2

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Ukázka zkouškové písemka OSY

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT

B4B35OSY: Operační systémy

Logická organizace paměti Josef Horálek

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

4 Správa paměti. 4.1 Základní správa paměti

požadovan adované velikosti a vlastností Interpretace adresy POT POT

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

Adresní mody procesoru

Cache paměť - mezipaměť

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Vnitřní a vnější paměti Část: vnitřní paměti

Architektury počítačů

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

HelenOS ARM port. Pavel Jančík Michal Kebrt Petr Štěpán

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

Ing. Igor Kopetschke TUL, NTI

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

Princip funkce počítače

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

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

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

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

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

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Management procesu I Mgr. Josef Horálek

PROTOKOL O LABORATORNÍM CVIČENÍ

Virtualizace. Lukáš Krahulec, KRA556

Vstup-výstup Input-Output Přehled a obsluha

MSP 430F1611. Jiří Kašpar. Charakteristika

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

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)

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

DIPLOMOVÁ PRÁCE. Jiří Tlach Moderní operační systém bez MMU

Operační systémy. Přednáška 1: Úvod

Vnitřní a vnější paměti Část: vnitřní paměti

Pokročilé architektury počítačů

Rychlá vyrovnávací paměť v architektuře PC

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

Algoritmizace a programování

Pokročilé architektury počítačů

Integrovaná střední škola, Sokolnice 496

AGP - Accelerated Graphics Port

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

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns ms rychlost toku dat (tj. počet přenesených bitů za sekundu)

Transkript:

Pi Principy i počítačů čů PAMĚŤOVÝ SUBSYSTÉM z pohledu OS

Správa paměti OS je správcem prostředků, tedy i paměti přidělování procesům zajištění ochrany systému i procesů zajištění požadavků aniž by došlo k zablokování

Hierarchie pamětí mikropočítače registry procesor vn nitřní vyrovnávací L1 L2 h paměť hlavní paměť L1,L2 cache RAM vnější odkládací (sekundární) paměť archivní paměť pevný ýdisk CD, DVD, pásek

PŘIDĚLOVÁNÍ PAMĚTI (spojité - nespojité) Přidělování v jednouživatelských OS:

Přidělování v prostředí více procesů Problém relokace a ochrany Základní metodiky rozdělení paměti pevné oddíly paměť rozdělena na oddíly specifické velikosti, procesy ve frontách podle požadované velikosti volné oddíly procesy dostávají paměť podle potřeby

Relokace Při psaní programu nejsou známy absolutní adresy, přiřazují se později : Připřekladu je-li známo absolutní umístění Při zavádění OS rozhodne o umístění kód se generuje s relokacemi + relativním adresováním Za běhu proces se může za běhu stěhovat

Řízení paměti Bitová mapa Bloky stejné délky, paragrafy Spojový seznam Bloky různých délek Je třeba řešit: který blok spojování volných bloků

Strategie přidělování First Fit Next Fit Best Fit Worst Fit 6 5 3 10 20 4

Virtuální paměť Oddělení adresového prostoru procesu od adresového prostoru fyzické paměti Transparentní (z hlediska procesu) převod mezi adresami

Virtuální paměť Ochrana Cena Snížení nebezpečí uváznutí Snížená fragmentace Pohodlí flat address space stejný svět rozšíření / zmenšení prostoru

Virtuální paměť Klíč převod virtuálních adres na fyzické (parciální zobrazení) 2 základní metody: stránkování segmentace

Stránkování fyzická paměť správce představa ř procesu rámec 0 stránka tá 0 rámec 1...... rámec N-1 stránka i... stránka M-1

Stránkování Virtuální adresový prostor rozdělen na bloky stejné velikosti stránky (pages) Fyzický adresový prostor rozdělen na bloky stejné velikosti jako stránky rámce (frames)

Pohled uživatele vs realita Pohled uživatele: spojitý adresový prostor Skutečnost: stránky rozházeny po hlavní i sekundární paměti, některé chybějí zcela stránkování je neviditelné pro proces/uživatele!

Adresa ve virtuálním prostoru vyjádřena jako dvojice [p,d] Mechanismus stránkování převede číslo stránky p na odpovídající íčíslo rámce p (lze-li to) mapování. Adresa ve fyzickém prostoru je pak vyjádřena dvojicí [p,d] Neexistuje-li mapování, dojde k výpadku stránky (page fault)

Překlad adres Překlad zajišťuje hardware (procesor/mmu) Mapování definuje operační systém Stránkovací tabulky Struktury potřebné k zajištění mapování adresa rámce pro danou stránku příznaky (platnost, přístup, )

Překlad adresy u stránkování page number page offset virtuální adresa (lineární ) stránkovací tabulka fyzická adresa příznaky rámec

Problémy stránkování interní fragmentace velikost stránkovacích tabulek 32b adresy 4GB, stránky 4kB stránkovací tabulka má 1M položek rychlost přístupu do stránkovacích tabulek instrukce s paměťovými operandy...

Výběr velikosti stránky Malé stránky malá lokalita referencí (typ. < 256) + menší fragmentace - velké stránkovací tabulky Vlké Velké stránky ák + malé stránkovací tabulky + lépe vyhovuje I/O - vetší fragmentace

Reálný příklad (4MB stránky)

Úpravy Víceúrovňové stránkování řeší problém velikosti tabulek TLB / Asociativní paměť řeší problém rychlosti přístupu Nulaúrovňové stránkování nejsou stránkovací tabulky, pouze asociativní paměť Inverzní stránkovací tabulky organizace nad rámci, nikoli stránkami

Reálný příklad (4kB stránky) - víceúrovňové stránkování

TLB lokalita chování programů asociativní paměť Platné Stránka Dirty Ochrana Rámec 1 125 1 RW 654 1 44 0 RW 132 1 485 1 RW 12 0 1 55 0 R X 142 1 111 0 R X 54 1 108 1 RW 54 1 88 0 R X 543

Inverzní stránkovací tabulky FAP menší než VAP 64-bitové CPU IA-64 VA p d f d FA hash fn hash table p f

Záznam stránkovací tabulky

Výpadek stránky Chybí převod VA FA, tedy nelze přistoupit k datům, tedy nelze vykonat instrukci výjimka: uložit kontext (stav CPU) zjistit VA zkontrolovat platnost adresy a oprávnění přístupu nalézt rámec pro mapování zrušit aktuální mapování rámce (a příp. uložit!) načíst stránku do rámce zavést mapování obnovit kontext

Algoritmy výměny stránek Replacement policy Optimální stránka Random Working set FIFO First in, first out LRU Least Recently Used NRU Not Recently Used NFU Not Frequently Used CLOCK Hodinový algoritmus

Optimální stránka Vybrána bude stránka, na kterou přistoupíme za nejdelší dobu nelze obecně implementovat Random Stránka bude vybrána zcela náhodně

Working Set Model Proces může být v RAM tehdy a jen tehdy, pokud všechny jím používané stránky mohou být v RAM ( all or nothing ) používané znamená přístup v rozsahu okna přístupů Stránkovací algoritmus vyhazuje jen stránky, které nejsou ve Working Set problém je jeho udržování

FIFO klasická fronta: nahrazení stránky, která byla v paměti nejdéle odstraňuje i často používané stránky zajímavost: Beladyova anomálie : zvýšení počtu rámců můževéstikezvýšení počtu výpadků

Beladyova anomálie

FIFO s druhou šancí úprava FIFO zavedením druhé šance pokud A=1, zařadím na konec fronty nevykazuje anomálii

NRU Not Recently Used Příznaky Accessed, Dirty (nastavuje HW, nuluje OS) Algoritmus: periodické nulování A při výpadku volím náhodně ze tříd v pořadí A-D: 0-0, 0-1, 1-0, 1-1 (tj. z nejnižší neprázdné třídy)

LRU Least Recently Used dlouho nepoužívané stránky asi nebudu potřebovat, naopak nedávno používané asi ano seznam, který je při každém přístupu upravován HW realizace: 64b čítač, který CPU při přístupu uloží do PTE, vybírá se nejnižší matice n n, při přístupu do rámce k nastavíme k-tý řádek na 1 a k-tý ýsloupec na 0 vybírá se řádek s nejméně jedničkami

NFU Not Frequently Used SW řešení LRU Čítač u stránek: periodicky přičítáme A vybíráme stránku s nejnižší hodnotou čítače Problém nezapomíná a znevýhodňuje mladé Úprava stárnutí (aging): posunu doprava, přičtu doleva

CLOCK Hodinový algoritmus Second chance Stránky jsou zařazeny v kruhovém seznamu Nastavování A Při výpadku: Je-li A=0, vyměním, je-li A=1, nastavím A=0 a posunu se

Mapovací strategie Lokální každý proces má svou množinu rámců, ve které provádí mapování (viz Working set) Globální všechny procesy sdílí všechny rámce

Implementační problémy znovuspuštění vs. dopracování instrukce sdílení stránek odstranění položky v TLB přizměně mapování

Segmentace fyzická paměť správce představa ř procesu segment M segment i segment 0 segment i... segment 0 segment M-1

Segmentace Segment nezávislý adresový prostor 0..limit Organizace podle potřeb a struktury programu kód, data, zásobníky, Segmenty různé a měnitelné velikosti Umístění segmentu v paměti je pro proces neviditelné (jako u stránkování) Výpadky segmentů obdobně jako u stránkování

Překlad adresy u segmentace segment number segment offset virtuální adresa (logická) tabulka segmentů + příznaky adr. začátku segmentu fyzická adresa (lineární )

Problémy segmentace Při výpadku je nutné vyměnit celý segment a segment může být velký Segment nemůže být větší než FAP Dynamická alokace externí fragmentace checkerboarding ale lze je sesypat

příklad kombinace segmentace a stránkování Jednotka řízení paměti (MMU - memory management unit) 46 Segmentace 32 Logická adresa (Logical address) Lineární adresa (Linear address) Stránkování 32 (32-36) Fyzická adresa (Physical address)

Možný překlad adresy virtuální adresa segment number page number page offset tabulka segmentů stránkovací tabulka(y) + fyzická adresa

Možný překlad adresy virtuální adresa segment number page number page offset tabulka segmentů stránkovací tabulka(y) + fyzická adresa

Segmented paging Rozdělení (segmenting) stránkovací tabulky + sdílení kódu + zmenšení nároků na stránkovací tabulku - větší komplexita, overhead - stránkovací tabulky stále musí být spojité - každý ýpřístup p do paměti znamená 2 vyhledání

Srovnání Segmentace programátor musí vědět externí fragmentace separátní ochrana sdílený kód, separátní kompilace Stránkování programátor nemusí vědět interní fragmentace