Systemy operacyjne - Zarządzanie pamięcią przez system operacyjny

1. Hierarchia pamięci:


2. Typy pamięci:
  • Pamięć RAM (ulotna; dostęp do danych odbywa się za pomocą magistrali adresowej i magistrali danych)
  • Pamięć dynamiczna - DRAM (realizowane w postaci pamięci kondensatorowej (0 i 1); używana jako pamięć główna) = np. DDR2, DDR3, DDR4
  • Pamięć statyczna - SRAM (realizowane w postaci pamięci elektronicznej (np. oparty na tranzystorach); używane jako pamięć CACHE)
3. Przestrzeń adresowa to zakres całej pamięci, którą można zaadresować. Wyróżniamy 2 typy pamięci adresowej:
  • przestrzeń fizyczna (wszystkie fizyczne komórki w przestrzeni adresowej)
  • przestrzeń logiczna (wszystkie adresy generowane przez procesor w kontekście aktualnie uruchomionych procesów)

 4. Konwersja adresu logicznego na fizyczny:

Adres fizyczny można utworzyć np. przesuwając adres logiczny. W ten sposób dowolna logiczna przestrzeń adresowa procesu może być skonstruowana niezależnie od jej rzeczywistego umiejscowienia w pamięci określonej podczas jej wykonywania. Przesuwa się wartość segmentu o cztery bity w lewo (uzupełniając puste miejsce zerami) i dodaje się wartość przesunięcia. Cztery ostatnie bity wyniku stanowią offset adresu, a szesnaście pierwszych segment.

5. Partycjonowanie to dzielenie pamięci fizycznej na mniejsze części. Partycjonowanie statyczne polega na tym, że pamięć w momencie startu systemu jest dzielona na ściśle określone fragmenty. (Proces o rozmiarze mniejszym lub równym wielkości partycji może być załadowany. Procesy większe muszą być nakładkowane. Adresowanie jest bardzo szybkie). Partycjonowanie dynamiczne to partycje o różnej wielkości. Konieczne jest okresowe porządkowanie pamięci.

6. Wewnętrzna fragmentacja występuje, gdy bloki o stałej wielkości są przydzielane do procesu bez uwzględniania rozmiaru procesu, a fragmentacja zewnętrzna występuje, gdy procesy są dynamicznie przydzielane do pamięci.