Відмінності між версіями «Розподіл сторінок»
(Створена сторінка: Щоб підвищити ефективність читання сторінок з основної пам'яті і запису сторінок в основ...) |
|||
(не показано одну проміжну версію цього учасника) | |||
Рядок 3: | Рядок 3: | ||
При виділенні і звільненні сторінок в основній пам'яті доступні групи розподіляються і об'єднуються з використанням алгоритму двійників. | При виділенні і звільненні сторінок в основній пам'яті доступні групи розподіляються і об'єднуються з використанням алгоритму двійників. | ||
− | + | '''Алгоритм двійників'''(система двійників) | |
− | + | ||
Пам'ять розподіляється блоками | Пам'ять розподіляється блоками | ||
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), то виділяється один із двійників, інакше процес продовжується поки не буде згенеровано найменший блок |
Поточна версія на 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), то виділяється один із двійників, інакше процес продовжується поки не буде згенеровано найменший блок