Podział i przydział pamięci

Podział pamięci


Na poprzednich slajdach scharakteryzowano krótko najważniejsze zadania, które w zarządzaniu pamięcią realizowane są na poziomie architektury komputera. Zadania te realizowane są przez jednostkę zarządzania pamięcią, pod warunkiem, że udostępnione są odpowiednie dane do transformacji i weryfikacji adresów. W tym miejscu zaczyna się rola systemu operacyjnego.

Zakres adresów fizycznych, dostępnych dla procesu jest konsekwencją przydziału pamięci. Sposób przydziału wiąże się ściśle z podziałem, czyli wyznaczeniem przydzielanych jednostek pamięci lub określeniem zasad ich wyznaczania.

Można wyróżnić:

  • podział stały, w którym przydzielane jednostki są odgórnie wyznaczone,
  • podział dynamiczny, w którym jednostki definiowane są z pewną dokładnością stosownie do potrzeb,
  • podział na bloki bliźniacze, który jest rozwiązaniem pośrednim pomiędzy podziałem statycznym a dynamicznym i polega na połowieniu większych obszarów (zbyt dużych) na dwa mniejsze (o równej wielkości).

  • Podział stały
    • partycje o równym rozmiarze
    • partycje o różnych rozmiarach
  • Podział dynamiczny
  • Podział na bloki bliźniacze (zwany też metodą sąsiedzkich stert)

Ogólny obraz pamięci fizycznej


W ogólnym obrazie pamięci fizycznej można wyróżnić część, przeznaczoną na jądro systemu operacyjnego oraz część do dyspozycji procesów użytkownika, którą przydziela oczywiście zarządca pamięci (odpowiedni moduł systemu operacyjnego). Jądro zajmuje najczęściej początkowy lub końcowy obszar pamięci fizycznej, ale właściwa lokalizacja zależy od rozwiązań na poziomie architektury komputera.

Omawiane zagadnienia podziału i przydziału pamięci można odnieść zarówno do przestrzeni, przeznaczonej na procesy użytkownika, jak i do obszaru jądra systemu operacyjnego. Przestrzeń dla procesów użytkownika jest przydzielana w reakcji na żądania użytkowników, związane z tworzeniem procesów lub przydzielaniem im dodatkowej pamięci. Jądro przeznacza pewien obszar przydzielonej pamięci na tymczasowe potrzeby, wynikające z bieżąco realizowanych żądań zasobowych procesów lub obsługiwanych urządzeń.

slajd 10