скачать рефераты
  RSS    

Меню

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

скачать рефераты

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

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 знает настоящее местонахождение этого файла и

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

386SPART.PAR или SPART.PAR Безусловно, если пользователь имеет большой жесткий

диск и мало ОП, то использование перманентного свопфайла более эффективно.

Перманентный файл эмулирует реальную оперативную память и, поэтому не стирается

при выходе из Windows.

Анализ и оценка применения разных типов ВП в Windows.

Каждая из разновидностей ВП в Windows имеет свои преимущества и недостатки.

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

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

Суммарное быстродействие такой памяти ниже, чем у постоянной ВП. Что касается

постоянной ВП, то она быстрее временной, но она также занимает достаточно

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

программам и приложениям и вообще не работает в Windows. Но в целом, виртуальная

память играет значительную роль в применении Windows. Как было сказано ранее,

адресное пространство расширяется за счет объединения ячеек реальной ОП с

ячейками на магнитном диске и при этом размер физической памяти становится

значительно большим. Это немаловажно, так как Windows очень популярная

операционная среда, доступная как профессионалу, так и простому пользователю.

Размер машинного времени "уделяемого" Windows достаточно велик. Вследствие этого

различными фирмами (Microsoft®, Borland International, Lotus Development и т.

д.) было написано много программного обеспечения специально для среды Windows.

Так же было разработано множество профессиональных пакетов, ориентированных на

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

нашлось место для применения виртуальной памяти. Благодаря возможности работы в

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

движении. Пользователь может запустить на выполнение сразу несколько программ,

(каждая из которых требует памяти). Применение ВП значительно увеличивает объем

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

8. Способы замены (свопирования) страниц

(Механизмы обмена страниц)

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

диска на котором хранятся те страницы или сегменты, которые на данный момент не

нужны в оперативной памяти. Метод применения ВП довольно прост: те страницы с

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

осуществляется непосредственный доступ. Через определённое время процессору,

отработавшему с данной страницей, требуется другая страница, которая

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

"вытесняется" на диск, а ни в коем случае не уничтожается.

Довольно часто случается так, что вся реальная память, разбитая на страницы

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

должен установить какую страницу перенести да диск, чтобы освободить место для

требующейся. Это достаточно сложная задача, так как удалённая страница может

понадобиться на следующем этапе, а это может привести к потере времени. Для

своппирования страниц в разных программах используются различные стратегии,

примеры которых приведены ниже:

1.Случайное удаление страниц...

Случайное удаление не является самым эффективным способом, так как оно не может

дать стопроцентной гарантии, что только что удалённая страница не понадобится на

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

случайных чисел. Супервизор попросту берет начальный адрес случайной страницы в

оперативной памяти и переписывает его в swapфайл (на диск). При этом

корректируется страничная (сегментная) таблица.

2. Удаление по времени пребывания в ОП...

Механизм этой стратегии можно представить как "первым вошел, первым вышел". Это

значит, что страница, дольше всех находящаяся в оперативной памяти на данном

этапе будет удалена первой. Этот метод также не универсален так как каждой

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

заключается в том, что необходимо вести механизм учёта за длительностью

пребывания страниц в ОП, что также связанно с усложнением структуры и потерей

времени.

3. Удаление в связи с давностью использования...

На мой взгляд, этот метод является наиболее удачным. Механизм его таков: если

страница дольше всех находится в ОП, значит пользователь в течение долго времени

не нуждался в ней, а значит появляется вероятность, что эта страница не

понадобится и на следующем этапе.

4. Удаление по вероятности использования...

Вероятность использования страницы N очень небольшая, а вероятность

использования страницы M высока. В этом случае, страница N будет удалена из

памяти. Этот способ также не представляется мне достаточно эффективным, так как

здесь всё основано на вероятности. Но, каждый раз когда мы подбрасываем монету,

неизвестно какой стороной она упадёт. Так же и здесь нет никакой гарантии, что

эта страница не понадобится на следующем этапе.

5. Удаление по приоритетам...

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

по приоритетам. Каждая страница имеет свой приоритет, который устанавливается

супервизором в соответствии с "важностью" программы, находящейся в определённой

станице. Предположим что в странице N находятся коды важной пользовательской

подпрограммы, а в странице M текстовый файл, работа с которым не является столь

важной. Тогда N получает приоритет 1, а M, предположим, 9. Заметим, что

необходимые, часто требующиеся страницы имеют приоритеты 13, менее необходимые

46, и практически ненужные 59. Это значит, что когда в следующий раз супервизору

понадобится удалить из ОП страницу, он начнет со страниц, имеющих самый низкий

уровень приоритета (9).

9. Анализ и оценка виртуальной памяти. Показатели эффективности.

(При СО и ССО)

Эффективное решение задач на ЭВМ определяется не только емкостью и

быстродействием запоминающих устройств, наличием мощного процессора с большой

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

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

виртуальной памяти. Применение виртуальной памяти получило широкое применение

как среди пользователей любителей, так и среди профессионалов. Основная функция

ВП расширение адресного пространства. ВП создаётся для увеличения функциональных

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

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

носителях, (чаще всего для этих целей используются винчестеры. Применение НГМД

не было бы столь эффективно, а применение НМД или НМБ понесло бы невосполнимые

потери), пользователь имеет возможность значительно расширить память и при этом

не думать о том в "какой" памяти хранится его программа. ВП была создана для

облегчения работы пользователей при размещении программ.

Благодаря ВП появилась возможность для более эффективного применения

программмультитаскеров (multitasker) специальных пакетов, позволяющих повысить

уровень мультипрограммной работы. (Программы, которые распределяют время

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

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

применению ВП, усилилась тенденция к использованию DeskView

менеджерамультитаскера (производства фирмы QuatterDeck).

Сравнивая реальную оперативную память с виртуальной, можно отметить, что объем

РП ограничен, то есть в каждой микросхеме фиксированное число ячеек. Что

касается ВП, то она может иметь достаточно большой объем, ограниченный только

местом на диске (возможностью адресации). Объем ВП может достигать нескольких

десятков и сотен мегабайт. РП имеет линейную структуру (адресация в порядке

возрастания). ВП использует сквозную адресацию.

В целом, применение виртуальной памяти является весомым вкладом в

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

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

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

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

профессиональном программировании.


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


Новости

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

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

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.