Розподіл сторінок

Матеріал з Вікі ЦДУ
Версія від 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), то виділяється один із двійників, інакше процес продовжується поки не буде згенеровано найменший блок