Systemy operacyjne - Zarządzanie pamięcią przez system operacyjny
1. Hierarchia pamięci:
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.
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)
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.