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

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

22
задан Breakthrough
08.02.2023 5:21 Количество просмотров материала 2826
Распечатать страницу

3 ответа

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

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

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

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

8
отвечен gview 2023-02-09 13:09

виртуальное адресное пространство-это то, что процесс видит. Например, сообщение электронной почты находится в папке "Входящие" размером, скажем, 25 ГБ. Это виртуальное адресное пространство.

виртуальное адресное пространство, чтобы отличить тот факт, что не каждое виртуальное адресное пространство соответствует физическая адресного пространства. Допустим, у вас есть 20 пользователей электронной почты с 25 ГБ пространства входящих сообщений. Но у вас есть только 100 ГБ дискового пространства на сервере. Ну, вы можете взять старые письма и архивировать их и только держите последние на вашем сервере, потому что люди обычно проверяют только самые последние сообщения электронной почты.

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

таким же образом, каждый процесс на вашем компьютере X виртуальное адресное пространство, даже если вы может быть менее X * number of processes физической памяти.

Виртуальная память именно это. Виртуальное адресное пространство. Но виртуальная память-это просто виртуальное адресное пространство, которое вы используете.

0
отвечен surfasb 2023-02-09 15:26

виртуальное адресное пространство-это ограничение на размер памяти, к которой может обращаться программа.

Это ограничено на внешней границе стилем указателей - чистый 32-битный указатель может теоретически адресовать 4 ГБ виртуального пространства. Реальная граница зависит от дизайна операционной системы, поскольку она использует значительную часть адресного пространства вместе с пространство пользователя.

под Win32, настройка по умолчанию, чтобы разрешить виртуальное адресное пространство 2GB в качестве пользователя пространство.

64-битный указатель может адресовать гораздо больше, на практике, как правило, разрешены 48 бит, и есть много деталей о этот суперпользователя ответ.

теоретически, кто-то мог бы построить физический компьютер с достаточным количеством оперативной памяти, чтобы 2 ГБ пользовательского пространства могли быть напрямую сопоставлены с физической памятью (вероятно, требуется не менее 3 ГБ физической), поэтому у вас были бы 32-битные процессы, где виртуальная память была не очень виртуальной.

0
отвечен Andy Dent 2023-02-09 17:43

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх