Přeskočit na hlavní obsah

Otázka č. 12 - Logický adresový prostor a využití rámců

Logický adresový prostor (LAS)

  • Reprezentace adresního prostoru procesu, který je nezávislý na fyzické paměti.
  • Každý proces má vlastní logický adresový prostor, který je mapován na fyzickou paměť.
  • Logické adresy jsou překládány na fyzické adresy pomocí správy paměti (MMU - Memory Management Unit).
  • Umožňuje oddělení programů a ochranu paměti mezi procesy.

Příklad

Logická adresaFyzická adresa
Stránka 0, Offset 20Rámec 5, Offset 20
Stránka 1, Offset 15Rámec 3, Offset 15
Stránka 2, Offset 30Rámec 8, Offset 30

Využití rámců v paměťovém managementu

  • Paměť je rozdělena na rámce (stejně velké bloky fyzické paměti).
  • Logický adresový prostor je rozdělen na stránky stejné velikosti jako rámce.
  • Stránky procesu jsou mapovány na rámce fyzické paměti pomocí tabulky stránek.
  • Tento mechanismus eliminuje fragmentaci a zlepšuje efektivitu využití paměti.

Stránkovací tabulka a její struktura

  • Obsahuje mapování mezi logickými stránkami a fyzickými rámci.
  • Každý proces má vlastní stránkovací tabulku.
  • Struktura tabulky:
    • Číslo stránky
    • Číslo odpovídajícího rámce
    • Doplňkové informace (přístupová práva, bit platnosti, bit změny atd.)
  • Možné optimalizace: víceúrovňové stránkování, invertované stránkovací tabulky.
Pozor

Při návrhu stránkovací tabulky je nutné zvážit její velikost a režii s ní spojenou. Velké tabulky mohou negativně ovlivnit výkon systému.

Příklad stránkovací tabulky

StránkaRámecPlatnost
05Ano
13Ano
28Ano
3-Ne

Správa paměti – přidělování rámců procesům

  • Operační systém přiděluje rámce procesům na základě jejich potřeb.
  • Používají se různé strategie přidělování:
    • Fixní počet rámců pro každý proces.
    • Variabilní přidělování na základě potřeby.
    • Dynamické přerozdělování na základě pracovního souboru procesu.

Algoritmy pro správu rámců

AlgoritmusPopis
FIFO (First-In-First-Out)Nejstarší stránka je nahrazena novou.
LRU (Least Recently Used)Stránka, která nebyla nejdéle použita, je nahrazena.
Optimal Page ReplacementNahrazuje stránku, která bude nejpozději potřeba (teoreticky nejefektivnější, ale těžko realizovatelný algoritmus).
Clock (Second Chance)Vylepšená varianta FIFO, která dává stránkám „druhou šanci“.
Tip

Algoritmus LRU je často efektivní volbou, protože odstraňuje stránky, které se nejméně používaly, což minimalizuje pravděpodobnost opětovného načtení.

Virtuální paměť a využití stránkování

  • Virtuální paměť umožňuje procesům využívat více paměti, než je fyzicky dostupné.
  • Stránky jsou dynamicky načítány do rámců na základě potřeby.
  • Swapping – Neaktivní stránky mohou být uloženy na disk a znovu načteny do RAM při potřebě.
  • Demand Paging – Stránky jsou načítány do paměti pouze tehdy, když jsou poprvé požadovány.

Výhody

  • Efektivnější využití paměti.
  • Možnost realizace virtuální paměti.
  • Ochrana paměti mezi procesy.
  • Eliminuje fragmentaci.

Nevýhody

  • Potřeba udržovat tabulky stránek.
  • Přídavná režie překladu adres.
  • Možné zpoždění při načítání dat z disku.

Další související témata:

  • Stránkování vs. segmentace
  • Virtuální paměť
  • TLB (Translation Lookaside Buffer)