понедельник, 8 июня 2009 г.

Часто непонимаемый ключ /3GB

Это перевод The oft-misunderstood /3GB switch. Автор: Реймонд Чен.

Очень просто объяснить, что он делает. Но люди всё равно часто не понимают его.

Ключ /3GB изменяет способ разбиения 4 Гб виртуального адресного пространства. Вместо разбиения на 2 Гб пользовательского виртуального адресного пространства и 2 Гб режима ядра, разделение будет сделано на 3 Гб пользовательского и 1 Гб адресного пространства режима ядра.

Вот и всё.

И всё равно люди считают, что этот переключать делает что-то большее.

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

Термин "адресное пространство" определяет как числовое значение (известное как "адрес") интерпретируется, когда оно используется для доступа к какому-либо виду ресурса. Например, есть физическое адресное пространство (physical address space): каждый адрес в нём ссылается на байт в чипе памяти на планке RAM (примечание для педантов: да, на самом деле он размазывается по нескольким чипам, но это здесь не важно). Есть адресное пространство ввода-вывода (I/O address space): каждый адрес в нём позволяет процессору взаимодействовать (communicate) с аппаратным устройством.

И есть виртуальное адресное пространство (virtual address space). Когда люди говорят "адресное пространство", обычно они имеют ввиду именно "виртуальное адресное пространство".

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

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

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

Комментариев нет:

Отправить комментарий

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.