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

Есть ли разница между виртуальным адресным пространством и виртуальной памятью? В этом случае 32-разрядная ОС не будет иметь более 4 ГБ пространства vaddr и виртуальной памяти.

заранее спасибо

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


person user1895774    schedule 29.06.2013    source источник
comment
Да, есть. Один - это своего рода адресное пространство, другой - своего рода память.   -  person    schedule 29.06.2013


Ответы (2)


да.

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

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

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

person starmole    schedule 29.06.2013

Из статей Википедии о виртуальной памяти и виртуальное адресное пространство:

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

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

Итак, ответ: да, это совершенно разные термины. Хотя они родственные.

person nullptr    schedule 29.06.2013