Как называется виртуальная память на жестком диске. Виртуальная память. Архитектурные средства поддержки виртуальной памяти. Где хранить файл подкачки

Виртуальная память компьютера выступает в качестве дополнения к оперативной памяти и является частью оперативной памяти, расположенной на жестком диске. Пользователю компьютера это дает ощущение, что он имеет ОЗУ с неограниченным объемом.

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

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

Что такое виртуальная память?

Скажем так, это технология, позволяющая прикладной программе «считать», что она имеет неограниченный объем и непрерывное адресное пространство памяти. Хотя на деле память физически фрагментирована и ее объем искусственно увеличен на жестком диске.

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

Как работает виртуальная память?

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

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

Как организована виртуальная память?

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

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

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

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

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

Как увеличить виртуальную память?

Если вы хотите увеличить объем виртуальной памяти на своей системе, то ознакомьтесь с пошаговой инструкцией. (Для Windows XP):

    Откройте меню «Пуск», выберите команду «Панель управления» Выберите пункт «Производительность и обслуживание» Далее выберите «Система» Выбираем вкладку «Дополнительно» Выбираем секцию «Быстродействие» и нажимаем кнопку Параметры Выбираем вкладку «Дополнительно» В секции «Виртуальная память» нажимаем на кнопку «Изменить» В списке Диск [метка тома] выберите диск, содержащий файл подкачки, если вы хотите изменить размер его виртуальной памяти. Вы можете выбрать объем памяти, который хотите зарезервировать для виртуальной памяти, введя начальный и максимальный размер. Нажмите кнопку «Задать» Перезагрузите компьютер

Если вам кажется, что ваш компьютер работает слишком медленно, то увеличение виртуальной памяти не поможет, это может быть только результатом «пробуксовки». Слишком частая перетасовка блоков виртуальной памяти между реальной памяти и дисков потребляет большую часть времени работы компьютера, тем самым вызывая пробуксовку. Хотя и существует некоторые меры, оптимизирующие работу виртуальной памяти, все же лучшим решением будет увеличение объема оперативной памяти.

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

Заменяя размер виртуальной памяти (файла подкачки), надо соблюдать следующие правила:
  • не размещать его на разделе диска, где стоит операционная система, использовать другой, менее загруженный раздел;
  • отводить под файл подкачки место, в полтора раза превышающее ОЗУ. Например, память объемом 2 Гб, значит, файл подкачки задайте 3000 Мб.
Нажмите кнопку «Пуск» – откроется «Главное меню». В нем кликните на строке «Компьютер» правой кнопкой мыши. Откроется новое меню, выберите в нем «Свойства».


Откройте в окне «Система» подпункт «Дополнительные параметры системы». Выполнить это можно по-другому: «Пуск» – «Панель управления» – «Система».


Открыто окно «Свойства системы». Теперь на вкладке «Дополнительно» откройте «Параметры» в разделе «Быстродействие».


В открытом окне «Параметры быстродействия» перейдите на вкладку «Дополнительно». Кликните кнопку «Изменить» в разделе «Виртуальная память».


В открывшемся окошке вносим все необходимые изменения. С пункта «Автоматически выбирать объем файла подкачки» снимите галочку. Выбирайте диск, наименее загруженный. На пункт «Указать размер» поставьте переключатель, измените для файла подкачки его максимальный и исходный размер. Задавать вы можете такие параметры, которые вам нужны, не забывая, что исходный размер файла должен быть больше оперативки в полтора-два раза. Кликните кнопку «Задать».


На всех остальных дисках теперь можно отключить возможность создания файла подкачки. Зайдите на каждый том жесткого диска поочередно и поставьте переключатель на пункт «Без файла подкачки», затем щелкните кнопку «Задать». Чтобы внесенные изменения заработали – перезагрузите ваш компьютер.


