Высокая память - High memory

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

Некоторые ядра операционных систем, например Linux разделить их виртуальное адресное пространство на два региона, большую часть пространство пользователя а меньший к ядру. В настоящее время 32-битный x86 На компьютерах это обычно (хотя и не обязательно, поскольку это настраиваемая опция) принимает форму разделения адресного пространства 4 ГБ на 3 ГБ / 1 ГБ, поэтому виртуальные адреса ядра начинаются с 0xC0000000 и переходят в 0xFFFFFFFF. Младшие 896 МБ, от 0xC0000000 до 0xF7FFFFFF, напрямую отображаются в физическое адресное пространство ядра, а оставшиеся 128 МБ, от 0xF8000000 до 0xFFFFFFFF, используются ядром по запросу для отображения в верхнюю память. Когда в пользовательский режим, переводы эффективны только для первого региона, таким образом защищая ядро ​​от пользователя. программы, но когда в режим ядра, переводы эффективны для обоих регионов, что дает ядру простой способ ссылаться на буферы процессов - он просто использует собственные сопоставления процесса.[1]

Однако, если ядру необходимо обратиться к физической памяти, для которой еще не было предоставлено преобразование пользовательского пространства, у него есть только 1 ГБ (например) виртуальной памяти для использования. На компьютерах с большим объемом физической памяти это может означать, что существует память, на которую ядро ​​не может ссылаться напрямую - это называется верхней памятью. Когда ядро ​​хочет адресовать верхнюю память, оно создает отображение на лету и уничтожает отображение, когда это делается, что влечет за собой снижение производительности.

Смотрите также

использованная литература

внешние ссылки