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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Максимальная производительность любого компьютера обеспечивается четырьмя основными его составляющими. К ним относятся: центральный процессор, оперативная память, процессор и память видеокарты и жёсткий диск. Сюда, конечно же, можно отнести и материнскую плату, ведь если пропускная способность её интерфейсов и частота шины недостаточно велики, это негативно скажется на максимальной производительности компьютера в целом. Но в данный момент нас интересует лишь одна составляющая компьютера, которая играет одну из главных ролей в спектакле под названием «Быстродействие компьютера». И как ясно из названия статьи, речь пойдёт о файле подкачки и виртуальной памяти.

Что же такое файл подкачки ? Думаю, Вы уже и сами догадались, что это файл. Но почему он называется файлом подкачки и для чего он нужен? Ответ очень простой. При одновременном использовании большого количества приложений (например, у Вас запущен Photoshop, 3ds Max, браузер и на фоне ещё играет музыка) объёма оперативной памяти для их обработки может попросту не хватить. И тогда система обращается к файлу, который создаётся на жёстком диске (или винчестере), чтобы использовать его пространство в качестве недостающего объёма оперативной памяти. Этот файл как бы дополняет, подкачивает объём оперативной памяти своим объёмом. Именно поэтому он и получил такое название.

В совокупности объём оперативной памяти и файл подкачки принято называть виртуальной памятью. То есть объём виртуальной памяти состоит из объёма оперативной памяти и файла подкачки. Надеюсь, Вам понятно. И иногда может случится так, что при работе в каких-то сложных ресурсоёмких приложениях у вас вдруг иссякнет запас виртуальной памяти. В таком случае далеко не каждый побежит в магазин, чтобы докупить дополнительную планку оперативной памяти для увеличения объёма виртуальной памяти. Проще всего будет увеличить размер самого файла подкачки. Всё-таки найти на жёстком диске пару гигабайт свободного места куда легче, чем докупать «оперативку».

Файл подкачки представляет собой файл, который носит имя «pagefile.sys» и располагается по умолчанию на системном локальном диске «C». Предлагаю Вам ознакомится с настройкой этого файла. Я много экспериментировал и сделал вывод, что расположение файла подкачки на системном диске всё-таки негативно сказывается на скорости работы виртуальной памяти. Поэтому рекомендую расположить его на другом локальной диске, например, на диске «D». Чтобы открыть настройки файла подкачки, нажмите на значке «Компьютер» правой клавишей мыши и из появившегося списка выберите пункт «Свойства». Либо нажмите сочетание клавиш на клавиатуре «Win»+«Pause» (где «Win» - клавиша со значком Windows).


Откроется окно с основными сведениями о Вашем компьютере. Здесь, кстати, Вы сможете посмотреть, какой объём оперативной памяти установлен на в Вашем системном блоке. Нас интересуют «Дополнительные параметры системы», куда мы и заходим.

Откроется небольшое окно «Свойств системы». Здесь необходимо в закладке «Дополнительно» и области «Быстродействие» нажать кнопку «Параметры».

Откроется ещё одно небольшое окно, где можно настроить параметры быстродействия системы. Нас интересует закладка «Дополнительно», её и выбираем.

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

Появится ещё одно маленько окно, в котором и производится настройка файла подкачки. Это так называемая оптимизация системы Windows 7. Итак, я уже говорил, что лучше всего файл подкачки размещать на любом локальном диске, кроме системного «C». Чтобы отключить файл подкачки с диска «C», просто выделите его нажатием левой клавишей мыши, установите переключатель левой клавишей мыши в положение «Без файла подкачки», после чего нажмите кнопку «Задать».

Сразу же появится уведомление о том, что при отключении файла подкачки отладочные данные при возникновении критической ошибки в системе некуда будет записывать. Но переживать не стоит, файл подкачки мы создадим сразу же, только на другом диске. Поэтому смело нажмите кнопку «Да». Всё, файл подкачки с диска «С» мы убрали.


Теперь я предлагаю расположить его на диске «D». Нажимаем на диск «D» (у Вас это может быть и другой диск, например «E» или «F»), чтобы он оказался выделенным. И ставим переключатель в положение «Указать размер». Система рекомендует выставлять размер файла подкачки в полтора раза больше общего объёма установленной оперативной памяти (то есть, если у Вас установлено 4 Гигабайта «оперативки», файл подкачки должен быть 6 Гигабайт). Но я не спешил бы на Вашем месте этого делать. Размер файла подкачки зависит в первую очередь, конечно, от объёма «оперативки», а во вторую – от того, какие приложения (или программы) Вы будете использовать. Предположим, что у Вас установлено 4 Гигабайта оперативной памяти, и Вы в основном ничего, кроме Интернета, просмотра фильмов и прослушивания музыки, не используете. В таком случае файла подкачки размером 2 Гигабайта будет, как говорится, за глаза. Но если Вы будет использовать ресурсоёмкие приложения и современные игры, смело ставьте 8 Гигабайт или даже больше.

Переживать особо не стоит, в любой момент размер файла подкачки Вы сможете увеличить. Также рекомендую Вам устанавливать в полях «Максимальный размер» и «Исходный размер» одинаковое значение. В этом случае размер файла подкачки будет фиксированным. Делается это для того, чтобы не происходило фрагментации жёсткого диска. Но об этом мы поговорим в другой теме. Обращаю также Ваше внимание, что значения вводят в мегабайтах. Напоминаю, в одном гигабайте содержится 1024 мегабайт. Предположим, нам необходимо установить размер файла подкачки в Windows 7, равный четырём гигабайтам. Умножим 1024 на 4 и получим 4096 мегабайт. Вводим это значение в поля «Максимальный размер» и «Исходный размер» и нажимаем кнопку «Задать». Для сохранения установленных параметров нажмите кнопку «OK».

Появится сообщение о том, что для применение параметров требуется перезагрузка компьютера. Нажмите кнопку «OK».


После этого нажмите кнопку «Применить», а затем «OK».

В следующем окне нажмите «OK».

Откроется маленькое окошко, предлагающее Вам перезагрузиться. Жмите «Перезагрузить сейчас».

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

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

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

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

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

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

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

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

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

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

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

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

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

При первых же признаках замедления работы компьютера необходимо удостовериться, достаточно ли виртуальной памяти. Как правило, сообщение об этой неприятности возникает в нижнем правом углу экрана. Объем памяти можно увеличить, обратившись к файлу подкачки, который в каталоге именуется «pagefile.sys». В таком случае необходимо в меню «Панель управления» открыть папку «Система», вкладку «Дополнительно». Во вкладке «Быстродействие» выбрать графу «Параметры» и вкладку «Дополнительно». В разделе «Виртуальная память» можно увидеть объем доступной памяти на данный момент. Чтобы его увеличить, необходимо нажать кнопку «Изменить» и в окошке проставить новое значение. Рекомендовано увеличивать размер виртуальной памяти не более, чем в два раза (например, с 2048 Мбайт до 4096 Мбайт). Выбрав опцию «Особый размер», задаем исходный размер и максимальный размер, жмем кнопку «Задать». Установив размер файла подкачки на одном из жестких дисков, его необходимо выключить на остальных. Нужно зайти по очереди в каждый из остальных разделов и поставить отметку напротив опции «Без файла подкачки» и нажать кнопку «Задать». Время от времени необходимо чистить виртуальную память, чтобы сохранялись конфиденциальные данные из файлов подкачки. Системой предусмотрена специальная программа, но она, как правило, неактивна, поэтому ее рекомендуется включить.


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


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