В документе для gvisor поясняется, что «часовой хранит эффективное сопоставление виртуального адреса с файлом хоста в хосте VMA, вызывая системный вызов mmap», так что процесс контейнерного приложения имеет информацию, необходимую для перевода и доступа к запрошенному виртуальному адресу.
Здесь часовой относится к процессу гипервизора, который отслеживает процесс контейнерного дочернего приложения, который он порождает.
Мой вопрос как именно дозорный вызывает mmap()
для подачи заявки? Если он вызывает из своего собственного процесса, разве это не изменяет его собственную таблицу VMA вместо таблицы процесса приложения?