Привет! Меня зовут Денис Молодяков, я — тимлид команды графики в KasperskyOS. Мы отвечаем за разработку графического стека полного цикла для микроядерной ОС: от создания низкоуровневых графических драйверов до всего необходимого для фреймворков.
Современная реальность разработки диктует новые правила: удаленка и распределенные команды стали нормой. Моя команда не исключение — ребята базируются в разных регионах. При этом каждому разработчику требуется доступ к аппаратным платформам для сборки, запуска ОС, написания и отладки драйверов. Обеспечение каждого сотрудника полным набором плат сопряжено с серьезными логистическими и финансовыми затратами. В этой статье я хочу рассказать, как мы искали оптимальное решение этой проблемы и почему пришли к использованию методики паравиртуализации.
Какую задачу необходимо решить
Все, кто занимается разработкой ОС или ПО для встраиваемых систем, сталкиваются с необходимостью запуска и отладки на целевом оборудовании. За свою трудовую деятельность я сталкивался с разными проблемами в процессе разработки. Например, «поднимали» ОС на железке и проверяли на минимальном образе, а когда стали делать тяжелые образы с прикладными программами, выяснилось, что ничего не работает. Или перешли на новый загрузчик и вдруг обнаружили, что у нас образ ПО для старого, и снова сидишь медитируешь перед черным экраном. Ну и вишенка — есть несколько железок, на которых надо проверить работоспособность. Например, приложение со сводкой погоды на сегодня, которому,…