2016-03-21 6 views
0

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

если мой базовый адрес сегмента кода и сегмента данных в том же 0 сегментов, как отображать на физический адрес?

ответ

0

Получите сегменты из своей лексики.

Физическая память разделена на кадры страниц. Размер кадра страницы зависит от количества систем, но обычно составляет от 512 до 4 Кбайт.

Каждый процесс имеет логическое адресное пространство, состоящее из массива страниц. Размер страницы такой же, как размер рамки страницы.

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

Ничто (кроме операционной системы) не позволяет сопоставлять записи таблицы страниц с одной страницей.

+0

, хотя они были запущены с тем же базовым адресом и сопоставлены с одним и тем же линейным адресом, но их смещение было иным, поэтому они были сопоставлены с другим физическим адресом, не так ли? – Aalphabets

+0

Логическая страница для отображения физического кадра страницы может быть полностью случайной. 0 => 100, 1 => 53, 2 => 17, 3 => 1011 – user3344003

1

Это концепция виртуальной памяти.
Пользовательский процесс разделен на многие страницы.
Даже основная память разделена на множество кадров, так что размер каждого кадра равен размеру каждой страницы.

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

Теперь это сопоставление страницы с фреймом в основной памяти хранится в структуре данных, называемой таблицей страниц.

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