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

Podobné dokumenty
p8mm/p8mm.d 21. listopadu

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 I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

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. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

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

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

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

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

Systém adresace 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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Management procesu I Mgr. Josef Horálek

Procesy a vlákna (Processes and Threads)

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

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

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ÚVOD DO TEORIE OPERAČNÍCH SYSTÉMŮ. doc. Dr. Ing.

Jazyk symbolických adres

Adresní mody procesoru

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

Paměti a jejich organizace

Logická organizace paměti Josef Horálek

Struktura programu v době běhu

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

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

Matematika v programovacích

Úloha OS, prostředky počítače, představa virtuálního počítače

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

Předmluva 13 Použité konvence 14. KAPITOLA 1 Základní číselné soustavy a pojmy Číselné soustavy a převody 15 1.

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)

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Memory Management vjj 1

Virtualizace. Lukáš Krahulec, KRA556

Pohled do nitra mikroprocesoru Josef Horálek

Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016

ZOS OPAKOVÁNÍ. L. Pešička

Princip funkce počítače

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

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

Systém souborů Mgr. Josef Horálek

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í.

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

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

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Memory Management vjj 1

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

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

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

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

Pokročilé architektury počítačů

Činnost počítače po zapnutí

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

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

PB002 Základy informačních technologií

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

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

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ě

Ukázka zkouškové písemka OSY

PRINCIPY OPERAČNÍCH SYSTÉMŮ

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

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

Principy operačních systémů. Lekce 1: Úvod

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

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

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ě

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

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

Vysoké učení technické v Brně Fakulta informačních technologií ITP Technika personálních počítačů Služby ROM BIOS a BootROM

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

Pokročilé architektury počítačů

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

11. Přehled prog. jazyků

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

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

08. Deadlock Přidělování paměti. ZOS 2006, L. Pešička

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

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

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

Základní uspořádání pamětí MCU

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Transkript:

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

Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému logický adresní prostor využívají procesy

Modul pro správu paměti informace o přidělení paměti která část je volná přidělená (a kterému procesu) přidělování paměti na žádost uvolnění paměti, zařazení k volné paměti odebírá paměť procesům ochrana paměti přístup k paměti jiného procesu přístup k paměti OS

Memory management Základní mechanismy Bez odkládání a stránkování Jednoprogramové systémy Multiprogramování s pevným přidělením paměti Multiprogramování s proměnnou velikostí oblasti Správa paměti Bitové mapy Seznamy First fit, best fit, next fit Buddy system

Statická a dynamická relokace

Relokace a ochrana Problémy při multiprogramování (víc programů současně v paměti): Relokace Programy běží na různých adresách Ochrana Paměť musí být chráněna před zasahováním jiných programů

Relokace při zavedení do paměti Nejprve proces, jak je program vytvořen a spuštěn Překlad a sestavení programu Aplikace ve vysokoúrovňovém jazyce Větší SW rozděleny do modulů musejí být přeloženy a sestaveny do spustitelného programu Objektové moduly Výsledkem překladu Příkazy ve zdrojovém textu přeloženy do stroj. instrukcí Zůstávají symbolické odkazy adresy prom., procedur,fcí

Relokace při zavedení do paměti 2 Výsledný spustitelný program Sestavení (linking) modulů a knihoven Při sestavení se řeší hlavně externí reference Všechna místa výskytů referencí seznam Když je adresa známa vloží se všude, kde se používá Symbolické odkazy se převedou na číselné hodnoty Výsledek spustitelný program

Relokace při zavedení do paměti 3 Komplikace při více programech v paměti Příklad 1. instrukcí programu volání podprogramu call 66 Program v paměti od adresy 1000, ve skutečnosti provede call 1066 Jedno z řešení modifikovat instrukce programu při zavedení do paměti Linker do spustitelného programu přidá seznam nebo bitmapu označující místa v kodu obsahující adresu Při zavádění programu do paměti se každé adrese přičte adresa začátku oblasti

Relokace při zavedení do paměti

Statická relokace Výše uvedený způsob Adresy se natvrdo přepíší správnými Např. OS/MFT od IBM

Ochrana paměti při statické relokaci Proces mohl zasahovat do paměti jiných procesů IBM 360 přístupový klíč Pamět rozdělena do bloků 2KB Každý blok sdružený hw 4 bitový kód ochrany PSW procesoru obsahuje 4 bitový klíč Při pokusu o přístup k paměti jejíž kód ochrany se liší od klíče PSW výjimka Kód ochrany a klíč může měnit jen OS (privilegované instrukce) Výsledek ochrana paměti

