Для усиления команды разработки операционной системы "МСВСфера" приглашается к сотрудничеству разработчик ядра Linux.
О нас: «Инферит» - российский вендор, производитель компьютерной техники, серверного оборудования и инфраструктурного программного обеспечения.
Одним из продуктов экосистемы "Инферит" является операционная система "МСВСфера" (ОС общего назначения для рабочих станций и серверов на основе ядра GNU/Linux), подробнее: https://www.inferit.ru/products/os
Ключевые задачи:
- Обработка результатов статического анализа и fuzzing-тестирования подсистем ядра на предмет поиска и устранения возможных ошибок, взаимодействие с международным сообществом разработчиков с целью включения сделанных исправлений в основную (upstream) ветку исходных текстов ядра GNU/Linux;
- Портирование различных исправлений и драйверов в ядро операционной системы;
- Участие в разработке нового функционала, связанного с ядром ОС.
Наши ожидания: - Совершенное владение языком С, включая не входящие в официальные стандарты, но поддерживаемые компиляторами gcc и clang расширения, используемые в ядре ОС GNU/Linux;
- Хорошее знание подсистемы конфигурации ядра ОС Linux и его сборки;
- Хорошее знание и опыт практического использования стандартных структур данных, базовых механизмов и интерфейсов ядра ОС Linux: управление памятью, синхронизация, в т.ч. мультипроцессорная (SMP), таймеры, асинхронное выполнение (softirqs/tasklets/workqueues), планирование потоков, организация системных вызовов, устройство модулей;
- Технический английский язык (письменный) на уровне, достаточном для взаимодействия с международным сообществом разработчиков и написания краткой сопроводительной документации к предлагаемым исправлениям.
Будет плюсом:
- Опыт работы на уровне аппаратной архитектуры (x86 и/или ARM64);
- Знакомство с сетевой подистемой ядра, беспроводным (802.11) стеком и драйверами соответствующих устройств;
- Понимание принципов работы и практический опыт использования санитайзеров (ASan/UBSan);
- Знакомство с технологиями статического анализа и опыт практического использования каких-либо инструментов, проприетарных либо свободно распространяемых (clang static analyzer);
- Знакомство с технологиями fuzzing-тестирования и практический опыт использования syzkaller;
- Опыт взаимодействия с международным сообществом, включая интеграцию кода в основную (upstream) ветку исходных текстов ядра ОС GNU/Linux.
Мы предлагаем: