Menu

Budowa systemu

Budowa komputera

Przykładowe systemy

Programowanie

Linki



Zarządzanie pamięcią

Zarządzanie pamięcią to jeden z najważniejszych podsystemów systemu operacyjnego. Dobrze napisane zarządzanie pamięci to podstawa dobrego systemu. Podsystem ten przydziela dostępną pamięć operacyjną uruchomionym aplikacjom, może odpowiadać także za swappowanie, czyli przenoszenie części pamięci operacyjnej na dysk twardy w celu uzyskania obszaru pamięci dla potrzebującej aplikacji. Źle napisany menedżer pamięci może powodować drastyczny spadek wydajności (odwołania do pamięci przez aplikacje są zwykle bardzo częste), jak również marnotrawstwo pamięci, co zmniejszy możliwą ilość uruchomionych aplikacji. Błędny menedżer może także doprowadzić do tak zwanego wycieku pamięci czyli stopniowego zużywania coraz większej ilości pamięci podczas pracy systemu aż do jej wyczerpania, uniemożliwiającego dalszą pracę. W systemie operacyjnym zwykle istnieje więcej niż jeden menedżer pamięci, każdy przydzielający i zwalniający pamięć określonego poziomu, np. pamięć fizyczna i pamięć wirtualna lub pamięć systemu i pamięć aplikacji.

Poziomy zarządzania pamięcią

1. Menedżer pamięci fizycznej.

Ta warstwa zajmuje się przydzielaniem zwykle dość dużych bloków pamięci fizycznej menedżerom wyższych poziomów.

2. Menedżer pamięci wirtualnej.

Występuje w systemach używających stronnicowania (znaczna większość systemów). Przydziela adresy wirtualne blokom pamięci przydzielonej przez menedżer pamięci fizycznej i udostępnia je działającym aplikacjom.

3.a. Menedżer pamięci jądra.

Używany wewnątrz jądra systemowego, w celu przydzielenia niezbędnej pamięci. Zwykle menedżer ten umożliwa alokowanie zarówno bardzo małych (1 bajt) jak również duzych bloków pamięci (ponad 1 mb).

3.b. Menedżer pamięci wysokiego poziomu.

Przydziela na żądanie aplikacji pamięć udostępnioną przez menedżer pamięci niższego poziomu. Podobnie jak menedżer pamięci jądra umożliwia alokowanie zarówno bardzo małych (1 bajt) jak również duzych bloków pamięci (ponad 1 mb).

Sposoby alokowania pamięci

Istnieją różne sposoby przydzielania i zwalniania pamięci operacyjnej aplikacji. Wśród nich możemy wyróżnić takie metody jak bitmapa, stos, buddy-bitmap oraz różne złożone metody takie jak drzewa binarne lub listy zlinkowane. Wybór sposobu zależy od poziomu menedżera pamięci, jak również po prostu od woli autora systemu. Dokładne opisy poszczególnych sposobów znajdą się w dziale Programowanie.



Valid XHTML 1.1 License Poprawny CSS!
© 2007 by Tomek Figa na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne 2.5 Polska.