В случае появившихся предупреждений о недостатке виртуальной памяти следует добавить объем файлу подкачки, заданный системой по умолчанию. Максимальный и минимальный размеры файла подкачки могут быть одинаковыми или минимальный размер – больше ОЗУ в полтора раза, максимальный – в два. Никогда не следует удалять или отключать файл подкачки.

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

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

Разработчикам программного обеспечения часто приходится решать проблему размещения в памяти больших программ, размер которых превышает объем доступной оперативной памяти. Один из вариантов решения данной проблемы – организация структур с перекрытием – рассмотрен в предыдущей лекции. При этом предполагалось активное участие программиста в процессе формирования перекрывающихся частей программы. Развитие архитектуры компьютеров и расширение возможностей операционной системы по управлению памятью позволило переложить решение этой задачи на компьютер . Одним из главных достижений стало появление виртуальной памяти ( virtual memory ). Впервые она была реализована в 1959 г. на компьютере "Атлас", разработанном в Манчестерском университете.

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

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

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

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

Таким образом, возможность обеспечения (при поддержке операционной системы) для программы "видимости" практически неограниченной (характерный размер для 32-разрядных архитектур 2 32 = 4 Гбайт) адресуемой пользовательской памяти (логическое адресное пространство ) при наличии основной памяти существенно меньших размеров (физическое адресное пространство ) – очень важный аспект.

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

Например, 16-разрядный компьютер PDP-11/70 с 64 Кбайт логической памяти мог иметь до 2 Мбайт оперативной памяти. Операционная система этого компьютера тем не менее поддерживала виртуальную память , которая обеспечивала защиту и перераспределение основной памяти между пользовательскими процессами.

Напомним, что в системах с виртуальной памятью те адреса, которые генерирует программа (логические адреса), называются виртуальными, и они формируют виртуальное адресное пространство . Термин " виртуальная память " означает, что программист имеет дело с памятью, отличной от реальной, размер которой потенциально больше, чем размер оперативной памяти.

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

Что такое виртуальная память?

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

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

Как увеличить объем виртуальной памяти?

Объем виртуальной памяти компьютера регулируется в параметрах быстродействия. Чтобы добраться до них, зайдите в меню Пуск , перейдите в Панель управления , затем в раздел Система и выберите пункт Дополнительные параметры системы .

В окне Свойства системы перейдите на вкладку Дополнительно и нажмите на кнопку Параметры в разделе Быстродействие .

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

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

Что касается размера файла подкачки, то здесь невозможно посоветовать установку какого-либо конкретного значения, поскольку объем виртуальной памяти должен выставляться в пропорциональной зависимости от объема оперативной памяти. Советуется устанавливать исходный размер файла подкачки в полтора раза больший, чем объем оперативной памяти, а максимальный – в три раза больший, чем исходный. Однако при этом файл подкачки будет постепенно фрагментироваться, что скажется на скорости его работы. Поэтому если объем установленной у вас оперативной памяти превышает хотя бы 3 Гб, лучше задать одинаковый размер для исходного и максимального значений файла подкачки – в полтора-два объема оперативной памяти.

Виртуальная память выступает в качестве дополнения к оперативной памяти, и образует часть оперативной памяти и жесткого диска. Это дает пользователю ощущение, в то время когда программа работает, что он имеет ОЗУ неограниченной ёмкости, и что он имеет дефрагментированную рабочую память. Виртуальная память стала обычной для большинства операционных систем компьютеров. Компьютеры в наши дни имеют память данных (RAM) доступную в различных размерах. Учитывая огромный спрос, размещенный пользователями компьютеров по применению программ, это пространство не является достаточным. Также пользователи ожидают, что все эти программы будут работать одновременно, что невозможно в пределах доступного пространства. Следовательно, возникает необходимость для виртуальной памяти .

