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

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

Процессор может напрямую обращаться к физической памяти. Он содержит программы в очереди исполнения. Обычно на жестком диске хранятся программы. Процессору требуется больше времени для доступа к жесткому диску, чтобы всегда выполнять программы. Поэтому эти программы сначала помещаются в физическую память, чтобы процессор мог выполнять их быстрее. Для доступа к данным из физической памяти требуется меньше времени, чем для доступа к данным с жесткого диска. После завершения выполнения программы возвращаются на жесткий диск. Кроме того, свободная память может быть выделена для новой программы. При выполнении этих программ они называются процессами.
Что такое виртуальная память
Виртуальная память — это логическая память. Другими словами, это метод управления памятью, выполняемый операционной системой. Виртуальная память позволяет программисту использовать больше памяти для программ, чем доступной физической памяти. Если физическая память составляет 4 ГБ, а виртуальная память — 16 ГБ, программист может использовать виртуальную память 16 ГБ для выполнения программы. Используя виртуальную память, он может выполнять сложные программы, которые требуют больше памяти, чем физическая память.

Кроме того, виртуальная память расширяет использование физической памяти за счет использования жесткого диска. Это также предотвращает прямой доступ к основной памяти. Кроме того, при доступе к виртуальной памяти адреса виртуальной памяти преобразуются в соответствующий физический адрес. Таким образом, виртуальная память обеспечивает защиту памяти.
Разница между физической и виртуальной памятью
Определение
Физическая память, которая является фактической оперативной памятью, является формой хранения компьютерных данных, в которой хранятся исполняемые в настоящее время программы. В противоположность этому, виртуальная память — это метод управления памятью, который создает иллюзию у пользователей большей физической памяти. Таким образом, в этом главное отличие физической и виртуальной памяти.
Тип памяти
В то время как физическая память является фактической памятью, виртуальная память является логической памятью.
скорость
Скорость — это еще одна разница между физической и виртуальной памятью. Физическая память быстрее, чем виртуальная.
Техника
Еще одно различие между физической и виртуальной памятью состоит в том, что физическая память использует технику перестановки, в то время как виртуальная память использует пейджинг.
Размер
Физическая память ограничена размером чипа ОЗУ; однако виртуальная память ограничена размером жесткого диска.
Физическая память может напрямую обращаться к процессору, в то время как виртуальная память не может напрямую обращаться к процессору. Следовательно, это еще одно различие между физической и виртуальной памятью.
Заключение
Основное различие между физической и виртуальной памятью заключается в том, что под физической памятью понимается фактическое ОЗУ системы, в которой хранятся исполняемые в данный момент программы, но виртуальная память — это метод управления памятью, который позволяет пользователям выполнять программы, большие, чем фактическая физическая память. ,
Ссылка:
1. «Дизайн операционной системы / Физическая память». Wikibooks,
Виртуальная и физическая память
Оперативная память является одним из наиболее дорогих компонентов компьютерной системы.
Ранние системы UNIX имели в своем распоряжении 64 Кбайт оперативной памяти, и это количество было явно недостаточным, современные компьютеры обладают гигабайтами оперативной памяти, но и этого уже мало.
Оперативная память м.б. представлена в виде последовательности байтов, каждый из которых имеет свой уникальный адрес, называемый физическим адресом.
Эти адреса использует процессор, обмениваясь данными с ОП.
Однако адресное пространство процесса существенным образом отличается от адресного пространства физической оперативной памяти.
Адреса, используемые приложениями и самим ядром, не обязаны соответствовать физическим адресам.
Виртуальные адреса транслируются или отображаются в физические на аппаратном уровне при активном участии ядра ОС.
Смысл виртуальной памяти заключается в том, что каждый процесс выполняется в собственном виртуальном адресном пространстве.
Во-первых, у процесса создается ощущение исключительности — ведь все адресное пространство принадлежит только ему.
Во-вторых, он больше не ограничен объемом физической памяти — виртуальная память может значительно превышать физическую. В результате процессы становятся изолированными друг от друга и не имеют возможности (даже при желании) «хозяйничать» в адресном пространстве соседа.
Физическая память распределяется максимально эффективно — она не зависит от распределения виртуальной памяти отдельного процесса.
Для реализации виртуальной памяти необходим управляемый механизм отображения виртуального адреса в физический. В современных компьютерных системах процесс отображения выполняется на аппаратном уровне (с помощью MMU блок управления памятью компьютера — memory management unit), обеспечивая высокую скорость трансляции. ОС осуществляет управление этим процессом.
Современные процессоры, как правило, поддерживают объединение адресного пространства в области переменного размера — сегменты и области фиксированного размера — страницы.
При этом для каждого сегмента или страницы может быть задано собственное отображение виртуальных адресов в физические.
Блок управления памятью компьютера (MMU — memory management unit).
На рис. 3.4 показана взаимосвязь между виртуальным и физическим адресным пространством. Виртуальное адресное пространство процесса, кak правило, является последовательным в рамках уже знакомых нам сегментов — кода, данных, стека и библиотек. Расположение соответствующих областей физической памяти может иметь фрагментированный характер, позволяя оптимально распределять память между процессами.

