портирование из хост в ВМ при помощи обёртки
-
Сейчас в составе КОС есть "*.h" обёртки различных библиотек, системных ф-ций и механизм кросс-компиляции для всего С-подобного. Запуская полученный код в qemu, КОС будет гостевой, а выполняющая qemu - хост. Можно вынести окружение пользовательской среды за приделы ВМ, создав специфичные "*-host.h", которые обмениваются сообщениями по сетевому протоколу с приложением запущенным в гостевой КОС как сервер-клиент. Тогда программа мигрирующая с хост-ос может выполнять миграцию поэтапно и выявлять баги (кроме перекрёстных), которые можно также инкапсулировано в мигрирующем модуле на данном этапе. Так можно для скомпилированной под хост версию, например, Netsurf`а изменить GUI и выполняемая на хосте программа будет выводить себя в гостевой-КОС и так этап за этапом, пока все зависимости не инкапсулируются в гостевую-КОС. Останется только выполнить кросс-компиляцию и легко проверить причина бага, если такой есть, внешняя или внутренняя. Очевидным преимуществом подхода будет возможность параллельно и независимо портировать части программы для группы разработчиков и сверять работу модулей с эталоном прямо в хост-ос.
Who is online
Users browsing this forum: No registered users and 0 guests