Co je Správa paměti?
Správa paměti je proces řízení a koordinace paměti počítače, přiřazování částí známých jako bloky různým spuštěným programům za účelem optimalizace celkového výkonu systému.
Je to nejdůležitější funkce operačního systému, který spravuje primární paměť. Pomáhá procesům pohybovat se tam a zpět mezi hlavní pamětí a spouštěcím diskem. Pomáhá operačnímu systému sledovat každé místo v paměti, bez ohledu na to, zda je přiděleno nějakému procesu, nebo zůstává volné.
V tomto výukovém programu pro operační systém se naučíte:
- Co je Správa paměti?
- Proč používat správu paměti?
- Techniky správy paměti
- Co je to výměna?
- Co je alokace paměti?
- Co je to stránkování?
- Co je metoda fragmentace?
- Co je segmentace?
- Co je dynamické načítání?
- Co je dynamické propojení?
- Rozdíl mezi statickým a dynamickým načítáním
- Rozdíl mezi statickým a dynamickým propojením
Proč používat správu paměti?
Zde jsou důvody pro použití správy paměti:
- Umožňuje vám zkontrolovat, kolik paměti je třeba přidělit procesům, které rozhodují o tom, který procesor by měl dostat paměť v jakou dobu.
- Sleduje, kdykoli se inventář uvolní nebo nepřidělí. Podle toho bude aktualizovat stav.
- Přiděluje prostor aplikačním rutinám.
- Rovněž se ujistěte, že tyto aplikace se navzájem neinterferují.
- Pomáhá navzájem chránit různé procesy
- Umístí programy do paměti tak, aby byla paměť plně využita.
Techniky správy paměti
Zde jsou některé nejdůležitější techniky správy paměti:
Jediné souvislé přidělení
Je to nejjednodušší technika správy paměti. V této metodě jsou pro jednu aplikaci k dispozici všechny typy paměti počítače s výjimkou malé části vyhrazené pro OS. Například operační systém MS-DOS alokuje paměť tímto způsobem. Integrovaný systém také běží na jedné aplikaci.
Rozdělené rozdělení
Rozděluje primární paměť na různé paměťové oddíly, což jsou většinou sousedící oblasti paměti. Každý oddíl ukládá všechny informace o konkrétním úkolu nebo úloze. Tato metoda spočívá v přidělení oddílu úloze při jejím spuštění a zrušení přidělení po jejím ukončení.
Správa stránkované paměti
Tato metoda rozděluje hlavní paměť počítače na jednotky pevné velikosti známé jako rámce stránek. Tato jednotka správy hardwarové paměti mapuje stránky do rámců, které by měly být přidělovány na základě jednotlivých stránek.
Segmentovaná správa paměti
Segmentovaná paměť je jedinou metodou správy paměti, která neposkytuje programu uživatele lineární a souvislý adresní prostor.
Segmenty potřebují hardwarovou podporu ve formě tabulky segmentů. Obsahuje fyzickou adresu sekce v paměti, velikost a další data, jako jsou bity ochrany přístupu a stav.
Co je to výměna?
Swapping je metoda, při které by měl být proces dočasně vyměněn z hlavní paměti do záložního úložiště. Později bude vrácen zpět do paměti pro pokračování v provádění.
Záložní úložiště je pevný disk nebo jiné sekundární úložné zařízení, které by mělo být dostatečně velké, aby se do něj vešly kopie všech obrazů paměti pro všechny uživatele. Je také schopen nabídnout přímý přístup k těmto paměťovým obrazům.
Výhody výměny
Zde jsou hlavní výhody / výhody výměny:
- Nabízí vyšší stupeň multiprogramování.
- Umožňuje dynamické přemístění. Pokud se například používá vazba adresy v době provádění, lze procesy vyměnit na různých místech. Jinak by v případě kompilace a vazby doby načítání měly být procesy přesunuty do stejného umístění.
- Pomáhá lépe využívat paměť.
- Minimální plýtvání časem procesoru po dokončení, takže jej lze snadno použít na metodu plánování založenou na prioritách a zlepšit tak její výkon.
Co je alokace paměti?
Alokace paměti je proces, kterým se počítačovým programům přiřazuje paměť nebo prostor.
Zde je hlavní paměť rozdělena na dva typy oddílů
- Nedostatek paměti - operační systém je umístěn v tomto typu paměti.
- Vysoká paměť - Uživatelské procesy jsou uchovávány ve vysoké paměti.
Přidělení oddílu
Paměť je rozdělena do různých bloků nebo oddílů. Každý proces je alokován podle požadavku. Alokace oddílů je ideální metoda, jak se vyhnout vnitřní fragmentaci.
Níže jsou uvedena různá schémata rozdělení diskových oddílů:
- První přizpůsobení : U tohoto typu přizpůsobení je přidělen oddíl, což je první dostatečný blok od začátku hlavní paměti.
- Nejlepší přizpůsobení: Přiřadí proces oddílu, který je prvním nejmenším oddílem mezi volnými oddíly.
- Nejhorší přizpůsobení: Přiřadí proces oddílu, který je největším dostatečným volně dostupným oddílem v hlavní paměti.
- Další přizpůsobení: Je to většinou podobné prvnímu přizpůsobení, ale toto přizpůsobení vyhledá první dostatečný oddíl z posledního alokačního bodu.
Co je to stránkování?
Paging je mechanismus úložiště, který OS umožňuje načíst procesy ze sekundárního úložiště do hlavní paměti ve formě stránek. V metodě Paging je hlavní paměť rozdělena na malé bloky fyzické paměti pevné velikosti, které se nazývají rámce. Velikost rámce by měla být zachována stejná jako velikost stránky, aby se maximalizovalo využití hlavní paměti a zabránilo se externí fragmentaci. Paging se používá pro rychlejší přístup k datům a je to logický koncept.
Co je to fragmentace?
Procesy se ukládají a odebírají z paměti, čímž se vytváří volné místo v paměti, které je příliš malé na to, aby je bylo možné použít jinými procesy.
Někdy se tyto procesy, které nejsou schopny přidělit paměťovým blokům, protože jejich malá velikost a paměťové bloky vždy zůstanou nevyužité, nazývají fragmentace. K tomuto typu problému dochází během systému přidělování dynamické paměti, když jsou volné bloky poměrně malé, takže není schopen splnit žádný požadavek.
Jsou dva typy fragmentačních metod:
- Vnější fragmentace
- Vnitřní fragmentace
- Externí fragmentaci lze snížit přeuspořádáním obsahu paměti a umístěním veškeré volné paměti do jednoho bloku.
- Vnitřní fragmentaci lze snížit přiřazením nejmenšího oddílu, který je stále dostatečně dobrý, aby unesl celý proces.
Co je segmentace?
Metoda segmentace funguje téměř podobně jako stránkování. Jediný rozdíl mezi těmito dvěma je, že segmenty mají proměnlivou délku, zatímco u metody stránkování mají stránky vždy pevnou velikost.
Segment programu zahrnuje hlavní funkce programu, datové struktury, obslužné funkce atd. OS udržuje tabulku mapy segmentů pro všechny procesy. Zahrnuje také seznam volných bloků paměti spolu s jeho velikostí, čísly segmentů a jeho paměťovými místy v hlavní paměti nebo virtuální paměti.
Co je dynamické načítání?
Dynamické načítání je rutina programu, která se nenačte, dokud jej program nevyvolá. Všechny rutiny by měly být na disku obsaženy ve formátu přemístitelného zatížení. Hlavní program bude načten do paměti a bude spuštěn. Dynamické načítání také poskytuje lepší využití paměťového prostoru.
Co je dynamické propojení?
Propojení je metoda, která pomáhá OS shromažďovat a slučovat různé moduly kódu a dat do jednoho spustitelného souboru. Soubor lze načíst do paměti a spustit. OS může propojit knihovny na systémové úrovni do programu, který kombinuje knihovny v době načítání. V metodě dynamického propojení jsou knihovny propojeny v době provádění, takže velikost kódu programu může zůstat malá.
Rozdíl mezi statickým a dynamickým načítáním
Statické načítání | Dynamické načítání |
Statické načítání se používá, pokud chcete načíst program staticky. V době kompilace bude celý program propojen a zkompilován bez potřeby jakéhokoli externího modulu nebo závislosti na programu. | V dynamicky načteném programu budou poskytnuty odkazy a načtení bude provedeno v době provedení. |
V době načítání je celý program načten do paměti a začíná jeho provádění. | Rutiny knihovny se načítají do paměti, pouze pokud jsou v programu vyžadovány. |
Rozdíl mezi statickým a dynamickým propojením
Zde jsou hlavní rozdíly mezi statickým a dynamickým propojením:
Statické propojení | Dynamické propojení |
Statické propojení se používá ke kombinaci všech ostatních modulů, které program vyžaduje, do jediného spustitelného kódu. To pomáhá OS zabránit jakékoli závislosti za běhu. | Pokud je použito dynamické propojení, není nutné propojovat skutečný modul nebo knihovnu s programem. Místo toho použijte odkaz na dynamický modul poskytnutý v době kompilace a propojení. |
Souhrn:
- Správa paměti je proces řízení a koordinace paměti počítače, přiřazování částí nazývaných bloky různým spuštěným programům za účelem optimalizace celkového výkonu systému.
- Umožňuje vám zkontrolovat, kolik paměti je třeba přidělit procesům, které rozhodují o tom, který procesor by měl dostat paměť v jakou dobu.
- V Single Contiguous Allocation jsou pro jednu aplikaci k dispozici všechny typy paměti počítače kromě malé části vyhrazené pro OS
- Metoda Partitioned Allocation rozděluje primární paměť na různé paměťové oddíly, což jsou většinou souvislé oblasti paměti
- Metoda stránkované správy paměti rozděluje hlavní paměť počítače na jednotky pevné velikosti známé jako rámce stránek
- Segmentovaná paměť je jedinou metodou správy paměti, která neposkytuje programu uživatele lineární a souvislý adresní prostor.
- Swapping je metoda, při které by měl být proces dočasně vyměněn z hlavní paměti do záložního úložiště. Později bude vrácen zpět do paměti pro pokračování v provádění.
- Alokace paměti je proces, kterým se počítačovým programům přiřazuje paměť nebo prostor.
- Paging je mechanismus úložiště, který OS umožňuje načíst procesy ze sekundárního úložiště do hlavní paměti ve formě stránek.
- Fragmentace označuje stav disku, ve kterém jsou soubory rozděleny na části roztroušené po disku.
- Metoda segmentace funguje téměř podobně jako stránkování. Jediný rozdíl mezi těmito dvěma je, že segmenty mají proměnlivou délku, zatímco u metody stránkování mají stránky vždy pevnou velikost.
- Dynamické načítání je rutina programu, která se nenačte, dokud jej program nevyvolá.
- Propojení je metoda, která pomáhá OS shromažďovat a slučovat různé moduly kódu a dat do jednoho spustitelného souboru.