Виртуализация и операционные системы

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


В рамках направления ведутся исследования по задачам:



Исследования направлены на улучшение производительности и надежности существующих ОС на базе Linux. В этих целях активно применяется технология виртуализации QEMU, а также разрабатываются собственные виртуальные устройства. Так же в лаборатории проводятся исследования по направлениям поддержки технологий создания, сопровождения и распространения дистрибутивов ОС.

Технология NTB

Проект посвящен изучению технологии NTB и вопросам ее применения на примере QEMU.

Репозиторий проекта https://github.com/OSLL/ntb-cxl

Публикации:

 

Профилирование сборки Yocto

Проект посвящен исследованию скорости сборки Yocto, профилировании и оптимизации данного процесса.

Репозиторий: https://github.com/moevm/yocto_profiling

По итогам проекта часть патчей были приняты в ветку разработки проекта Yocto. Коммиты:

Публикации:

 

Исследование технологий дистрибутивостроения

В проекте рассматривались наиболее популярные методы построения собственных дистрибутивов операционных систем, проводилась оценка их применимости.

Репозиторий проекта https://github.com/moevm/os_building

Девять desktop- и embedded-систем для создания собственного Linux-дистрибутива: какой выбрать для вашего проекта / Хабр

 

Разработка MOOC (Massive Open Online Course) проверяющей системы для курсов по разработке драйверов Linux и других курсов для освоения программирования и админиcтрирования систем на базе Linux

Проект основан на существующей реализации курса: https://stepik.org/course/2051/promo?search=7388270182. Цель работы состоит в актуализации версии ядра Linux, создании воспроизводимости сборки системы. Предыдущая версия имела ряд недостатков: статическая версия ОС виртуальной машины, где запускаются проверки заданий, устаревшие версии зависимости и отсутствие унификации окружения для развертывания системы. В рамках работы была полностью переписана система проверки заданий. С помощью docker решена проблема унификации окружения. Обновлены проверяющие скрипты и задания, а так же добавлена сборка собственного образа ОС на базе nixOS, что позволяет легко конфигурировать образ и обновлять версию ядра, изменив лишь 1 строку в конфигурации для сборки образа.

 

Реализация политики планирования EEVDF (Earliest Eligible Virtual Deadline First) с помощью Extensible Scheduler Class в ядре Linux

Проект реализован в рамках образовательной дисциплины 3 курса "Основы и Управление Промышленной Разработкой ПО". В версии ядра Linux 6.12 был внедрен новый алгоритм планирования задач EEVDF, заменив старый CFS. Студенты самостоятельно реализовали данный алгоритм, но не в самом ядре, а в пользовательской программе, которая создана на базе нового интерфейса в Linux Extensible Scheduler Class. В рамках проекта студенты познакомились с Yocto Project (создав слой для интеграции планировщика в образ ВМ), ядром Linux и технологиями Extensible Scheduler Class.

Репозиторий: https://github.com/moevm/eevdf-scx-scheduler

 

Исследование в области интеллектуального планирования задач в ОС

 

В рамках данного исследовательского направления реализуются новые подходы для создания RL-окружений, а также ведутся разработки моделей ИИ, задача которых планировать процессы в ОС в соответствии с требованиями качества обслуживания системы.