Відмінності між версіями «Розподіл сторінок»
Рядок 2: | Рядок 2: | ||
При виділенні і звільненні сторінок в основній пам'яті доступні групи розподіляються і об'єднуються з використанням алгоритму двійників. | При виділенні і звільненні сторінок в основній пам'яті доступні групи розподіляються і об'єднуються з використанням алгоритму двійників. | ||
− | |||
'''Алгоритм двійників'''(система двійників) | '''Алгоритм двійників'''(система двійників) | ||
Рядок 10: | Рядок 9: | ||
2^min<X<2^max=всій пам'яті | 2^min<X<2^max=всій пам'яті | ||
− | При запитанні розміром Y в межах 2^max-1<Y<2^max, виділяється весь блок. Інакше блок ділиться на два двійника розміру 2^max-1. Якщо 2^max-2<Y<2^max-1 | + | При запитанні розміром Y в межах 2^(max-1)<Y<2^max, виділяється весь блок. Інакше блок ділиться на два двійника розміру 2^(max-1). Якщо 2^(max-2)<Y<2^(max-1), то виділяється один із двійників, інакше процес продовжується поки не буде згенеровано найменший блок |
Поточна версія на 13:21, 7 травня 2011
Щоб підвищити ефективність читання сторінок з основної пам'яті і запису сторінок в основну пам'ять,linux визначає механізм для роботи з суміжними блоками сторінок. Для цього в Linux використовується система двійників. Ядро підтримує список груп суміжних кадрів фіксованого розміру. Група може складатись з 1,2,4,8,16 або 32 кадрів сторінок.
При виділенні і звільненні сторінок в основній пам'яті доступні групи розподіляються і об'єднуються з використанням алгоритму двійників.
Алгоритм двійників(система двійників)
Пам'ять розподіляється блоками
2^min<X<2^max=всій пам'яті
При запитанні розміром Y в межах 2^(max-1)<Y<2^max, виділяється весь блок. Інакше блок ділиться на два двійника розміру 2^(max-1). Якщо 2^(max-2)<Y<2^(max-1), то виділяється один із двійників, інакше процес продовжується поки не буде згенеровано найменший блок