RSS    

   Реферат: Виртуальная память

определённого максимального значения. Отличие сегмента от страницы состоит в

том, что длинна сегмента может изменяться в процессе работы.

Сегменты, как и любая структура виртуальной памяти, могут размещаться как в ОП,

так и во внешней памяти (магнитных носителях). ВП с ССО функционирует подобно ВП

с СО: если требующийся на данный момент сегмент отсутствует в оперативной

памяти, то при надобности работы с ним, он предварительно перемещается в ОП.

Сегментно-страничная организация памяти требует более сложной

аппаратурно-программной организации. Рассмотрим как же осуществляется обращение

к ВП посредством ССО. По самому названию "сегментно-страничный" нетрудно

догадаться, что при таком методе используется как сегментная, так и страничная

таблицы. Это очень похоже на сложно структурированный метод "процедуры в

процедуре" во многих алгоритмических языках. На рисунке 7 подробно показан

способ организации ВП с ССО. Адрес ячейки в данном случае складывается из 3х

частей: первая содержит номер самого сегмента (Segment), по этому номеру машина

обращается к сегментной таблице. Вторая часть адреса содержит номер искомой

страницы (page), которая находится внутри выбранного сегмента и третья смещение

(length), по которому находится требуемый адрес. Pµ, обведенное в двойную рамку

показывает математический адрес, а Pф физический. Как и при СО, смещение l

переписывается в ячейку физического адреса без изменений.

Вверху рисунка, аббревиатурой N обозначен номер какой-нибудь программы

пользователя. А0 с индексом 1 обозначает конкретный начальный адрес сегментной

таблицы для данной программы. Сначала берется этот адрес и номер сегмента S из

регистра математического адреса. Оба этих адреса складываются в сумматоре,

который изображен в виде обведенного плюса. Получившийся адрес А1 + S является

входом в сегментную таблицу (изображен в первой колонке сегментной таблицы).

Далее, благодаря этому адресу, отыскивается соответствующий адрес страничной

таблицы (А0 с индек

сом 2), который в свою очередь суммируется с номером искомой страницы p в

сумматоре. Результирующая сумма есть вход в страничную таблицу. Структура

страничной таблицы нам уже знакома: благодаря получившемуся адресу, находится

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

этой страницы (включенный бит страница находится в ОП, выключенный во внешней

памяти).

Рис. 7 Сегментно-страничная организация ВП.

Итак, краткое описание функционирования ВП с ССО: с помощью начального адреса

сегментной таблицы и номера сегмента из регистра математического адреса (S)

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

страничной таблицы. К этому адресу в свою очередь прибавляется номер страницы из

РМА. Эта сумма служит входом в страничную таблицу, в которой затем отыскивается

адрес искомой физической страницы и, в соответствии с уровнем доступности,

процессор либо начинает работать с этой страницей, либо вырабатывает

аппаратурное прерывание и подключает супервизора, который затем организует ее

перепись в ОП. Если вся ОП будет занята, то супервизор, в соответствии с

принятым методом (см. § 8), своппирует какую-нибудь страницу.

7. Виртуальная память в современных компьютерах

(ВП в современных машинах, отличия, преимущества...)

Как было сказано выше, с развитием компьютерных технологий стали появляться

новые перспективы использования персональных компьютеров. В § 3 упоминается о

компьютере Intel™ 486DX4 с тактовой частотой 75Mhz, произведенным фирмой Texas

Instruments. Несомненно, возможности этого компьютера огромны. Он комплектуется

огромным жестким диском (1.2GB) и имеет 32MB оперативной памяти. Предположим,

что эта машина будет использоваться для разработки космического корабля, робота

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

"серьёзное" программное обеспечение (скажем, производимое фирмой Silicon

Graphics®), требующее огромного количества оперативной памяти. В такой ситуации

даже 32MB может не хватать. В таких ситуациях по-прежнему проявляется тенденция

к использованию ВП. Виртуальная память применяется во многих программах,

операционных оболочках, коммуникационном программном обеспечении. В следующих

пунктах приведены примеры использования виртуальной памяти в современных

компьютерах с различными программами.

Использование ВП в Microsoft® Windows™ 3.1*

Microsoft Windows 3.1 является наиболее популярной операционной оболочкой как

среди любителей, так и среди профессиональных пользователей. Windows

