2010-12-11 4 views
0

У меня 32-разрядная система. 2^32 байта памяти. Скажем, 4 КБ на страницу: 2^12 страниц.Как рассчитать, сколько страниц памяти мне нужно?

Как определить необходимое количество страниц? 2^32/2^12 = 2^20? Итак, у нас есть 20 бит для пейджинга и 12 бит для смещения?

У кого-нибудь есть пример того, как я мог понять пейджинг?

+0

, что именно этот вопрос? большинство языков программирования не требуют больше знать о пейджинге. Все, что вам нужно беспокоиться, состоит в том, что у вас есть только 32-разрядное адресное пространство и, следовательно, вы не можете использовать более 2 гигабайтов. – Doggett

+0

Примеры того, как вы могли понять подкачки: Google, Wikipedia. –

ответ

3

Ваш расчет правилен для простой системы поискового вызова, но все становится более сложным для систем, которые позволяют использовать страницы с переменным размером (то есть Pentium). Просто будьте осторожны с различием между виртуальной адресацией и физической адресацией ... хотя ваша архитектура может разрешить 2^32 адресуемых байта памяти, ваше фактическое оборудование может иметь меньше или больше памяти.

Если вы хотите привести пример, просто взгляните на некоторые заметки университета на операционных системах ... есть несколько лекций по управлению памятью here.

0

Мы можем установить память страницы как 1,5% кратному нашей TOTAAL доступной физической памяти т.е. если у нас есть 4 ГБ оперативной памяти, то размер файла подкачки может быть до 6 Гб

Смежные вопросы