Mechanismus báze a limitu Jednotka správy paměti MMU mezi CPU a paměť Dva registry báze a limit Báze počáteční adresa oblasti Limit velikost oblasti

Mechanismus báze a limitu Funkce MMU Dostává adresu od CPU, převádí na adresu do fyzické paměti Nejprve zkontroluje, zda adresa není větší než limit Ano výjimka, Ne k adrese přičte bázi Pokud báze 1000, limit 60 Adresa 55 ok, výsledek 1055 Adresa 66 není ok, výjimka

Dynamická relokace Výše uvedený a podobné mechanismy Provádí se dynamicky za běhu Nastavení báze a limitu může měnit pouze OS (privilegované instrukce) Např. 8086 slabší varianta (nemá limit) Bázové registry = segmentové registry DS,SS,CS,ES

Správa paměti s odkládáním celých procesů (Proces se vejde do fyzické paměti)

Správa paměti s odkládáním celých procesů Pro dávkové systémy dosud uvedené mechanismy - přiměřené (jednoduchost, efektivita) Systémy se sdílením času víc procesů, než se jich vejde do paměti současně 2 strategie Odkládání celých procesů (swapping) Nadbytečný proces se odloží na disk Např. UNIX Version 7; co platí pro velikost procesu? Virtuální paměť v paměti nemusí být procesy celé Překrývání (overlays), virtuální paměť

Odkládání celých procesů co víme o velikosti procesu? data procesu mohou růst pro proces alokováno o něco více paměti, než je třeba potřeba více paměti, než je alokováno přesunout proces do větší oblasti (díry) překážející proces odložit prostor pro růst procesu odložit žadatele o paměť, dokud nebude prostor proces zrušit (odkládací paměť je plná)

Odkládání celých procesů proces dva rostoucí segmenty data, zásobník (co se kde alokuje?) možnost rozrůstání proti sobě překročení velikosti přesun, odložit, zrušit

Alokace odkládací oblasti tj. jak vyhradit prostor pro proces na disku na celou dobu běhu programu alokace při každém odložení stejné algoritmy jako pro přidělení paměti velikost oblasti na disku násobek alokační jednotky disku

Virtuální paměť Proces > dostupná fyzická paměť

Virtuální paměť program větší než dostupná fyzická paměť mechanismus překrývání (overlays) virtuální paměť

Překrývání (overlays) program rozdělen na moduly start spuštěna část 0, při skončení zavede část 1 časté zavádění některých modulů více překryvných modulů + data v paměti současně moduly zaváděny dle potřeby (nejen 0,1,2,..) mechanismus odkládání (jako odkládání procesů) kdo zařizuje zavádění modulů? kdo navrhuje rozdělení dat na moduly?

Překrývání zavádění modulů zařizuje OS rozdělení programů i dat na části navrhuje programátor vliv rozdělení na výkonnost, komplikované pro každou úlohu nové rozdělení příklad overlay.pas snaha, aby se o vše postaral OS

Virtuální paměť potřebujeme rozsáhlý adresový prostor ve skutečné paměti je pouze část adresového prostoru jinak by to bylo příliš drahé zbytek může být odložen na disku kterou část v paměti? tu co právě potřebujeme

Historie královský koberec Na pokrytí celé cesty stačí pouze dva fyzické koberce

Virtuální adresy fyzická paměť slouží jako cache virtuálního adresního prostoru procesů procesor používá virtuální adresy požadovaná část VAProstoru JE ve fyzické paměti MMU převede VA=>FA, přístup k paměti požadovaná část NENÍ ve fyzické paměti OS ji musí přečíst z disku I/O operace přidělení CPU jinému procesu většina systémů virtuální paměti používá stránkování

Mechanismus stránkování (paging) program používá virtuální adresy rychle zjistit, zda je požadovaná adresa v paměti ANO převod VA => FA co nejrychlejší při každém přístupu do paměti

Pojmy důležité!! VAP stránky (pages) pevné délky délka mocnina 2, nejčastěji 4KB, běžně 512B - 8KB fyzická paměť rámce(page frames) stejné délky rámec může obsahovat PRÁVĚ JEDNU stránku na známém místě v paměti tabulka stránek tabulka stránek poskytuje mapování virtuálních stránek na rámce

Opakování virtuální adresní prostor fyzický adresní prostor procesy používají VA nebo FA? co dělá MMU? k čemu slouží tabulka stránek? stránka rámec

Pokračování Pokračování je v souboru p9vm.pdf