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

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

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

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 2. Přednáška číslo 2. Přidělování paměti

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

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

Paměti a jejich organizace

Stavba operačního systému

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

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

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

Adresní mody procesoru

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

Systém adresace paměti

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

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

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

Management procesu II Mgr. Josef Horálek

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

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

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

Činnost počítače po zapnutí

Workmonitor. Servisní návod. 24. června 2014 w w w. p a p o u c h. c o m

Architektura počítače

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

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

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

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

Principy operačních systémů. Lekce 6: Synchronizace procesů

Logická organizace paměti Josef Horálek

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

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

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

Operační systémy. Tomáš Hudec.

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

Manuál administrátora FMS...2

Dotkněte se inovací CZ.1.07/1.3.00/ Základní jednotka "skříň PC" Interní a externí zařízení PC Přídavná (periferní) zařízení PC

Memory Management vjj 1

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Ů

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz.

Principy činnosti sběrnic

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

Operační systémy (OS)

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

Memory Management vjj 1

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

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

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)

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.

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

Ing. Igor Kopetschke TUL, NTI

Management procesu I Mgr. Josef Horálek

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:

OPERAČNÍ SYSTÉMY. Ing. Luděk Richter

Struktura programu v době běhu

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

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

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

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

- kvalitní dokumentace k SW je vyžadovaným STANDARDEM. vzájemná provázanost SW (IS) ve velkých společnostech. aktuální přehledná srozumitelná

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

Ukazky Zdroje:... 17

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

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

HW počítače co se nalézá uvnitř počítačové skříně

Von Neumannovo schéma

Charakteristika dalších verzí procesorů v PC

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/

Technická dokumentace

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

Šablona klíčové aktivity III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

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

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

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

ÚAMT FEKT VUT. mikroprocesor Rabbit. Diplomová prá ce. Tomá škreuzwieser. Brno

Hardware. Z čeho se skládá počítač

Program. Uživatelská příručka. Milan Hradecký

Virtualizace. Lukáš Krahulec, KRA556

Výzva k podání nabídky včetně zadávací dokumentace na veřejnou zakázku malého rozsahu

Semestrální práce KIV/PC Řešení kolizí frekvencí sítě vysílačů Zdeněk Bečvář A14B0466P 10. ledna 2016

PA152: Efektivní využívání DB 2. Datová úložiště. Vlastislav Dohnal

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

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

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

Procesy a vlákna (Processes and Threads)

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

) informace o stavu řízené veličiny (předávaná řídícímu systému) - nahrazování člověka při řízení Příklad řízení CNC obráběcího stroje

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

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

BIOS (BASIC INPUT-OUTPUT SYSTEM)

Základní programové vybavení počítače

FPC - Převodník pro čínské čtečky F17 a F18 - podrobný popis služeb a příkazů -

Systém souborů (file system, FS)

INFORMAČNÍ TECHNOLOGIE

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


Vstupně - výstupní moduly

Transkript:

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

Funkce správce paměti Správce (operační) paměti je součástí kernelu. Jeho implementace může být různá, ale základní funkce jsou obdobné ve všech OS: Udržovat informace o paměti (volná paměť, přidělená procesu atd.) Přidělovat paměť procesům na jejich žádost Zařazovat uvolněnou paměť procesy k volné paměti Uvolňovat paměť např. při násilném ukončení procesu Zajišťovat ochranu paměti (většinou zajišťována hardwarově) Lekce 2: Správa paměti 2

Operační paměť Umístěna na základní desce Některé rozšiřující části mohou být i jinde (např. videopaměť na grafické kartě) Lekce 2: Správa paměti 3

Adresování paměti Adresa místa v paměti Absolutní udává pozici paměti vzhledem k počátku Relativní (offset) vztahuje se nikoli k počátku, ale k určité absolutní adrese, např. k počátku určitého paměťového bloku Lekce 2: Správa paměti 4

Adresový prostor Fyzický adresový prostor (FAP) = adresový prostor, který je fyzicky k dispozici ve výpočetním systému Logický adresový prostor (LAP) = adresový prostor, který mají k dispozici procesy LAP <= FAP reálné přidělování paměti LAP > FAP virtuální přidělování paměti Při virtuálním přidělování paměti je operační paměť nastavována prostorem na vnějším paměťovém médiu (obvykle HDD) Lekce 2: Správa paměti 5

Reálné metody přidělování paměti Přidělení jedné souvislé oblasti Přidělení bloků pevné velikosti Přidělení bloků proměnné velikosti Segmentace Stránkování Lekce 2: Správa paměti 6

Přidělování jedné souvislé oblasti paměti OS bez multitaskingu např. CP/M Lekce 2: Správa paměti 7

Přidělování jedné souvislé oblasti paměti Výhody: Jednoduchá správa Nízké nároky na technické vybavení Nevýhody: Nelze mít spuštěno několik procesů současně Velká část paměti může zůstávat nevyužitá Pro postupné spuštění několika procesů se používá tzv. swapování, tj. uložení celého adresního prostoru od mezního registru na pevný disk následně běh jiného procesu a po jeho ukončení je paměť obnovena do stavu před zálohováním Lze využít princip zásobníku (FIFO), pokud se postupně spouští více než dva procesy. Lekce 2: Správa paměti 8

