Operační paměť

  • základní část PC
  • slouží k uložení kódu a dat běžících procesů, operačního systému, přístupu k zařízením, přístup k souborovému systému
  • může být realizována různými prostředky - DRAM, SRAM, HDD, SSD, flash

Požadavky na správu operační paměti

  • HW a OS počítače se podílí na:
    • evidenci volného a přiděleného prostoru procesům
    • přidělování a uvolňování paměti procesů
    • ochraně přiděleného prostoru
    • realizaci virtuální paměti

Správa paměti v jednoúlohových operačních systémech

  • v jeden okamžik může běžet pouze jeden proces - žádné extra nároky
  • časté řešení: OS a ovladače zařízení na začátku nebo na konci, program ve zbylé části

Stránkování

  • alternativa k přidělování souvislých bloků paměti, kde místo operační paměti naopak “kouskujeme” programy
  • řeší vnější fragmetace
  • adresní (logický) prostor je rozdělen na úseky stejné délky stránky (pages)
  • fyzická paměť je rozdělena na úseky stejné délky rámce (frames)

  • provádí se mapování logických adres na fyzické
  • CPU společně s OS udržuje stránkovací tabulku, díky které se adresy převádí

Ukázka stránkování

  • logická adresa: pd, kde p je číslo stránky a d je offset
  • fyzická adresa: fd
  • číslo stránky se vezme jako index do stránkovací tabulky a nahradí se tam uložených číslem rámce f

  • v praxi se používají víceúrovňové tabulky
    • část logické adresy udává tabulku, další část index v tabulce a další část offset

Ukázka i386 s Physical Address Extention

  • TLB: Translation Lookaside Buffer
    • cache procesoru obsahující hodně používané části stránkovacích tabulek
    • pro danou stránku uchovává adresu rámce
    • pokud je v cache - cache hit, jinak cache miss a načtení stránky trvá déle

Segmentace

  • paměť je rozdělena do několika segmentů (alespoň na kód, data, zásobník)
  • stránkování je obvykle pro programátora transparentní
    • oproti tomu segmentace umožňuje rozdělit program do logických celků

  • při použití segmentace a stránkování programy nepracují přímo s lineární adresou
  • používají logickou adresu ve tvaru segment + offset a ta se poté převádí na fyzickou adresu pomocí stránkování

Ukázka segmentace

Virtuální paměť

  • primární paměť RAM je obvykle málo
  • k primární paměti je připojen ještě velký soubor na disku
  • za pomoci OS se počítač tváří, jako by primární paměti bylo více
  • aktuálně používaná data musí být v RAM

Pojmy

  • virtuální paměť: operační paměť zahrnující jak primární paměť, tak i vyhrazený prostor na pevním disku
  • swapování: je proces, kdy OS vyměňuje úsek operační paměti mezi primární pamětí a diskem
  • stránkovací/swapovací soubor: je soubor na disku obsahující data namapovaná systémem do operační paměti

Předchozí: Problém uváznutí, jeho detekce a metody předcházení Následující: Práce se vstupně výstupními zařízeními, ovladače Celý okruh: 2. Informační technologie