LINUX.ORG.RU
ФорумAdmin

Как работает ОС с памятью в Xen PV режиме (когда аппаратная виртуализация не используется)?

 , , , ,


0

1

Думаю, все знаю, что у Xen есть режим PV (причём он был реализован ещё в те времена, когда не у всех процессоров была возможность аппаратной виртуализации), при котором не нужна поддержка виртуализации процессоров, всё эмулируется программно. При этом производительность не сильно проседает.

- Почему так происходит? - И как ОС работает с памятью, если там нельзя выполнять вложенную трансляцию? - Или ядра фактически разделяют единую память?

В x86 есть 4 кольца защиты (0-3). Операционными системами используются только 0 и 3 кольца. Ядро ОС для работы в PV домене должно быть модифицировано таким образом, чтобы работать не в 0, а в 1 кольце, а в 0 кольце работает xen.

Black_Shadow ★★★★★
()

Поддержка виртуализации в процессоре (у Intel - VT-x) - это, фактически, кольцо -1.

Black_Shadow ★★★★★
()
Ответ на: комментарий от Black_Shadow

Разве 1-ое кольцо не разрешает драйвера? Логичнее тогда было бы запускать ведро во втором кольце. Меня больше волнует, как память транслируется. В режиме HW виртуализации ОСи имеют свои куски памяти, которые именно что виртуализированны (ещё одна абстракция: было физическая память -> виртуальные страницы, стало: физическая память -> виртуальная физическая память для ОС -> виртуальные страницы. это требует поддержки в MMU). А как Xen и ведро делят памяти, если MMU не умеет ещё одну абстракцию к памяти делать? uclinux, например, запускает приложения тупо в одном пространстве с ведром. Но PV-ядра реализуют отдельное адресное пространство для приложений.

mojomojonk
() автор топика
Ответ на: комментарий от mojomojonk

1-е кольцо в обычном режиме (без виртуализации) вообще не используется операционными системами, такими как Linux, Windows, *BSD... Драйвера устройств работают в пространстве ядра.

А как Xen и ведро делят памяти, если MMU не умеет ещё одну абстракцию к памяти делать?

http://wiki.xen.org/wiki/X86_Paravirtualised_Memory_Management

Black_Shadow ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.