Čo je správa pamäte?
Správa pamäte je proces riadenia a koordinácie pamäte počítača, priraďovania častí známych ako bloky rôznym spusteným programom s cieľom optimalizovať celkový výkon systému.
Je to najdôležitejšia funkcia operačného systému, ktorý spravuje primárnu pamäť. Pomáha procesom pohybovať sa tam a späť medzi hlavnou pamäťou a vykonávacím diskom. Pomáha OS sledovať každé miesto v pamäti bez ohľadu na to, či je pridelené nejakému procesu, alebo či zostáva voľné.
V tomto výučbe operačného systému sa dozviete:
- Čo je správa pamäte?
- Prečo používať správu pamäte?
- Techniky správy pamäte
- Čo je to zámena?
- Čo je alokácia pamäte?
- Čo je to stránkovanie?
- Čo je to metóda fragmentácie?
- Čo je segmentácia?
- Čo je dynamické načítanie?
- Čo je dynamické prepojenie?
- Rozdiel medzi statickým a dynamickým načítaním
- Rozdiel medzi statickým a dynamickým prepojením
Prečo používať správu pamäte?
Tu sú dôvody pre použitie správy pamäte:
- Umožňuje vám skontrolovať, koľko pamäte je potrebné prideliť procesom, ktoré rozhodujú o tom, ktorý procesor by mal dostať pamäť v akom čase.
- Sleduje sa vždy, keď sa inventár uvoľní alebo nepridelí. Podľa neho bude aktualizovať stav.
- Prideľuje priestor aplikačným rutinám.
- Zaistite tiež, aby si tieto aplikácie navzájom nerušili.
- Pomáha chrániť rôzne procesy navzájom
- Umiestňuje programy do pamäte tak, aby bola pamäť využitá v plnom rozsahu.
Techniky správy pamäte
Tu uvádzame niektoré najdôležitejšie techniky správy pamäte:
Jednotlivé súvislé pridelenie
Je to najjednoduchšia technika správy pamäte. V tejto metóde sú pre jednu aplikáciu k dispozícii všetky typy pamäte počítača okrem malej časti rezervovanej pre OS. Napríklad operačný systém MS-DOS alokuje pamäť týmto spôsobom. Vstavaný systém funguje aj na jednej aplikácii.
Rozdelené rozdelenie
Rozdeľuje primárnu pamäť na rôzne pamäťové oddiely, čo sú väčšinou susediace oblasti pamäte. Každý oddiel ukladá všetky informácie o konkrétnej úlohe alebo úlohe. Táto metóda spočíva v pridelení oddielu úlohe pri spustení a nepridelení pri ukončení.
Správa stránkovanej pamäte
Táto metóda rozdeľuje hlavnú pamäť počítača na jednotky pevnej veľkosti, ktoré sa nazývajú rámce stránok. Táto jednotka správy hardvérovej pamäte mapuje stránky do rámcov, ktoré by sa mali alokovať na základe jednotlivých stránok.
Segmentovaná správa pamäte
Segmentovaná pamäť je jedinou metódou správy pamäte, ktorá neposkytuje programu používateľa lineárny a súvislý adresný priestor.
Segmenty potrebujú hardvérovú podporu vo forme tabuľky segmentov. Obsahuje fyzickú adresu oddielu v pamäti, veľkosť a ďalšie údaje, ako sú bity ochrany prístupu a stav.
Čo je to zámena?
Výmena je metóda, pri ktorej by sa mal proces dočasne vymeniť z hlavnej pamäte do záložného úložiska. Neskôr bude vrátený späť do pamäte pre ďalšie vykonávanie.
Záložný úložný priestor je pevný disk alebo iné sekundárne úložné zariadenie, ktoré by malo byť dostatočne veľké na to, aby umožňovalo ukladanie kópií všetkých obrázkov pamäte pre všetkých používateľov. Je tiež schopný ponúknuť priamy prístup k týmto obrázkom z pamäte.
Výhody výmeny
Tu sú hlavné výhody / výhody výmeny:
- Ponúka vyšší stupeň multiprogramovania.
- Umožňuje dynamické premiestnenie. Napríklad, ak sa používa väzba adresy v čase vykonania, potom je možné procesy zameniť na rôznych miestach. V opačnom prípade by sa v prípade kompilácie a načítania väzieb mali procesy presunúť na rovnaké miesto.
- Pomáha lepšie využívať pamäť.
- Minimálne plytvanie časom procesora po dokončení, aby sa dalo ľahko použiť na spôsob plánovania založeného na prioritách, aby sa zlepšil jeho výkon.
Čo je alokácia pamäte?
Alokácia pamäte je proces, ktorým sa počítačovým programom priraďuje pamäť alebo priestor.
Tu je hlavná pamäť rozdelená na dva typy oddielov
- Low Memory - V tomto type pamäte sa nachádza operačný systém.
- Vysoká pamäť - Procesy používateľov sa uchovávajú vo vysokej pamäti.
Pridelenie oddielov
Pamäť je rozdelená na rôzne bloky alebo oddiely. Každý proces je alokovaný podľa požiadavky. Alokácia oddielov je ideálnou metódou na zabránenie vnútornej fragmentácii.
Ďalej uvádzame rôzne schémy prideľovania oddielov:
- Prvé prispôsobenie : V tomto type prispôsobenia je vyhradený oddiel, čo je prvý dostatočný blok od začiatku hlavnej pamäte.
- Najlepšie prispôsobenie: Priradí proces oddielu, ktorý je prvým najmenším oddielom medzi voľnými oddielmi.
- Najhoršie prispôsobenie: Priradí proces oddielu, ktorý je najväčším dostatočne veľkým voľne dostupným oddielom v hlavnej pamäti.
- Next Fit: Je to väčšinou podobné prvému Fit, ale tento Fit vyhľadáva prvý dostatočný oddiel od posledného alokačného bodu.
Čo je to stránkovanie?
Paging je mechanizmus ukladania, ktorý umožňuje OS načítať procesy zo sekundárneho úložiska do hlavnej pamäte vo forme stránok. V metóde Paging je hlavná pamäť rozdelená na malé bloky fyzickej pamäte s pevnou veľkosťou, ktoré sa nazývajú rámce. Veľkosť rámu by sa mala zachovať rovnaká ako veľkosť stránky, aby sa maximálne využila hlavná pamäť a zabránilo sa externej fragmentácii. Paging sa používa na rýchlejší prístup k dátam a je to logický koncept.
Čo je to fragmentácia?
Procesy sa ukladajú a odstraňujú z pamäte, čím sa vytvára voľný pamäťový priestor, ktorý je príliš malý na to, aby ho mohli použiť iné procesy.
Niekedy sa tento proces, ktorý nie je schopný alokovať do pamäťových blokov, pretože jeho malá veľkosť a pamäťové bloky vždy zostanú nevyužité, nazýva fragmentácia. Tento typ problému sa stane počas systému dynamického prideľovania pamäte, keď sú voľné bloky dosť malé, takže nie je schopný splniť žiadnu požiadavku.
Dva typy metód fragmentácie sú:
- Vonkajšia fragmentácia
- Vnútorná fragmentácia
- Externú fragmentáciu je možné znížiť usporiadaním obsahu pamäte, aby sa všetka voľná pamäť dala dohromady do jedného bloku.
- Vnútornú fragmentáciu je možné znížiť priradením najmenšieho oddielu, ktorý je stále dosť dobrý na to, aby uniesol celý proces.
Čo je segmentácia?
Metóda segmentácie funguje takmer podobne ako stránkovanie. Jediný rozdiel medzi nimi je ten, že segmenty majú premenlivú dĺžku, zatiaľ čo pri stránkovacej metóde majú stránky vždy pevnú veľkosť.
Segment programu obsahuje hlavnú funkciu programu, dátové štruktúry, pomocné funkcie atď. OS udržuje tabuľku máp segmentov pre všetky procesy. Zahŕňa tiež zoznam voľných blokov pamäte spolu s ich veľkosťou, číslami segmentov a umiestneniami pamäte v hlavnej pamäti alebo virtuálnej pamäti.
Čo je dynamické načítanie?
Dynamické načítanie je rutina programu, ktorá sa nenačíta, kým ho program nevyvolá. Všetky rutiny by mali byť na disku obsiahnuté vo formáte premiestniteľného zaťaženia. Hlavný program sa načíta do pamäte a vykoná sa. Dynamické načítanie tiež poskytuje lepšie využitie pamäťového priestoru.
Čo je dynamické prepojenie?
Prepojenie je metóda, ktorá pomáha OS zhromažďovať a spájať rôzne moduly kódu a údajov do jedného spustiteľného súboru. Súbor je možné načítať do pamäte a spustiť. OS môže prepojiť knižnice na systémovej úrovni do programu, ktorý kombinuje knižnice v čase načítania. V metóde dynamického prepojenia sú knižnice prepojené v čase vykonania, takže veľkosť programového kódu môže zostať malá.
Rozdiel medzi statickým a dynamickým načítaním
Statické načítanie | Dynamické načítanie |
Statické načítanie sa používa, ak chcete program načítať staticky. V čase kompilácie bude potom celý program prepojený a zostavený bez potreby akejkoľvek závislosti od externého modulu alebo programu. | V dynamicky načítanom programe budú poskytnuté referencie a načítanie sa uskutoční v čase vykonania. |
V čase načítania sa celý program načíta do pamäte a začne sa jeho vykonávanie. | Rutiny knižnice sa načítajú do pamäte, iba ak to vyžaduje program. |
Rozdiel medzi statickým a dynamickým prepojením
Tu sú hlavné rozdiely medzi statickým a dynamickým odkazom:
Statické prepojenie | Dynamické prepojenie |
Statické prepojenie sa používa na spojenie všetkých ostatných modulov, ktoré program vyžaduje, do jedného spustiteľného kódu. Pomáha to OS zabrániť akejkoľvek závislosti za behu. | Ak sa použije dynamické prepojenie, nemusí byť prepojený skutočný modul alebo knižnica s programom. Namiesto toho použite odkaz na dynamický modul poskytnutý v čase kompilácie a prepojenia. |
Zhrnutie:
- Správa pamäte je proces riadenia a koordinácie pamäte počítača, priraďovania častí nazývaných bloky rôznym spusteným programom s cieľom optimalizovať celkový výkon systému.
- Umožňuje vám skontrolovať, koľko pamäte je potrebné prideliť procesom, ktoré rozhodujú o tom, ktorý procesor by mal dostať pamäť v akom čase.
- V rámci Single Contiguous Allocation sú pre jednu aplikáciu k dispozícii všetky typy pamäte počítača okrem malej časti vyhradenej pre OS.
- Metóda Partitioned Allocation rozdeľuje primárnu pamäť na rôzne pamäťové oddiely, čo sú väčšinou susediace oblasti pamäte
- Metóda stránkovanej správy pamäte rozdeľuje hlavnú pamäť počítača na jednotky pevnej veľkosti známe ako rámce stránok
- Segmentovaná pamäť je jedinou metódou správy pamäte, ktorá neposkytuje programu používateľa lineárny a súvislý adresný priestor.
- Výmena je metóda, pri ktorej by sa mal proces dočasne vymeniť z hlavnej pamäte do záložného úložiska. Neskôr bude vrátený späť do pamäte pre ďalšie vykonávanie.
- Alokácia pamäte je proces, ktorým sa počítačovým programom priraďuje pamäť alebo priestor.
- Paging je mechanizmus ukladania, ktorý umožňuje OS načítať procesy zo sekundárneho úložiska do hlavnej pamäte vo forme stránok.
- Fragmentácia označuje stav disku, v ktorom sú súbory rozdelené na kúsky roztrúsené po disku.
- Metóda segmentácie funguje takmer podobne ako stránkovanie. Jediný rozdiel medzi nimi je ten, že segmenty majú premenlivú dĺžku, zatiaľ čo pri stránkovacej metóde majú stránky vždy pevnú veľkosť.
- Dynamické načítanie je rutina programu, ktorá sa nenačíta, kým ho program nevyvolá.
- Prepojenie je metóda, ktorá pomáha OS zhromažďovať a spájať rôzne moduly kódu a údajov do jedného spustiteľného súboru.