Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.336


Таненбаум Э.- Архитектура компьютера. стр.336

Позднее мы сопоставим страничную организацию памяти с процессом сегментации, при котором программисту требуется знать о существовании сегментов. Еще раз подчеркнем, что страничная организация памяти создает иллюзию линейной основной памяти такого же размера, как адресное пространство программы. В действительности основная память может быть меньше (или больше), чем виртуальное адресное пространство. То, что память большого размера про-

Таненбаум Э.- Архитектура компьютера.

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

Ситуация, когда программист использует какой-либо виртуальный механизм и даже не знает, как он работает, не нова. В архитектуры команд, например, часто включается команда МШ (умножение), даже если аппаратно умножение не поддерживается. Иллюзия того, что машина может перемножать числа, создается микропрограммой. Точно так же операционная система может создавать иллюзию, что все виртуальные адреса поддерживаются реальной памятью, даже если это неправда. Только разработчикам и исследователям операционных систем нужно знать, как строится такая иллюзия.

Реализация страничной организации памяти

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

Виртуальное адресное пространство разбивается на ряд страниц равного размера, обычно от 512 байт до 64 Кбайт, хотя иногда встречаются страницы по 4 Мбайт. Размер страницы всегда должен быть степенью двойки. Физическое адресное пространство тоже разбивается на части равного размера таким образом, чтобы каждая такая часть основной памяти вмещала ровно одну страницу. Эти части основной памяти называются страничными кадрами. На рис. 6.2 основная память содержит только один страничный кадр. На практике обычно имеются несколько тысяч страничных кадров.

На рис. 6.3, а показан один из возможных вариантов разделения первых 64 Кбайт виртуального адресного пространства на страницы по 4 Кбайт. Адрес может быть байтом, а может быть словом, например, в компьютере, в котором последовательно расположенные слова имеют последовательные адреса. Виртуальную память, изображенную на рис. 6.3, можно реализовать посредством таблицы страниц, в которой количество элементов равно количеству страниц в виртуальном адресном пространстве. Здесь для простоты мы показали только первые 16 элементов. Когда программа пытается обратиться к слову из первых 64 Кбайт виртуальной памяти, чтобы вызвать команду или данные или чтобы сохранить данные, сначала она генерирует виртуальный адрес от 0 до 65 532 (предполагается, что адреса слов должны делиться на 4). Для этого могут использоваться любые стандартные механизмы адресации, в том числе индексирование и косвенная адресация.


⇐ Предыдущая страница| |Следующая страница ⇒

.