Наиболее частые заблуждения насчет опции /3GB.


Перевод с блога The Old New Thing. Оригинал здесь

Довольно просто объяснить, что эта опция делает, однако люди часто неправильно ее понимают.

Опция /3Gb изменяет способ разделения 4-гигабайтного адресного пространства. Вместо разделения на 2Гб адресного пространства для режима пользователя и 2Гб для режима ядра, при этой опции 3Гб отводится на адресное пространство пользовательского режима и 1Гб – для режима ядра.

Вот, собственно, и все. Но люди думают, что она помимо этого делает что-то еще.

Я думаю, проблема в непонимании того, что "виртуальное адресное пространство" означает именно "виртуальное адресное пространство" и ничего более.

Термин "адресное пространство" означает способ, при помощи которого некоторое числовое значение (известное как "адрес") интерпретируется при его использовании для доступа к некоторому ресурсу. Существует физическое адресное пространство, каждый адрес в физическом адресном пространстве указывает на байт в чипе памяти. (для зануд: конечно, там на самом деле несколько чипов, но это сейчас неважно). Существует адресное пространство ввода-вывода, каждый адрес в этом адресном пространстве позволяет процессору общаться с некоторым внешним устройством.

Ну и, наконец, существует виртуальное адресное пространство. Когда говорят "адресное пространство", обычно подразумевают "виртуальное адресное пространство."

Виртуальное адресное пространство – это множество возможных значений указателей (адресов), которые могут использоваться процессором в данный момент времени. Другими словами, если есть адрес типа 0х12345678, то виртуальное адресное пространство определяет, какое значение вы получите, если попытаетесь прочитать эту память. Содержимое виртуального адресного пространства изменяется со временем, например, когда происходит выделение или освобождение памяти. Оно также меняется в зависимости от контекста: каждый процесс имеет свое собственное виртуальное адресное пространство.

Утверждение, что 2Гб (или 3Гб) виртуального адресного пространства доступно в режиме пользователя, означает, что в любой момент времени из 4 миллиардов доступных виртуальных 32-битных адресов, 2 миллиарда (или 3 миллиарда) из них можно использовать в режиме пользователя.

В следующих частях, я расскажу о различных последствиях и непониманиях относительно опции /3GB.

Реклама
Запись опубликована в рубрике память. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s