Размер виртуальной памяти может существенно превышать размер физической за счет использования вторичной памяти или области свопинга — как правило, дискового пространства.
где могут сохраняться временно не используемые участки адресного пространства процесса.
Например, если при выполнении процесса происходит обращение к виртуальному адресу, для которого присутствует соответствующая страница физической памяти, операция чтения или записи завершится успешно.
Если страница в ОП отсутствует, процессор генерирует аппаратное прерывание, называемое страничной ошибкой (page fault), в ответ на которое ядро определяет положение сохраненного содержимого страницы в области свопинга, считывает страницу в память, устанавливает параметры отображения виртуальных адресов в физические и сообщает процессору о необходимости повторить операцию. Все эти действия невидимы для приложения, которое работает с виртуальной памятью.
Механизм отображения виртуальных адресов в физические (трансляция адреса) существенным образом зависит от конкретной аппаратной реализации.
Рассмотрим механизм отображения виртуальных адресов в физические в операционной системе SCO UNIX на примере семейства процессоров Intel.
Однако, как и для остальных подсистем UNIX, основные принципы отличаются мало, и данное изложение поможет представить механизмы управления памятью и разобраться, при необходимости, в конкретной реализации.
Русские Блоги
Разница между физической памятью и виртуальной памятью, понятие и отличие виртуального адресного пространства
Физическая память (полоса памяти): когда программы открываются, система загружает эти программы в физическую память.
Виртуальная память (жесткий диск): виртуальная память — это не физическая память, а вместо физической памяти для выполнения функций хранения.Функция запуска программ физической памяти не может быть завершена с помощью виртуальной памяти.
Связь между физической памятью и виртуальной памятью: когда запущено слишком много программ и физической памяти недостаточно, система будет использовать часть пространства жесткого диска в качестве памяти, и эта часть пространства является виртуальной памятью.
Виртуальное адресное пространство (функция: решение проблемы нехватки физической памяти): виртуальное адресное пространство 4 ГБ (32-разрядная система), выделенное системой для каждого процесса, используется для хранения виртуального адреса процесса, а затем виртуальный адрес передается через MMU (модуль управления памятью) Сопоставить с адресом физической памяти.
Разделение виртуального адресного пространства 4G (функция разделения: защита данных и классификация данных):
Управление памятью в Linux. Физическая и Виртуальная память
Управление памятью позволяет процессам перемещаться между оперативной памятью и жестким диском во время выполнения программы. Более того, этот процесс отслеживает каждую ячейку памяти для корректного выделения процессов и освобождения памяти. Физическая память — это основная память, в которой находятся выполняющиеся в данный момент программы. С другой стороны, виртуальная память увеличивает емкость основной (физической) памяти (за счет жесткого диска) для выполнения программ, размер которых превышает объемы установленной в компьютере физической памяти.
Что такое физическая память?
Физическая память (или «ОЗУ», «RAM», «оперативка») — это энергозависимая память, установленная в компьютере. Для её работы требуется непрерывный поток электричества. Перебои с электропитанием или внезапное выключение компьютера могут привести к стиранию хранящихся в ней данных. Кроме того, эта память является линейно адресуемой. Другими словами, значения адресов памяти увеличиваются линейным образом.
Запуская и исполняя программы, процессор напрямую обращается к физической памяти. Обычно программы хранятся на жестком диске. Время доступа процессора к диску значительно превышает аналогичное время доступа к физической (оперативной) памяти. Чтобы процессор мог выполнять программы быстрее, они сначала помещаются в физическую (оперативную) память. После завершения своей работы, они возвращаются обратно на жесткий диск. Освобожденная таким образом память может быть выделена новой программе. При выполнении данные программы называются процессами.
Что такое виртуальная память?
Виртуальная память (или «логическая память») — это метод управления памятью, осуществляемый операционной системой, который позволяет программам задействовать значительно больше памяти, чем фактически установлено в компьютере. Например, если объем физической памяти компьютера составляет 4 ГБ, а виртуальной 16 ГБ, то программе может быть доступен объем виртуальной памяти вплоть до 16 ГБ.
Физическая память vs. Виртуальная память
Основное различие между физической и виртуальной памятью заключается в том, что физическая память относится к оперативной памяти компьютера, подключенной непосредственно к его материнской плате. Именно в ней находятся выполняемые в данный момент программы. А виртуальная память — это метод управления, расширяющий при помощи жесткого диска объем физической памяти, благодаря чему у пользователей появляется возможность запускать программы, требование к памяти которых превышает объем установленной в компьютере физической памяти.
| Физическая память | Виртуальная память |
| Непосредственно установленная в компьютере оперативная память. | Метод управления памятью, с помощью которого для программ создается иллюзия наличия в системе (физической) памяти, гораздо больше реально установленной. |
| Работает быстрее. | Работает медленнее. |
| Ограничена размером чипа ОЗУ. | Ограничена размером жесткого диска. |
| Может напрямую обращаться к процессору. | Не может напрямую обращаться к процессору. |
| Использует swapping. | Использует paging. |
Рассмотрим данные пункты:
#1: Тип памяти:
Физическая память является фактической памятью.
Виртуальная память является логической памятью.
#2: Скорость:
Физическая память быстрее виртуальной памяти.
#3: Размер:
Физическая память ограничена размером чипа ОЗУ.
Виртуальная память ограничена размером жесткого диска.
#4: Процессор:
Физическая память может напрямую обращаться к процессору, в то время как виртуальная память — нет.
#5: Методы, лежащие в основе:
Физическая (оперативная) память использует swapping. Swapping — это концепция управления памятью, при которой всякий раз, когда системе для хранения данных некоторого процесса не хватает оперативной (физической) памяти, она берет её из вторичного хранилища (например, жесткого диска), сбрасывая на него временно неиспользуемые данные. В Linux есть специальная программа управления памятью, которая управляет этим процессом. Всякий раз, когда ОЗУ не хватает памяти, программа управления памятью ищет все те неактивные блоки данных (страницы), присутствующие в ОЗУ, которые не использовались в течение длительного времени. Когда она успешно находит подобные блоки, то перемещает их в память подкачки (например, на жесткий диск). Таким образом, освобождается пространство оперативной памяти, и, следовательно, его можно использовать для некоторых других программ, которые нуждаются в срочной обработке.
Виртуальная память использует paging. Paging — это метод выделения памяти, при котором разным несмежным блокам памяти назначается фиксированный размер. Размер обычно составляет 4 КБ. Paging всегда выполняется между активными страницами (pages).
Команды для управления памятью в Linux
Давайте рассмотрим некоторые команды для управления памятью в Linux.
Файл /proc/meminfo
Файл /proc/meminfo содержит всю информацию, связанную с памятью. Для просмотра данного файла используйте команду cat:

Эта команда выводит множество параметров, связанных с памятью. Чтобы получить информацию о физической памяти из файла /proc/meminfo, используйте:
$ grep MemTotal /proc/meminfo

Чтобы получить информацию о виртуальной памяти из файла /proc/meminfo, используйте:
$ grep VmallocTotal /proc/meminfo
Команда top
Команда top позволяет отслеживать процессы и использование системных ресурсов в Linux в режиме реального времени. Когда вы запустите команду, то заметите, что значения в выходных данных продолжают изменяться с некоторым небольшим интервалом:

В верхней части отображается текущая статистика использования системных ресурсов. Нижняя часть содержит информацию о запущенных процессах. Вы можете перемещаться вверх и вниз по списку с помощью клавиш со стрелочками вверх/вниз и использовать q для выхода.
Команда free
Команда free отображает объем свободной и используемой памяти в системе.

Значения для каждого поля указаны в кибибайтах (КиБ).
Чтобы получить вывод в более удобочитаемом формате, используйте:
Команда vmstat
Команда vmstat — это инструмент мониторинга производительности в Linux, который предоставляет полезную информацию о процессах, памяти, операциях ввода-вывода, подкачке, диске и планировании процессора, а также приводит статистику виртуальной памяти вашей системы.