2015-12-10 2 views
0

Linux создает страницы виртуальной памяти для каждой используемой программы, а ОС обрабатывает отображение виртуальных адресов на настоящие аппаратные адреса, правильно?Windows Program Memory Vs Linux Память программ

Но как Windows это делает? У Windows-программ действительно есть память, которая переводит на реальные аппаратные адреса? Я также знаю, что окна могут использовать память на жестком диске, когда используется RAM, и этот процесс снова называется виртуальной памятью, но я считаю, что это совершенно другая концепция?

+0

Остерегайтесь того, что Microsoft иногда ссылается на * резервное хранилище * как на «виртуальную память». См. Http://superuser.com/questions/748743/what-is-the-difference-between-virtual-memory-and-built-in-memory-ram/748776#748776 Следовательно, некоторые пользователи Windows настаивают на том, что файл подкачки "виртуальная память". – sawdust

ответ

4

Windows и Linux (по крайней мере, на системных 32/64 бит системах) реализуют виртуальную память с использованием того же механизма: аппаратные поддерживаемые таблицы страниц. ОС и аппаратные средства взаимодействуют друг с другом, чтобы выполнять сопоставление адресов.

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

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