2016-02-09 4 views
0

Использует ли код, который работает в режиме ядра, физические адреса или виртуальные адреса?Режим ядра - физические адреса или виртуальные адреса?

Если это виртуальный номер, в котором используются таблицы перевода? они обновляются по-разному при сравнении с таблицами пользовательского режима?

Благодаря

+0

На первый вопрос отвечает здесь: http://stackoverflow.com/questions/15851225/difference-between-physical-logical-virtual-memory-address. Что касается таблиц перевода, то ** механизм ** определяется архитектурой, поэтому он одинаковый для пользователя и памяти ядра. Но ** контент ** для пространства пользователя и таблиц пространства ядра отличается, конечно. – Tsyvarev

ответ

0

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

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

Идеальным было бы для системы использовать только физические адреса для системных регистров.

Важное значение имеет различие в логическом/виртуальном адресе. Некоторые части адресного пространства ядра могут быть доступны для просмотра (виртуальная память). Другие части могут быть нечитаемыми (только для логической памяти).

Передача адреса режима ядра зависит от аппаратного обеспечения. Некоторые системы делают страницы страниц пользовательского режима страничными. В таких системах существует два уровня преобразования адресов (виртуальные адреса для таблицы страниц и виртуальных адресов с использованием таблицы страниц). Основное аппаратное обеспечение определяет конкретные диапазоны адресов как адреса ядра. Другие системы позволяют полностью определять адресное пространство системы (ядра) в программном обеспечении. В таких системах преобразование адресов ядра и пользователя практически одинаково.

+0

Также адреса автобусов. – 0andriy

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