👀 Дизайнеры, какая команда подходит вам по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Системный разработчик (группа разработки компонентов, команда Multimedia)

Требования

Системный инженерC

Местоположение и тип занятости

Москва

Компания

ТОП-3 международная компания в области IT безопасности. Один из лучших работодателей России

Описание вакансии

Условия работы

О проекте

KasperskyOS – защищенная микроядерная операционная система. Это не очередной дистрибутив Linux, а собственная разработка, способная успешно конкурировать на международных рынках. Заложенный в KasperskyOS принцип кибериммунности позволяет разрабатывать безопасные решения из потенциально небезопасных компонентов.

Об отделе

Разработкой KasperskyOS занимается отдел Secure Platform Development (SPD), состоящий из нескольких групп, которые отвечают за микроядро ОС, драйверы, системные компоненты, подсистему безопасности, средства виртуализации, а также обеспечивают непрерывный контроль качества разработки. Сейчас у команды много новых, интересных и сложных задач, так что она продолжает расти.

О группе

Группа отвечает за реализацию программной и аппаратной поддержки 2D и 3D графики (OpenGL, OpenGL ES, WebGL, Mesa, Wayland, QML, Vulkan) и компонентов обработки и отображения видео (Gstreamer, ffmpeg), в том числе с использованием аппаратных (drm) и программных средств (llvm) отрисовки.

Задачи

  • Реализация инфраструктуры DRM\KMS;
  • Реализация аппаратной поддержки 2D и 3D графики (написание графических драйверов);
  • Реализация аппаратной поддержки обработки видео;
  • Прототипирование прикладных решений, написание тестов, в том числе для оценки производительности;

Что требуется от кандидата

  • Отличное знание языка программирования С;
  • Опыт работы с Mesa 3D;
  • Хорошие знания в области 3D графики, технологий и архитектуры современных GPU, включая GPU pipeline, blitting, shaders, shading languges и rendering;
  • Опыт разработки и отладки драйверов Linux/FreeBSD (знание и понимание архитектуры ОС и устройства графического стека);
  • Опыт работы с IOCTLs, locking primitives, Inter processor communication, IOMMU/DMA layer API;
  • Опыт работы с графическими стеками на низком уровне (DRM, GEM/TTM, KMS, DXGI/DXGK, WDDM, и т.п.);
  • Git, Shell, Make, CMake;

Желательно

  • Опыт работы с gstreamer/ffmpeg/vlc или иными видеокодеками, интерфейсами V4L2, VAAPI;
  • Опыт работы с технологиями аппаратной обработки видео (PureVideo, VDPAU);
  • Опыт работы с BIOS, UEFI, ACPI спецификациями VGA/VESA;
  • Опыт работы с интерфейсами DP, HDMI на программном уровне;
  • Понимание архитектуры PCI/PCIe;
  • Опыт работы с LLVM.