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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Не обеспечивает такую ​​же производительность, как RAM.
  • Может отрицательно повлиять на общую производительность системы.
  • Занимает место для хранения которые в противном случае можно было бы использовать для длительного хранения данных.
Оцените статью
techsly.ru
Добавить комментарий