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

Company Name: Kaspersky Lab jobs, Employment

Location: RU

Job Duration: 2021-09-15 to 2021-10-15

Overview

О проекте

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

Об отделе

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

О группе

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

Задачи

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

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

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

Желательно

  • Хорошее знание языка программирования C++;
  • Опыт работы с графическими стеками на низком уровне (DRM, GEM/TTM, KMS, DXGI/DXGK, WDDM, и т.п.);
  • Опыт работы с gstreamer/ffmpeg/vlc или иными видеокодеками;
  • Опыт работы с технологиями аппаратной обработки видео (PureVideo, VDPAU);
  • Опыт работы с BIOS, UEFI, ACPI спецификациями VGA/VESA;
  • Опыт работы с интерфейсами DP, HDMI на программном уровне;
  • Понимание архитектуры PCI/PCIe;
  • Опыт работы с LLVM.