Linux: как ядро ​​гостевой виртуальной машины поддерживает время - PullRequest
4 голосов
/ 27 января 2012

В Linux я создаю виртуальную машину с догадками и загружаю другой экземпляр Linux. ВМ создается через KVM / libvirt / qemu. Гостевая ВМ рассматривается как процесс ядром хоста. Скажем по какой-то причине процесс гостевой виртуальной машины QEMU не запланирован на какое-то время ... как ядро ​​в виртуальной машине поддерживает время? Допустим, у меня есть таймер в моем приложении в гостевой виртуальной машине. Если сам процесс гостевой виртуальной машины qemu не запланирован, повлияет ли это на истечение моего таймера?

1 Ответ

1 голос
/ 27 января 2012

В некоторых решениях по виртуализации тактовые частоты виртуальной машины привязаны к тактовой частоте некоторых хостов, поэтому тактовая частота виртуальной машины не устанавливается независимо. В других случаях такого не может произойти (например, полагаясь на эмулированные часы прерывания), что затем приводит к перекосу тактового сигнала. Настенные часы искажают, что вы можете попытаться бороться с ntpd, но для таких вещей, как CLOCK_MONOTONIC, вам, вероятно, придется с этим жить.

...