0

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

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

ответ

0

Виртуальная память по-прежнему важна. Одной из основных причин является защита. Хотя это может быть достигнуто с помощью блока защиты памяти, который обеспечивает что-то похожее на сегменты x86, в отличие от блока управления памятью, который обеспечивает виртуальную память, это имеет проблемы со следующими важными вещами, которые предоставляет виртуальная память, которые делятся и отображают карту памяти. Попытка сделать что-то вроде сегмента разделяемой памяти (как в общей памяти IP-системы System V) очень сложна только с блоком защиты памяти и аналогичным для файлов с отображением памяти. Кроме того, если у вас есть только модуль защиты памяти, динамически увеличивая объем памяти процесса, сложно ли вы ограничены физически смежной памятью.

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

Что касается логических виртуальных, в то время как слова могут иметь разные значения для разных архитектур, я рекомендую this SO question.

0

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

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