- ...
Linux1
- wersja jądra 2.7.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...MAX_ORDER
2
- MAX_ORDER ma wartość 10, co przy wielkości ramki bajtów limituje rozmiar maksymalnego zamówienia na pamięć do 4 megabajtów
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...list3
- w omawianej wersji jądra 2.4.7 pojawił się
nowy sposób reprezentowania list - poprzez strukturę list_head,
a nie jak porzednio przez dwa wskaźniki do poprzedniego i następnego elementu
listy
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... Buddy4
- Mówiac mniej ściśle - jeżeli zwalniamy blok pamięci, a bit jego opisujący
jest zapalony oznacza to, że można połączyć zwolniony blok ze swoim bliźniakiem.
Tą informację zdobywamy w czasie stałym.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... dysku5
-
jeżeli nie ma wolnych ramek te ramki są pierwszymi kandydatami do
wymazania z pamięci - ich zawartość na dysku jest prawidłowa, nie tracimy
czasu na ponowne zapisanie
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... dużej6
- każda strefa ma określony limit
pages_min mówiący ile powinno być wolnych ramek w systemie aby ten sprawnie działał
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... dużej7
-
każda strefa ma ustawiony pages_high określający wysoki limit
na ilość wolnych ramek + nieaktywnych czystych ramek
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... małym8
-
w strefie zmienna pages_low określa niski limit na ilość wolnych
ramek + czystych nieaktywnych w systemie
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... duszka9
- terminologia
zaciągnięta z opracaowań z lat wcześniejszych
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... programisty10
- zachęcają
do tego liczne komentarze w kodzie źródłowym m.in.
textitYou really aren't expected to understand this"
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.