Přidělování bloků pevné velikosti Bloky mohou být stejně velké nebo mohou mít různou velikost Tento typ přidělování paměti se nyní již nepoužívá, dříve např. OS MFT (Multitasking with Fixed Number of Tasks) Jeden proces může mít přiděleno i několik bloků Lekce 2: Správa paměti 9

Přidělování bloků pevné velikosti Nelze předem stanovit, kde (na jaké adrese) bude program uložen - program musí být relokabilní. použití relokační tabulky použití bázování a relativních skoků Relokační tabulka: Počet bloků paměti je konstantní Každý blok má jeden řádek v tabulce Každý řádek tabulky obsahuje počáteční adresu bloku, délku bloku a vlastníka (proces) resp. informaci, že jde o volný blok Bázování a relativní skoky: určitý registr se naplní skutečnou adresou např. začátku programu a pro odkazy na proměnné se používá místo pevné adresy hodnota bázového registru + posunutí (offset). Lekce 2: Správa paměti 10

Ochrana paměti Metoda mezních registrů Užití dvou mezních registrů (nastavuje OS), které uvádějí nejnižší a nejvyšší dostupnou adresu. V limitním registru procesoru je uložena hodnota aktuálního paměťového regionu. Hodnota lokální adresy se porovnává s hodnotou limitního registru. Pokud je tato hodnota větší, následuje vyvolání výjimky proces se pokouší zapsat mimo region. Mechanismus zámků a klíčů Rozdělení paměti na stránky o pevné velikosti. Každé je přidělen zámek (celé číslo). Ve speciálním registru procesoru je klíč. Ty stránky, které mají stejnou hodnotu zámku jako je hodnota klíče, může proces používat. Lekce 2: Správa paměti 11

Přidělování bloků pevné velikosti Výhody: Jednoduchost správy Možnost implementace multitaskingu Nevýhody Nelze spustit některé procesy, pokud požadují více paměti než je délka největšího volného bloku Velká pravděpodobnost fragmentace Lekce 2: Správa paměti 12

Dynamické přidělování bloků Velikost jednotlivých bloků se určuje až podle žádostí jednotlivých procesů o paměť Správce přidělí určitý volný blok odpovídající požadavkům procesu podle zvolené strategie: First fit (první vyhovující blok) Last fit (poslední vyhovující blok) Worst fit (největší volný blok) Best fit (nejmenší volný blok) Po ukončení procesu se vrátí přidělená paměť a může být následně přidělena jinému procesu Lekce 2: Správa paměti 13

Dynamické přidělování bloků Počet a délka bloků se mění během práce systému, není tedy vhodná evidence bloků v tabulce. Řešení: vytvoření hlaviček obsahuje informaci o vlastníkovi a ukazatel na začátek následujícího bloku Bloky se hledají odspodu podle hlaviček (postupně pomocí ukazatelů) Uvolnění se děje změnou informace o vlastníkovi v hlavičce bloku. Je nutno řešit fragmentaci, tj. spojování volných bloků Lekce 2: Správa paměti 14

Dynamické přidělování bloků Výhody: Dtto jako u předchozí metody, ale složitější správa paměti a pomalejší vyhledávání konkrétního paměťového bloku Částečně odstraňuje nevýhody předchozí metody Nevýhody: Počet procesů, které lze spustit, je limitovaná požadavky již spuštěných procesů Určitá pravděpodobnost fragmentace Při fragmentaci paměti je maximální velikost požadavku na paměť limitovaná velikostí největšího volného bloku. Lekce 2: Správa paměti 15

Segmentace Každý proces má přiděleno několik nezávislých segmentů, například: Kód procesu (pevná délka, pevný obsah) Globální konstanty (pevná délka, pevný obsah) Globální proměnné (pevná délka, proměnný obsah) Zásobník (proměnná délka i obsah) Lekce 2: Správa paměti 16

Segmentace Lekce 2: Správa paměti 17

Segmentace Používají se relativní adresy Adresy segmentů jsou uloženy v segmentových registrech Adresa objektu z hlediska procesu = adresa segmentu + offset Výhody: Velikost segmentů může být různá podle potřeby procesu Segmenty je možno prodlužovat a přesouvat Některé segmenty je možné sdílet Nevýhody: Nutnost HW podpory (segmentové registry) Komplikovanější ochrana paměti Paměť, kterou lze přidělit procesu, je omezena velikostí největšího souvislého bloku volné paměti Určitá pravděpodobnost segmentace (lze řešit přesouváním segmentů) Lekce 2: Správa paměti 18

Stránkování Rozlišuje se fyzická adresa objektu v paměti (absolutní adresa objektu) a logická adresa objektu (s tou pracují procesy) Paměťový prostor procesu je rozdělen na stejně dlouhé úseky stránky (např. 4096 B), procesu je přiděleno tolik úseků, kolik potřebuje Procesu se prostor jeví jako spojitý, je logicky spojitý, logické adresy jsou z intervalu <0,počet stránek x velikost stránky> Fyzicky jsou stránky na různých místech paměti, fyzicky je adresový prostor procesu nespojitý Evidence stránek v jednoduché tabulce (vlastník stránky nebo informace o tom, že je stránka volná) U každého procesu je evidován seznam přidělených stránek Lekce 2: Správa paměti 19

Stránkování Lekce 2: Správa paměti 20

Stránkování Velikost prostoru = počet stránek procesu x velikost stránky Logická adresa = <0, velikost prostoru-1> Index stránky procesu = Logická adresa DIV Velikost stránky Offset = Logická adresa MOD Velikost stránky Fyzická adresa = Mapuj stránku (Index stránky) x Velikost stránky + Offset Lekce 2: Správa paměti 21

Stránkování Výhody: Proces může dostat kolik stránek, kolik potřebuje (pokud jsou volné), stránky na sebe nemusí navazovat Nejsou problémy s fragmentací Nevýhody: Fragmentace uvnitř stránek (proces nemusí potřebovat celou poslední stránku) Omezení daná velikostí fyzického adresového prostoru Metoda stránkování po rozšíření na virtuální paměť a ve spojení se segmentací se běžně používá v současných OS. Lekce 2: Správa paměti 22

Fragmentace paměti Fragmentace paměti = volné části paměti netvoří souvislý blok Při popsaných metodách přidělování paměti jednotlivým procesům dochází k větší či menší míře fragmentace Možnosti snížení míry fragmentace: Vhodnou metodou výběru bloku paměti Setřásání paměti Lekce 2: Správa paměti 23

Alokační strategie Metody výběru vhodného bloku paměti: Metoda First Fit správce paměti prochází bloky od začátku uživatelské oblasti a přidělí paměť z prvního vhodného bloku (dostatečně velkého). Tato metoda je nejrychlejší, ale není nejlepší z hlediska fragmentace. Metoda Best Fit správce paměti projde všechny bloky a hledá takový, který je nejvhodnější (stačí co se týče požadované velikosti a nejméně ji přesahuje) optimální metoda z hlediska fragmentace, ale nejpomalejší Metoda Last Fit jako First Fit ale z druhé strany, nejprve se obsazují nejvyšší adresy směrem k nejnižším použití u pamětí typu zásobník. Tyto metody řeší fragmentaci pouze částečně (zmenšují ji, ale vždy nějaká zůstává). Výhoda = adresový prostor procesu se během jeho běhu nemění (na rozdíl od následující metody). Lekce 2: Správa paměti 24

Setřásání paměti Přesouvání bloků paměti, které jsou neobsazené tak, aby se propojilo více volných bloků do jednoho většího souvislého bloku. Tzn. obsazené bloky je nutno setřást směrem k nižším adresám. Je nutno vyřešit dva problémy: Samotné přesouvání je časově náročné Adresový prostor procesu, kterému je paměť přesouvána, se mění tj. nemůže používat absolutní adresy Řešení časové náročnosti: Bloky se přesouvají jen tehdy, kdy o paměť bude žádat proces s nároky vyššími než je délka největšího volného paměťového bloku (a přesouvá se jen tak dlouho, než se dostatečně velký blok nevytvoří) Využití HW možností speciální mikroprocesor blitter (Block Image Transfer) Lekce 2: Správa paměti 25

Setřásání paměti Možnosti řešení problému změny adresového prostoru procesu při přesouvání paměti: Stanovení pravidel adresování na nižší úrovni Např. používání relativních adres a bázování k určitému registru, kde je uložena adresa momentálního začátku adresového prostoru procesu Výhoda: jednoduchá správa paměti a malá časová náročnosti Nevýhoda: HW závislost a nutnost použití pouze relativních adres Stanovení pravidel adresování na vyšší úrovni Např. použití mechanismu zamykání bloku paměti po dobu jejího používání Výhoda: jednoduchá správa paměti Nevýhoda: nutnost spolupráce programátorů aplikací Před každým přesouváním správce paměti informuje každý proces, který je přesouván, o nové adrese začátku bloku Proces si přepočítá všechny své absolutní adresy Zpráva o přesouvání musí mít nejvyšší prioritu Vysoké nároky na systém i procesy, používá se jen pro procesy, které musí pracovat s absolutními adresami (např. ovladače I/O zařízení, antivirové programy apod.) Lekce 2: Správa paměti 26

Metody setřásání paměti Kooperativní setřásání Používá se druhá z výše zmíněných metod Procesy na přesunech spolupracují (kooperují) s OS Používalo se např. v počítačích MacIntosh Transparentní setřásání Kombinace první a třetí metody Procesy na přesunech nespolupracují Např. OS Epoc Lekce 2: Správa paměti 27