Что такое виртуальная память компьютера и где она находится

Обновлено: 02.07.2024

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

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

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

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

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

Зачем нужна виртуальная память?

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

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

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

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

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

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

Поэтому система с 2 ГБ физической ОЗУ и 2 ГБ виртуальной памяти не будет обеспечивать такую ​​же производительность, как аналогичная система с 4 ГБ физической ОЗУ. Чтобы понять почему, необходимо понять, как работает виртуальная память.

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

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

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

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

Иными словами, система с 4 ГБ ОЗУ, как правило, обеспечивает более высокую производительность, чем система с 2 ГБ ОЗУ и 2 ГБ виртуальной памяти, из-за падения производительности, вызванного свопингом, и по этой причине говорят, что виртуальная память медленнее, чем оперативная память.

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

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

Операционные системы, такие как большинство версий Windows, обычно рекомендуют пользователям не увеличивать виртуальную память больше 1.5-кратный объем физической оперативной памяти. Таким образом, система с 4 ГБ ОЗУ должна иметь виртуальную память не более 6 ГБ.

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

виртуальная память

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

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

Большинство операционных систем позволяют пользователям увеличивать виртуальную память со страницы конфигурации.

  • В Windows пользователи также могут разрешить системе динамически управлять объемом виртуальной памяти.
  • Аналогичным образом в Mac OS пользователи могут использовать панель настроек для выделения виртуальной памяти.

Типы виртуальной памяти: пейджинг и сегментация

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

Страница виртуальной памяти

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

Во время обычной работы страницы (т. е. блоки памяти размером 4 КБ) передаются между ОЗУ и файлом подкачки, представляющим виртуальную память.

Сегментация виртуальной памяти

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

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

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

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

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

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

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

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

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

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

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

Зачем нужна виртуальная память?

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

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

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

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

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

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

Поэтому система с 2 ГБ физической ОЗУ и 2 ГБ виртуальной памяти не будет обеспечивать такую ​​же производительность, как аналогичная система с 4 ГБ физической ОЗУ. Чтобы понять почему, необходимо понять, как работает виртуальная память.

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

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

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

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

Иными словами, система с 4 ГБ ОЗУ, как правило, обеспечивает более высокую производительность, чем система с 2 ГБ ОЗУ и 2 ГБ виртуальной памяти, из-за падения производительности, вызванного свопингом, и по этой причине говорят, что виртуальная память медленнее, чем оперативная память.

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

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

Операционные системы, такие как большинство версий Windows, обычно рекомендуют пользователям не увеличивать объем виртуальной памяти более чем в 1,5 раза по сравнению с объемом физической ОЗУ. Таким образом, система с 4 ГБ ОЗУ должна иметь виртуальную память не более 6 ГБ.

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

виртуальная память

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

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

Большинство операционных систем позволяют пользователям увеличивать виртуальную память со страницы конфигурации.

  • В Windows пользователи также могут разрешить системе динамически управлять объемом виртуальной памяти.
  • Аналогичным образом в Mac OS пользователи могут использовать панель настроек для выделения виртуальной памяти.

Типы виртуальной памяти: пейджинг и сегментация

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

Страница виртуальной памяти

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

Во время обычной работы страницы (т. е. блоки памяти размером 4 КБ) передаются между ОЗУ и файлом подкачки, представляющим виртуальную память.

Сегментация виртуальной памяти

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

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

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

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

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

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

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

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

Большинство современных компьютеров имеют примерно 32 или 64 мегабайта оперативной памяти, доступной для использования процессором (подробности об оперативной памяти см. в разделе Как работает оперативная память). К сожалению, этого объема ОЗУ недостаточно для одновременного запуска всех программ, которые большинство пользователей ожидают запустить.

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

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

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

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

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

Далее мы рассмотрим, как настроить виртуальную память на компьютере.

Настройка виртуальной памяти

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

Для этого откройте окно «Панель управления» и дважды щелкните значок «Система». Откроется системное диалоговое окно. Перейдите на вкладку "Производительность", а затем нажмите кнопку "Виртуальная память".

Нажмите на вариант с надписью "Позвольте мне указать собственные параметры виртуальной памяти". Это сделает опции ниже этого утверждения активными.Щелкните раскрывающийся список рядом с «Жесткий диск:», чтобы выбрать жесткий диск, для которого вы хотите настроить виртуальную память. Помните, что хорошим практическим правилом является равномерное распределение виртуальной памяти между имеющимися у вас физическими жесткими дисками.

В поле "Минимум:" введите наименьший объем пространства на жестком диске, который вы хотите использовать для виртуальной памяти на указанном жестком диске. Суммы указаны в мегабайтах. Для диска «C:» не менее 2 мегабайт. Цифра «Максимум:» может быть какой угодно, но один из возможных верхних пределов — удвоенный размер физического ОЗУ. По умолчанию Windows обычно на 12 мегабайт превышает объем физической оперативной памяти вашего компьютера. Чтобы новые настройки вступили в силу, закройте диалоговое окно и перезагрузите компьютер.

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

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

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

Эта статья является одной из серии статей, посвященных компьютерной памяти, в том числе:

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

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

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

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

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

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

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

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

Несмотря на то, что подкачки страниц данных (определенной длины данных или тактовых импульсов данных) посредством подкачки виртуальной памяти между жестким диском и оперативной памятью выполняются очень быстро, чрезмерная зависимость от подкачки виртуальной памяти может снизить общую производительность системы. Если объем жесткого диска, выделенного для хранения файлов подкачки, недостаточен для удовлетворения требований системы, которая в значительной степени зависит от обмена данными через виртуальную память, пользователи могут получать сообщения «НЕДОСТАТОЧНО ПАМЯТИ» и ошибки, даже хотя у них много неиспользуемого места на жестком диске.

К началу 2003 г. персональные компьютеры с объемом ОЗУ 1024 МБ (1 мегабайт = 1 000 000 байт) были широко доступны в Соединенных Штатах, а персональные компьютеры многих марок имели емкость жесткого диска 60 ГБ (1 гигабайт равен 1 миллиарду байтов). байт). Относительные пределы как емкости жесткого диска, так и емкости оперативной памяти неуклонно улучшаются с развитием технологии микрочипов.

Открытый ноутбук с кодом, видимым на экране.

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

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

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

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

Избавление приложений от необходимости конкурировать за пространство в общей памяти и возможность одновременного запуска нескольких приложений

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

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

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

Оптимизация использования центрального процессора (ЦП)

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

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

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

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

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

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

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

Типы виртуальной памяти

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

Пейджинг

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

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

Сегментация

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

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

Ограничения виртуальной памяти

Хотя виртуальная память имеет много преимуществ, вот некоторые из ее ограничений:

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

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

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

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

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

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

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

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

Читайте также: