Operační systémy Správa paměti © Milan Keršláger 27.9.2016

Slides:



Advertisements
Podobné prezentace
CIT Paměti Díl X.
Advertisements

PC základní jednotka.
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Paměť v počítači.
Hard Disk Drive & jeho alternativy
Hardware- počítačové komponenty
Paměti Karel Brambora Martin Císař.
Paměť Počítač používá různé typy pamětí. Odlišují se svou funkcí, velikostí, rychlostí zápisu a čtení, schopností udržet data v paměti. Úkolem paměti je.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
Martin Holý.  Druhá světová válka  První generace (1945 – 1951)  Elektronky, relé = drahé, pomalé  Druhá generace ( )  Tranzistory = zmenšování.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Vzdělávací materiál / DUMVY_32_INOVACE_02B5 Správa pamětí AutorIng. Petr Haman Období vytvořeníčerven 2013 Ročník / věková kategorie2. ročník Vyučovací.
MIT Paměti Díl I leosjuranek.cz/mit. Paměti Téma: Paměti MIT Předmět: MIT 3 Ročník: 3 Juránek Leoš Ing. Autor: Juránek Leoš Ing Verze:
Informatika 1_6 6. Týden 11. A 12. hodina.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_02A13 Autor Ing. Jiří Kalousek Období vytvoření duben 2014.
Paměťová média.
David Rozlílek ME4B. Co jsou to paměti ? slouží k uložení programu, kteý řídí ? Slouží k ukládaní…..?.... a ……? operací v.
Paměťové obvody a vývoj mikroprocesoru
Operační systémy.
= monolitický integrovaný obvod obsahující kompletní mikropočítač
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_02A14 Autor Ing. Jiří Kalousek Období vytvoření duben 2014.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Vnitřní paměti a jejich rozdělení. 2 Vnitřní paměti jsou ty, které jsou umístěny na základní desce mikropočítače nebo počítače. Vnitřní paměti se vyrábějí.
Ondřej Šebesta. – Ka – Přístupová …... – přístupová rychlost – S /d – Energetická závislost – Přístup k paměti – Spolehlivost.
Informatika - Paměti, ROM, RAM akademický rok 2013/2014
Architektura počítače
Vnitřní (operační paměť)
1 Paměťový subsystém „640 kB ought to be enough for anybody.“ Bill Gates, 1981.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Téma 6 – Správa paměti a její virtualizace
OPERAČNÍ SYSTÉMY.
Univerzita třetího věku kurz Znalci Hardware 1.
Základní pojmy v informatice Bohumil Bareš. Základní pojmy Data – soubory, jiný výraz pro „informace“, jsou to údaje, které vypovídají o světě, mohou.
Ondřej Šebesta. – Kapacita – přístupová doba – přístupová rychlost – Statičnost/dynamičnost – Energetická závislost – Přístup k paměti – Spolehlivost.
Univerzita třetího věku kurz ECDL
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Počítačová bezpečnost 1. Stavba a start PC © Milan Keršláger
Technika počítačů 3. Mikroprocesory © Milan Keršlágerhttp:// Obsah: ●
Operační systémy Základní pojmy © Milan Keršláger Obsah: základní.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
VIRTUÁLNÍ PAMĚŤ EP1. Kryštof Supek. Umožňuje předložit běžícímu procesu adresní prostor paměti, který je větší, než je fyzicky připojená paměť RAM Procesor.
Počítačová bezpečnost Cvičení 1: Start počítače IBM PC © Milan Keršláger
Překladače Operační paměť © Milan Keršláger
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Paměti VY_32_INOVACE_CIT_17. Základní pojmy Kapacita – max. množství informace, které lze uložit (bit, byte, kB, MB, GB, 1k = 1024) Organizace – paměťové.
UNIX Systém souborů © Milan Keršláger
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
PC základní jednotka.
Vypracoval / Roman Málek
Vlastnosti souborů Jaroslava Černá.
Operační systémy 11. Správa paměti
Operační systémy - úvod
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Operační systémy 6. Hardwarové prostředky
Vnitřek skříně počítače
Správa paměti - úvod Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Financováno z ESF a státního rozpočtu ČR.
Operační systémy 1. Základní pojmy
Správa paměti.
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Správa disků
Informatika / …o počítači
Informační a komunikační technologie 5. ročník
Přepínání procesů Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Paměť.
Transkript prezentace:

Operační systémy Správa paměti © Milan Keršláger

Správa paměti ● Memory Managment (MM) ● součástí CPU je MMU (Memory Managment Unit) – řídí přístup do operační paměti ● v jádře OS je modul správy paměti – zajištění multitaskingu, vzájemné oddělení procesů ● proces pro svůj běh potřebuje ● přidělenou paměť – zajišťuje jádro OS, používá virtuální paměť ● přidělený procesor – zajišťuje jádro OS (scheduler) + privilegovaný režim CPU

Historie pamětí ● děrné štítky, děrné pásky ● mechanický zápis, mechanické nebo optické čtení ● feritové paměti ● využití elektromagnetické indukce ● obnovování informace (dynamická paměť) ● zpožďovací smyčka ● využívá omezené (též snížené) rychlosti šíření el. ● rtuť, cívka, piezoelektrický krystal ● na výstup dat bylo nutno počkat → sériový přístup ● využití jako paměť (periodický zápis), v TV přístroji

Rozdělení pamětí (1) ● podle materiálu a fyzikálních vlastností ● magnetické, optické, polovodičové, zpožďovací smyčka... ● metoda uchování informace ● statické – používají klopný obvod, jsou dražší, rychlejší → cache ● dynamické – periodické obnovování obsahu (refresh) → RAM ● závislost na napájení ● volatilní → udržení informace závislé na napájení ● nevolatilní → udržení informace nezávislé na napájení

Rozdělení pamětí (2) ● podle přístupu k uloženým informacím ● sekvenční – např. magnetická páska ● asociativní – adresace obsahem (klíč) ● sériový – posuvný registr FIFO ● RAM (Random Access Memory) – s libovolným přístupem (náhodný je nesmysl) – přímý přístup k datům podle zvolené adresy – přibližně mu odpovídá i pevný disk

Rozdělení pamětí (3) ● podle schopnosti čtení a zápisu ● RWM – Read Write Memory – pro čtení i zápis, používáme pro ně označení RAM ● ROM – Read Only Memory ● PROM – uživatelsky programovatelná ● EPROM – smazatelná PROM (UV záření) ● EEPROM – elektricky smazatelná EPROM ● Flash EPROM – rychlé mazání po větších blocích

Rozdělení paměti (4) ● podle určení ● vnitřní paměť – primární ● registry CPU, cache, paměť RAM ● v přímém dosahu z CPU ● vnější paměť – sekundární paměť ● pevný disk ● využívána jako virtuální paměť ● mimo přímý dosah CPU – odděleno řadičem – terciální paměť ● CD, DVD, magnetické pásky ● využívána pro zálohování (vyměnitelné médium)

Výběr adekvátní paměti ● rychlost ● statické jsou nejrychlejší, ale nejdražší ● dynamické jsou pomalejší, ale laciné ● cena za bit ● terciální je nejlevnější ● sekundární je snadno a relativně rychle přístupná ● primární je nejdražší, ale odpovídá rychlosti CPU ● podle uchování informací ● nevolatilní pro uchování dat ● volatilní pro běh procesu

Operační paměť ● vnitřní paměť počítače ● pro uchování programu, dat, mezivýsledků ● přímo adresovatelná procesorem ● připojena pomocí sběrnice (adresní, datová, řídící) ● uchovávány bity, adresace po bajtech ● přístup pomocí strojových instrukcí ● adresa je v registru ● přenos dat mezi registrem a pamětí ● využití cache

Přístup k paměti ● přímo adresovatelná ● adresní registr → omezení velikosti – IA-32 → 32 bitů = 4 GiB – x86_64 → dnes 48 bitů = 256 TiB ● nepřímo adresovatelná ● různé triky (pomocné registry, I/O) – PAE, XMS, EMS, paměťové banky u Didaktiku… ● virtualizace paměti ● rozdělení na virtuální a fyzické adresy ● část adresního prostoru v RAM a část na disku

Správa operační paměti ● v procesoru MMU ● anglicky Memory Managment Unit ● řízení přístupu k operační paměti (řízení sběrnic) ● řízení cache ● překlad virtuálních adres na fyzické a zpět ● řešení nepřímé adresace ● v jádře operačního systému ● řízení chodu MMU ● rozvržení operační paměti ● přidělování paměti procesům

Virtualizace paměti ● proces vidí jiné uspořádání, než je skutečnost ● odstranění fragmentace ● umožňuje zvětšit dostupnou paměť ● pro podporu multitaskingu ● rozlišuje dvě různé adresy ● logická adresa – pracují s ní strojové instrukce (proces) ● fyzická adresa – získána převodem z logické (v MMU) – adresa paměti v RAM nebo na pevném disku

Využití virtualizace ● multitasking ● každý proces má vlastní logický adresní prostor ● není nutné používat relokaci nebo relativní adresy ● rozšíření adresního prostoru ● místo na pevném disku je lacinější, než RAM ● efektivnější využití paměti ● nepoužívané části paměti jsou odsunuty na disk ● zvětší se místo pro diskovou cache – zakázání odkládacího souboru paradoxně horší

Adresace virtuální paměti ● segmentace ● fyzická adresa = segment + offset – proces pracuje jen s offsetem – segment spravuje operační systém ● trpí fragmentací volného místa ● stránkování ● virtuální adresa → tabulka stránek → fyzická adresa – poměrně komplikovaný systém – dnes majoritně používán (Windows, Linux na PC) ● řeší fragmentaci, lepší optimalizace (RAM × disk)

