Я знаю, что виртуальная память-это файл подкачки, который компьютер использует для хранения части оперативной памяти на жесткий диск для запуска процесса. А чем отличается виртуальное адресное пространство? это ОЗУ или жесткий диск или и то, и другое?
Виртуальная память и виртуальное адресное пространство
3 ответа
виртуальное адресное пространство-это то, что видит отдельная программа при ее выполнении. В зависимости от того, как была настроена программа, это адресное пространство будет иметь максимальный размер, поддерживаемый операционной системой.
ядро операционной системы отвечает за сопоставление адресов в vas с физической памятью, будь то ОЗУ или файлы системных страниц.
при таком дизайне сами программы не знают ресурсов и реальных адресов, и могут работайте так, как если бы у них была вся системная память для себя или, по крайней мере, максимальная память, которую может использовать один процесс.
в двух словах программа работает с VAS, и операционная система обрабатывает отображение VAS в реальном хранилище, так что это невидимо для запущенной программы. Запущенная программа видит только вас.
виртуальное адресное пространство-это то, что процесс видит. Например, сообщение электронной почты находится в папке "Входящие" размером, скажем, 25 ГБ. Это виртуальное адресное пространство.
виртуальное адресное пространство, чтобы отличить тот факт, что не каждое виртуальное адресное пространство соответствует физическая адресного пространства. Допустим, у вас есть 20 пользователей электронной почты с 25 ГБ пространства входящих сообщений. Но у вас есть только 100 ГБ дискового пространства на сервере. Ну, вы можете взять старые письма и архивировать их и только держите последние на вашем сервере, потому что люди обычно проверяют только самые последние сообщения электронной почты.
архивирование электронной почты с сервера на, скажем, ленточный накопитель сродни компьютеру подкачки части оперативной памяти на диск. Когда кто-то идет посмотреть старую электронную почту, вы просто "страница" старый адрес электронной почты с ленты обратно на ваш сервер. Пользователь электронной почты никогда не будет знать разницу.
таким же образом, каждый процесс на вашем компьютере X виртуальное адресное пространство, даже если вы может быть менее X * number of processes
физической памяти.
Виртуальная память именно это. Виртуальное адресное пространство. Но виртуальная память-это просто виртуальное адресное пространство, которое вы используете.
виртуальное адресное пространство-это ограничение на размер памяти, к которой может обращаться программа.
Это ограничено на внешней границе стилем указателей - чистый 32-битный указатель может теоретически адресовать 4 ГБ виртуального пространства. Реальная граница зависит от дизайна операционной системы, поскольку она использует значительную часть адресного пространства вместе с пространство пользователя.
под Win32, настройка по умолчанию, чтобы разрешить виртуальное адресное пространство 2GB в качестве пользователя пространство.
64-битный указатель может адресовать гораздо больше, на практике, как правило, разрешены 48 бит, и есть много деталей о этот суперпользователя ответ.
теоретически, кто-то мог бы построить физический компьютер с достаточным количеством оперативной памяти, чтобы 2 ГБ пользовательского пространства могли быть напрямую сопоставлены с физической памятью (вероятно, требуется не менее 3 ГБ физической), поэтому у вас были бы 32-битные процессы, где виртуальная память была не очень виртуальной.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]