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

Podobné dokumenty
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ř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

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

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

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

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

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

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

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

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

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

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

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

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

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

Systém adresace paměti

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

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

p8mm/p8mm.d 21. listopadu

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.

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

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:

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

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

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

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

Memory Management vjj 1

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

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

Memory Management vjj 1

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

Osobní počítač. Zpracoval: ict Aktualizace:

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

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

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

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

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

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

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

Základní pojmy informačních technologií

Souborový systém (File System FS) Souborové systémy. Souborová fragmentace. Disková fragmentace. Organizace dat na pevném disku

Operační systémy 1. Přednáška číslo Souborové systémy

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)

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

Ing. Igor Kopetschke TUL, NTI

Paměti a jejich organizace

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

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

Pokročilé architektury počítačů

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

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

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

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Hardware. Příklad převodu čísla: =1*32+0*16+0*8+1*4+0*2+1*1= Převod z dvojkové na desítkovou Sčítání ve dvojkové soustavě

OZD. 2. ledna Logický (Objekty, atributy,...) objekty stejného typu.

ReDefine Midrange Storage VNX/VNXe. Václav Šindelář, EMC

Administrace OS Unix. filesystém UFS mount snapshot RAID

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

11. Přehled prog. jazyků

PROCESOR. Typy procesorů

Procesy a vlákna (Processes and Threads)

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

Pokročilé architektury počítačů

Správa paměti. Ing. Marek Běhálek katedra informatiky FEI VŠB-TUO A-1018 / marek.behalek@vsb.

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

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

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

Adresní mody procesoru

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

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

Činnost počítače po zapnutí

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

Název školy: Základní škola a Mateřská škola Žalany

Počítačová sestava paměti, operační paměť RAM

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

NMIN102 Programování /2 Z, Zk

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

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Architektura počítačů

Matematika v programovacích

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Architektura Intel Atom

Logická organizace paměti Josef Horálek

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

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

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA

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

Architektura počítače

ORGANIZACE A REALIZACE OPERAČNÍ PAMĚTI

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

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

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

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

Transkript:

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 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti 1

Správa paměti (SP) Memory Management Unit (MMU) hardware umístěný na CPU čipu např. překládá logické adresy na fyzické adresy Memory Manager software, který je součástí OS udržuje informaci volné a přidělené paměti přiděluje a uvolňuje paměť zajišťuje odkládání (swapping) procesů 2

Přemístění (Relocation) Při kompilaci není většinou známo umístění procesu ve fyzické paměti. Každý odkaz do paměti v programu musí být přepočítán podle aktuálního umístění procesu ve fyzické paměti. V programu se můžeme odkazovat na další programy (např. knihovny). 3

Spojování a zavedení programu 4

Spojování programu (linking) Statické spojování (static linking) Vytvoří se jeden load module s relativními adresami vztaženými k začátku modulu. Dynamické spojování Load module obsahuje odkazy na další programy. Load-time dynamic linking odkazy na další programy se nahradí v okamžiku zavedení do paměti. Run-time dynamic linking odkazy na další programy se nahradí v okamžiku provádění instrukce. 5

Zavedení programu (loading) Absolutní zavedení (absolute loading) každý odkaz do paměti v programu obsahuje absolutní fyzickou adresu program musí být zaveden vždy od dané fyzické adresy při sestavování programu musíme určit kam bude program zaveden Přemístitelné zavedení (relocatable loading) každý odkaz do paměti v programu obsahuje relativní adresu (adresa vztažená k určitému bodu) informace o paměťových odkazech je uložena v relocation dictionary přepočítání relativní adresy na fyzickou se provede při zavedení programu do fyzické paměti Dynamic run-time loading každý odkaz do paměti v programu obsahuje relativní adresu (adresa vztažená k určitému bodu) program je zaveden do paměti s relativními adresami relativní adresa se přepočte na fyzickou teprve při provádění instrukce 6

Další požadavky na SP Ochrana Každý proces musí být chráněn před nechtěnými přístupy z ostatních procesů. Sdílení Umožnění přístupu ke společné paměti (např. několik procesů provádí stejný program). Logická organizace (logický adresový prostor) Lineární (jednorozměrný) adresový prostor. SW se obvykle skládá z modulů více lineárních prostorů (např. s různými právy, kompilovány v různém čase, ). Fyzická organizace (fyzický adresový prostor) Fyzická paměť se skládá z různých úrovní. 7

Cache princip Parametry Cache Hit (CH), Cache Miss (CM), Cache Reference (CR=CH+CM), Cache Hit Ratio = CH/CR = CH/(CH+CM) Příklady CPU cache (interní L1, externí L2 a L3) Disk cache, FS cache 8

Hierarchie pamětí Inboard memory Outboard storage magnetické disky 1G -11TB, 200ms, Software flash drive CD-ROM, CD-RW DVD v e l i k o s t č a s p ř í s t u p u s p r a v u j e r e g i s t r y < 1 K B ~ 1 n s C o m p i l e r L 1 c a c h e 1 M B ~ 1 0 n s H a r d w a r e L 2 c a c h e 0. 5-8 M B ~ 2 0 n s H a r d w a r e h l a v n í p a m ě ť 1 6 M B - 6 4 G B ~ 2 0 0 n s S o f t w a r e Off-line storage magnetické pásky 20-100GB, 100s, Software 9