Что это такое?
Это техника, которая имеет свои хитрости для приложений и программ, полагая, что они имеют непрерывное адресное пространство и неограниченное количество рабочей памяти. Хотя тот факт, что память может быть физически фрагментированной для хранения данных на диске. Системы, которые используют виртуальную память, способны выполнять большие приложения на быстрой скорости и использование оперативной памяти более эффективно, чем без неё. Виртуальная память отличается от концепции виртуализации памяти.

Как работает виртуальная память
Это умный способ использования компьютера фактической емкости памяти и манипулировать ею с помощью комбинации операционной системы и памяти, с помощью аппаратных возможностей. Она действует как временный носитель информации, в котором данные хранятся в формате файла. Поскольку операционная система выступает в качестве определителя, она обеспечивает быстрый доступ к данным и позволяет более гладко наращивать рабочую мощность. Виртуальная память работает в координации с ОЗУ, хранит и представляет быстро данные, для выполнения требований приложения программ. Вторичные запоминающие устройства, такие как жесткий диск имеющий большой объем памяти, обеспечивает очень медленный доступ к данным.

Как устроена виртуальная память?

Она организована либо как файл подкачки или сегментация. Большинство систем используют таблицы страниц для перевода виртуальных адресов прикладных программ, в физические адреса, используемые процессором для выполнения инструкций. Таблица хранит записи для отображения виртуального адреса в физический адрес. Системы могут иметь одну страницу таблицы для всей системы или отдельные страницы таблицы для каждой прикладной программы. Таким образом, файл подкачки может быть определён как процесс перемещения неактивных виртуальных страниц памяти на диск и их восстановление в реальной памяти по запросу. Существуют различные алгоритмы, чтобы выбрать, какие страницы должны быть перенесены на жесткий диск, а какие должны быть сохранены.Очень немногие системы используют концепцию сегментации для реализации виртуальной памяти . В сегментации, память делится на переменную размера сегментов. Номер сегмента и смещение внутри него, вместе образуют виртуальный адрес. Если процессор хочет конкретный элемент данных, он сначала ищет число своего сегмента в таблице, чтобы найти дескриптор сегмента. Дескриптор сегмента содержит информацию, которая является смещением в пределах сегмента и она меньше длины сегмента, а если нет, генерируется прерывание, чтобы сообщить, где находится сегмент. Если процессор не в состоянии найти сегмент в основной памяти, он генерирует аппаратное прерывание, побуждая операционную систему обратиться к файлу подкачки в сегменте. Операционная система выполняет поиск сегментов, которые не были в использовании в течение длительного времени и отправляет их свопы из основной памяти, чтобы освободить место для новых сегментов,которые необходимо прочитать.Как увеличить виртуальную память?

Здесь пошаговое руководство, как увеличить виртуальную память компьютера. (Только для ОС Windows):

Нажмите на меню «Пуск», а затем перейдите к панели управления.
Выберите производительность и обслуживание, и под ним, сделайте выбор системы.
Выберите параметры на вкладке Дополнительно в разделе под названием «Представление».
На вкладке Дополнительно в разделе Виртуальная память, выберите изменить.
В списке дисков [метка тома] выберите диск, содержащий файл подкачки, размер которого вы хотите изменить.
В разделе Размер файла подкачки для выбранного диска установите флажок в — размер по заказу.
Вы можете выбрать объем памяти, который вы хотите зарезервировать для виртуальной памяти, введя начальный и максимальный размер.
Нажмите на кнопку set
Перезагрузите компьютер при появлении запроса.

Если вы найдёте ваш компьютер работающий медленно, то увеличение виртуальной памяти не поможет, так как это может быть просто результат ‘перегрузки’ компьютера. Перемешивание блоков виртуальной памяти между оперативной памятью и дисками потребляет большинство времени компьютера, тем самым вызывая пробуксовки. Хотя хорошо разработанные программы могут помочь решить эту проблему в определенной степени, окончательное излечение — это установить больше оперативной памяти.

(Пока оценок нет)


Top