Organizace paměti ● organizace paměti procesu ● text → jen pro čtení (kód programu, konstanty) ● halda → dynamicky alokovaná data – new() ● zásobník → volání funkcí, lokální proměnné ● organizace paměti v operačním systému ● v paměti je jádro a (běžící) proces ● v IA-32 je málo místa (4 GiB) – využívání triků → PAE – x86_64 problém řeší, ale jen pro 64bitové OS

32bitový Linux → 3+1 ● kernel (jádro systému) ● syscall nevyžaduje remapování ● vyžaduje ho model 4+4 ● mmap ● knihovny, mapované soubory ● heap ● dynamicky alokovaná paměť ● text ● program, konstanty

32bitové Windows → 2+2 ● standardní mapování pro 32bitové jádra ● jednoduchá kontrola (jádro vs. userspace) ● proces maximálně 2 GiB ● oblast na 2 GiB lze využít jako cache ● alternativa 3+1 ● parametr jádra při startu ● speciálně kompilovaná aplikace (je jich málo)

Garbage collector ● správa paměti procesu ● součást běhového prostředí procesu ● usnadňuje programování ● ale složitější ladění ● zpomaluje běh programu ● uvolňování nepoužívané paměti ● probíhá automaticky za běhu programu – typicky po určité době, využití generací ● sledují se reference na objekt (data) – vytvoření počitadla odkazů na objekt – vlastně sleduje úniky paměti (memory leak)

IA-32 a PAE ● rozšíření adresovatelnosti na 64 GiB ● platí jen pro celkovou dostupnou paměť – využívání stránek 4kiB nebo 2MiB ● limit pro 4 GiB zůstává zachován – nemění se velikost adresy → zachována kompatibilitu ● možnost využití NX bitu (je-li implementován) ● nevýhody ● zvětšení záznamu v tabulce stránek z 32 na 64 bitů – markantní zvýšení režie tabulky stránek – částečně řešeno pomocí použití 3 úrovní tabulek místo 2 ● zvýšení režie změny kontextu

Přidělování veškeré volné paměti ● 1973 – CP/M ● jádro na konci paměti – problém → různé množství RAM v různých počítačích – při umístění na jinou adresu strojový kód nefunguje ● absolutní skoky nebo adresace dat neodpovídá skutečnosti – pro každou velikost RAM jiná verze jádra (32, 48, 64kiB) – nebo relokace ● ISIS II. (Intel 1977) ● nejprve OS → relokují se programy ● DOS (1979 jako QDOS) ● specialita: rezidentní programy

Paměť CP/M ● ochrana paměti ● procesor typicky bez HW podpory – bez ochrany pamět i ● jinak mezní registr – hranici nelze překročit ● CPU → vnitřní přerušení ● ISR uvnitř OS ● program ukončen – vyžaduje privilegovaný režim ● multitasking ● jedině celý proces nahrát na disk ● a pak zpět → časově náročné jádro OS program a data systémová oblast 0 100H 64 kiB

Mezní registr ● nejjednodušší ochrana paměti ● nutná hardwarová podpora v CPU ● jeden (pro CP/M) nebo dva registry (pro MFT) ● vyžaduje privilegovaný režim ● nastavení registru je privilegovaná instrukce ● proces → neprivilegovaný stav CPU – pokus o přístup do paměti za mezním registrem → – → vyvolání vnitřního přerušení ● obsluha přerušení (ISR) je v jádře OS – OS úlohu ukončí (chyba „porušení ochrany paměti“)

Rezidentní program ● specialita DOSu ● TSR → Teminate and Stay Resident – program se ukončí, ale zůstane v paměti ● náhrada absence podpory multitaskingu v DOSu ● TSR se váže na přerušení či služby DOSu – aktivace při stisku klávesy, tiku časovače, zápisu na disk... ● jádro DOSu není reentrantní – jen jeden proces může volat službu DOSu – TSR musí čekat (naštěstí je to možné detekovat) ● velmi rozšířené – obsluha myši, národní klávesnice, ale i VIRY

Přidělování pevných bloků paměti ● multitasking vyžaduje více procesů v RAM ● 1967 – rozšíření MFT pro OS/360 – Multiprograming with Fixed number of Tasks ● paměť je při startu pevně rozdělena na bloky – 1 MB např. na 256 kB pro OS a dále bloky pro procesy (1×256, 2×128, 3×64 a 2×32 kiB), jiné dělení → restart ● výhoda: jednoduché ● nevýhody: – program musí deklarovat předem své požadavky – plýtvání pamětí (velikost > proces) – fragmentace → v součtu paměť je, ale nelze spustit ● ochrana paměti: mezní registry nebo zámky a klíče

Metoda zámků a klíčů ● běžně používaná ochrana paměti ● paměť je rozdělena na stránky (např. 4kB) ● každé stránce je přiděleno číslo (tj. zámek) ● procesor má speciální registr (tj. klíč) ● procesor smí použít jen paměť, kde klíč=zámek ● jádro používá univerzální klíč 0 (není omezení) ● změna registru (klíče) je privilegovaná instrukce ● proces běží v neprivilegovaném stavu ● zámky jsou v paměti, kam proces nemůže ● nepovolený přístup → vnitřní přerušení → ISR v OS