обеспечивает независимый запуск и выполнение сразу нескольких программ.

Большинство других оболочек и операционных систем рассчитаны на выполнение в

данный момент только одной программы. В рамках Windows можно запустить сразу

несколько программ. Для этих целей используется ВП. 1. RAM диск (виртуальный,

псевдо, электронный диск) Разновидность виртуальной памяти. Супервизор

резервирует для него область EMS или XMS памяти и, таким образом устанавливает

диск в памяти. Он работает быстрее, чем реальный физический диск, но при

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

промежуточной информации в течение одного сеанса работы. Но RAM диск не является

прямым аналогом ВП.

2. Использование SWAPфайла виртуальной памяти.

Виртуальная память в оболочке Windows 3.1 используется только в расширенном

(extended) режиме. Каковы характеристики компьютера, работающего с Windows в

расширенном режиме? Он должен иметь 386ой процессор и минимум 2 мегабайта

памяти. Итак виртуальная память в Windows представляет собой механизм,

обеспечивающий расширение адресного пространства за счет дискового прост

—————

* Рассмотрены компьютеры фирм IBM (PS/2, Pentium™, OverDrive™)

AcerPower™, NEC, American Megatrends, Zeos™, Tandy™, HP Vectra™, Toshiba, Dell,

Packard Bell и другие машины укомплектованные процессорами Intel™ и Cyrix™.

Машины ЕС, из-за недостатка ОЗУ не работают в Windows и в данном примере не

рассмотрены. ранства. Реальные ограничения на объем такой виртуализированной

оперативной памяти отсутствуют. В физической оперативной памяти в каждый момент

представлена некоторая часть полного виртуального пространства, остальная же

часть которого расположена на диске По мере необходимости, например если

пользователю понадобился следующий фрагмент его программы, который в данный

момент находится на диске, а реальная оперативная память "загружена до

основания", процессор может своппировать страницу оперативной памяти со

страницей на диске. (от англ. swap менять местами). Таким образом, попросту

будет осуществлена перестановка страниц, и та страница с которой только что

работали "отправляется" на диск. В Windows 3.1 возможно несколько вариантов

реализации ВП. На рисунке 8 показано использование двух видов ВП в Windows:

разносекторного (temporary) и перманентного (permanent) swapфайлов

Рис.8 Разносекторное и перманентное применение ВП

Разносекторный (временной) swapфайл

Разносекторный swapфайл состоит из множества независимых секторов, которые

разбросаны по всему диску. Каждый раз когда операционной среде Windows

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

разносекторному swapфайлу. Но неудобство применения такой разновидности ВП

заключается в том, что в конце каждой части этого целого свопфайла стоит

пересылка на другой сектор диска. И пользователь сталкивается с реальной потерей

времени при работе с таким видом свопфайлов, так как процессору необходимо

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

нужную информацию. Для этого машина собирает последовательность из этих кусочков

и затем анализирует представленный в памяти файл.

Если пользователь выбирает такой вид реализации ВП, то Windows автоматически

создаёт разносекторный swapфайл в директории Windows. Обычно этот файл носит

название WIN386.SWP. Неудобство такого метода ещё заключается в том, что

разносекторный файл (по другому называемый временным) хранит информацию только в

продолжении сеанса работы оболочки, а по завершении его автоматически удаляется.

Вот как может быть представлена программа, написанная на Паскале в виде

разносекторных файлов:

~pas0c4e.tmp первая страница начинается по адресу 0C4A;

~pas1158.tmp вторая находится в секторе с номером 1158;

~pas1b5a.tmp и третья расположена в секторе 1B5A.

В конце каждого .tmpфайла указанна ссылка на другой такой же.

Перманентный (постоянный) swapфайл

Вторая разновидность свопфайлов носит название перманентных Такой файл занимает

значительную часть диска, специально зарезервированную для этих целей. Размер

перманентного файла определяется наличием системных ресурсов, отведенных для

работы с Windows (размером ОП, свободным местом на жестком диске и даже временем

доступа к винчестеру). Перманентный файл работает гораздо быстрее чем

разносекторный, так как Windows знает настоящее местонахождение этого файла и

нет необходимости собирать его из частей. Обычно этот файл носит имя

Страницы: 1, 2, 3, 4, 5


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.