Page 1 of 1

портирование из хост в ВМ при помощи обёртки

Posted: Sun May 17, 2015 9:31 pm
by kiv
Сейчас в составе КОС есть "*.h" обёртки различных библиотек, системных ф-ций и механизм кросс-компиляции для всего С-подобного. Запуская полученный код в qemu, КОС будет гостевой, а выполняющая qemu - хост. Можно вынести окружение пользовательской среды за приделы ВМ, создав специфичные "*-host.h", которые обмениваются сообщениями по сетевому протоколу с приложением запущенным в гостевой КОС как сервер-клиент. Тогда программа мигрирующая с хост-ос может выполнять миграцию поэтапно и выявлять баги (кроме перекрёстных), которые можно также инкапсулировано в мигрирующем модуле на данном этапе. Так можно для скомпилированной под хост версию, например, Netsurf`а изменить GUI и выполняемая на хосте программа будет выводить себя в гостевой-КОС и так этап за этапом, пока все зависимости не инкапсулируются в гостевую-КОС. Останется только выполнить кросс-компиляцию и легко проверить причина бага, если такой есть, внешняя или внутренняя. Очевидным преимуществом подхода будет возможность параллельно и независимо портировать части программы для группы разработчиков и сверять работу модулей с эталоном прямо в хост-ос.