Виртуальная память: определения, типы и принцип работы

8 июля 2021 г.

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

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

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

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

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

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

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

  • Оптимизация использования ЦП

  • Запуск нескольких приложений одновременно

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

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

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

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

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

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

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

Пейджинг

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

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

Сегментация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *