Відмінності між версіями «Розподіл сторінок»

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