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

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

Требования

Разработка ПОC

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

Москва

Компания

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

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

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

О проекте:

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

 

О команде:

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

 

О группе:

Группа разработки микроядра отвечает за системный уровень KasperskyOS – ядро, его сервисы, API для работы с ними, а также за разработку драйверов и поддержку аппаратных платформ.

 

Задачи:

  • Изучение всего нового, что происходит в области разработки операционных систем;
  • Проектирование и реализация системных сервисов и библиотек;
  • Обеспечение работоспособности KasperskyOS на различных аппаратных платформах.

 

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

  • Отличное владение языком программирования C;
  • Знание архитектур современных процессоров;
  • Знание языка assembler по крайней мере для одной из архитектур (x86, ARM);
  • Отличное понимание принципов построения операционных систем;
  • Понимание того, как работает «железо»;
  • Знание классических алгоритмов и структур данных;
  • Git, Make, GCC;
  • Практика тестирования и документирования написанного кода;
  • Умение писать грамотные и понятные технические документы;
  • Английский язык на уровне чтения технической документации.

 

Желательно:

  • Знание и понимание работы различных подсистем ОС, таких как управление памятью, межпроцессное взаимодействие, синхронизация, планирование задач, специфика работы multicore и принципов работы различной аппаратуры (PCI, USB, SATA и т.д.);
  • Знакомство с особенностями микроядерных операционных систем;
  • Опыт написания драйверов устройств;
  • Знание специфики разработки под специализированные ОС (real-time, embedded);
  • Опыт разработки под различные архитектуры (ARM, PowerPC, MIPS);
  • Навыки оптимизации код под конкретную аппаратную платформу;
  • Знания в области информационной безопасности;
  • Хорошее знание языка программирования C++.