Прежде всего, я бы рекомендовал ознакомиться с разделом « Техническая информация » руководства VirtualBox.
Таким образом, VirtualBox использует архитектуру типа клиент-сервер, реализованную поверх COM(или XPCOM). Существует серверный компонент (VBoxSVC
в руководстве), который является основным процессом, который обрабатывает фактический запуск и останов виртуальных машин, а также управляет доступом клиентов к виртуальным машинам. Каждый экземпляр GUI является клиентом, который подключается к серверу и выполняет вызовы на объектах сервера. Эта архитектура позволяет использовать различные виртуальные интерфейсы (например, GUI, клиент командной строки или веб-клиент) для управления виртуальными машинами.
Также обратите внимание, что бывают случаи, когда определенный клиент может установить эксклюзивную блокировку на компьютере и запретить другим клиентам модифицировать виртуальную машину, но серверный компонент управляет этими блокировками.