Розмір сторінки пам’яті

При роботі зі сторінками памяті ніколи не можна привязуватися до конкретного розміру сторінки Програмісти, які розробляють для апаратної платформи х86, часто роблять помилку, вважаючи, що розмір сторінки завжди дорівнює 4 Кбайта Хоча це справедливо для платформи х86, для інших апаратних платформ розмір станиці може бути іншим Деякі апаратні платформи підтримують кілька розмірів сторінок У табл 19-1 наведений список розмірів сторінок памяті для всіх підтримуваних апаратних платформ

Таблиця 194 Розміри сторінок памяті для різних апаратних платформ

Аппаратнаяплатформа

alpha

ЗначенняPAGE_SHIFT

13

Значення PAGE_SIZ E

8 Кбайт

arm

12,  14,  15

4 Кбайт, 16 Кбайт, 32 Кбайт

cris

13

8 Кбайт

h8300

12

4 Кбайт

i386

12

4 Кбайт

ia64 12, 13, 14, 16 4 Кбайт, 8 Кбайт, 32 Кбайт, 64 Кбайт

m68k

12,  13

4 Кбайт, 8 Кбайт

m86knommu

12

4 Кбайт

mips

12

4 Кбайт

mips64

1                        •

12

4 Кбайт

parisc

12

4 Кбайт

РРС

12

4 Кбайт

ррс64

12

4 Кбайт

S390

12

4 Кбайт

sh

12

4 Кбайт

spare

12,13

4 Кбайт, 8 Кбайт

sparc64

13

8 Кбайт

v850 х86_64

12

4 Кбайт

4 Кбайт

При роботі зі сторінками памяті необхідно використовувати константу PAGE_SIZE, яка містить розмір сторінки памяті в байтах

Значення макросу PAGE_SHIFT – це кількість бітів, на яке необхідно зрушити вліво значення адреси, щоб отримати номер відповідної сторінки памяті Наприклад, для апаратної платформи х86, для якої розмір сторінки дорівнює 4 Кбайт, макрос PAGE_SIZE дорівнює 4096, а макрос PAGE_SHIFT-12 Ці значення містяться в заголовному файлі

Джерело: Лав, Роберт Розробка ядра Linux, 2-е видання : Пер з англ – М: ТОВ «ІД Вільямс »2006 – 448 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*