Hierarchie pamětí 10

Cache Hlavní paměť 11

Cache design Velikost cache (cache size) Velikost bloku (block size) Mapovací funkce (mapping function) Nahrazovací algoritmus (replacement alg.) Strategie zapisování (write policy) 12

Základní techniky SP Fixní oblasti (fixed partitioning) Dynamické oblasti (dynamic partitioning) Jednoduché stránkování (simple paging) Jednoduchá segmentace (simple segmentation) Virtuální paměť se stránkováním (virtual memory paging) Virtuální paměť se segmentací (virtual memory segmentation) 13

Fixní oblasti Paměť je rozdělena na n oblastí různých velikostí (většinou při spuštění systému). Program je nahrán do stejně velké oblasti nebo větší. Velkost paměťových oblastí se nemění během běhu OS. 14

Fixní oblasti Oddělené vstupní fronty pro každou oblast Nevýhoda: nerovnoměrné obsazení front Společná vstupní fronta Strategie výběru úlohy pro volnou oblast best fit nalezení největší úlohy, která se vejde do oblasti first fit nalezení první úlohy, která se vejde do oblasti Nevýhoda best fit znevýhodňuje malé (interaktivní) úlohy first fit plýtvá místem velkých oblastí Řešení nevýhody best fit Úloha, která by mohla běžet, nesmí být předběhnuta více než k krát.. Při každém předběhnutí získá bod. Pokud má úloha k bodů nemůže být předběhnuta. 15

Fixní oblasti Výhody jednoduchá implementace malé režijní náklady Nevýhody interní fragmentace (místo uvnitř oblasti není využito na 100 %) počet procesů v paměti je fixní 16

Fixní oblasti Přemístění adresy proměnných, návěští skoků, jsou přepočítány v okamžiku nahrání programu do paměti sestavovací program musí do binárního programu zapsat informaci, která slova v programu obsahují adresy paměti, aby mohly být přepočítány Ochrana paměť je rozdělena na bloky každý blok je svázán s n-bitovým ochranným klíčem, který určuje zda daná úloha smí přistupovat k datům v tomto bloku (IBM 360-2kB bloky, 4bitový klíč). 17

Fixní oblasti Každá oblast paměti má dva registry (bázový a limitní registr), které obsahují nejmenší a největší adresu této oblasti. Když přistupujeme k paměti, bázový registr je přičten k adrese paměti a výsledek je porovnán s limitním registrem. Nevýhoda: potřeba sčítání a porovnávání při každém přístupu do paměti. Řešení: speciální HW. 18

Dynamické oblasti Počet, umístění a velikost oblastí se mění dynamicky, tak jak jednotlivé procesy vznikají, zanikají a přesouvají se mezi hlavní pamětí a diskem. 19

Dynamické oblasti Výhody žádná interní fragmentace efektivnější využití paměti Nevýhody externí fragmentace (možno setřásání paměti, ale je to časově náročné) 20

Zvětšující se procesy Datový segment procesu může měnit svojí velikost během výpočtu. Proto musíme alokovat více paměti než je na počátku potřeba 21

Správa použité a volné paměti Jak udržovat informaci o volné a přidělené paměti? Bitová mapa. Zřetězené seznamy. 22

Bitová mapa Paměť je rozdělena na alokační jednotky (AU, veliké několik KB). Každá AU má korespondující bit ve speciálním řetězci bitové mapě (0- volná, 1-přidělená). Nalezení volných AU = nalezení souvislého řetězce nulových bitů. Problémy: Velké AU malá bitová mapa x plýtvání hlavní pamětí. Malé AU velká bitová mapa x lepší využití hlavní paměti. Hledání v bitové mapě je pomalé! 23

Zřetězený seznam Zřetězený seznam volných a přidělených paměťových segmentů (např. proces (P) a díra (H)). Seznam je setříděn podle adres segmentů. Když proces končí nebo je odložen na disk, aktualizace seznamu je jednoduchá. 24

Oddělené zřetězené seznamy Oddělené seznamy pro procesy a díry rychlejší alokace paměti při uvolnění paměti se sousední díry spojují vhodné použít obousměrně zřetězený seznam nevýhoda: složitější a tím i pomalejší operace uvolnění paměti 25

Quick fit algoritmus Informace o dírách je udržována v několika oddělených seznamech. Každý seznam obsahuje informaci o dírách jejichž velikost je v určitém intervalu (např. 1-5KB, 6-10KB,...). Výhoda Rychlé nelezení volné díry. Nevýhoda Nalezení sousedních děr pro sloučení do větší díry je časově náročné. 26

Buddy systém = quick fit s dírami o velikosti 2 n bytů. Buddy systém Informace o dírách je v několika oddělených seznamech pro velikosti děr 1,2,4,8,... bytů (např. pro 1 MB, potřebujeme 11 takových seznamů. 27

Buddy systém Výhody alokace paměti je stejně rychlá jako u quick fit algoritmu slučování sousedních děr při uvolnění paměti je rychlejší než u quick fit algoritmu (nemusíme procházet všechny seznamy) Použití např. pro alokaci paměti v jádře Linuxu 28