Я читаю виртуальную память и у меня есть сомнения.

1) Как ОС решит, какую часть виртуального адреса загружать в физическую память, а какую нет? так что всякий раз, когда происходит сбой страницы в это время, будет загружаться другая виртуальная память.

2) где хранится запись таблицы страниц для определенного процесса?

3) Два процесса (процесс a и процесс b) выполняются в ОС Linux. Как ОС управляет таблицами страниц для двух процессов? Так что каждый процесс получает разные физические адреса.

4) предположим, что записаны два процесса (процесс а и процесс б). в жестком диске процесс a расположен в местоположении location_a (виртуальный адрес процесса a) с размером size_a, а процесс b расположен в location_b (location_b = location_a+size_a) (виртуальный адрес процесса a). Поскольку эти два процесса различаются по расположению в памяти, они изолированы от доступа к памяти друг друга. Тогда Как виртуальная память изолирует память, чтобы защитить доступ к памяти другого процесса.

1 ответ1

0
  1. ОС выводит страницы в память по требованию. Вот почему это называется пейджингом спроса. Если процесс обращается к странице, которой в данный момент нет в памяти, происходит сбой страницы, в результате чего страницы заносятся в память. И наоборот, если есть давление на память, страницы извлекаются из памяти (в основном, LRU).
  2. Запись таблицы страниц связана со структурой данных процесса внутри ядра. Смотрите здесь для Linux.
  3. Операционные системы, которые реализуют виртуальную память, используют MMU (модуль управления памятью) для преобразования виртуальной памяти в физическую память. MMU - это аппаратная часть, которая запрограммирована ОС для требуемых отображений страниц для процесса. После того, как MMU был настроен, доступ к виртуальным адресам автоматически направляется на правильные физические адреса.
  4. Смотри 3 выше. Несмотря на то, что виртуальные адреса одинаковы, они отображаются на разные физические адреса путем соответствующей настройки таблиц страниц (и MMU).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .