Задачи:
— Написание модуля ядра Linux для реализации функционала управления файлами/процессами.
— Переписывание системных вызовов и API под Linux.
— Устранение зависимостей от Windows-драйверов.
— Минимизация накладных расходов драйвера.
— Исправление багов, связанных с производительностью и безопасностью.
— Работа с инструментами профилирования (perf, strace).
— Настройка взаимодействия драйвера с клиентскими модулями.
— Тестирование функционала вместе с Java и аналитиком.
Требования:
— Глубокие знания POSIX API и системных вызовов Linux.
— Опыт работы с файловыми системами, файловыми дескрипторами, mmap, epoll/inotify.
— Работа с процессами, потоками, IPC (Inter-Process Communication).
— Опыт создания модулей ядра Linux (Kernel Modules) для управления файлами и процессами.
— Знание структуры VFS (Virtual File System) в Linux.
— Умение работать с системными хуками (например, ptrace, seccomp).
— Навыки профилирования и оптимизации кода для минимизации накладных расходов.
— Умение работать с GDB, perf, strace и системными логами.
— Опыт работы с Makefile, CMake.
— Знание Git и CI/CD систем.
— Понимание безопасности: учет уязвимостей и защита данных на уровне драйверов.
Условия:
— Удаленный формат работы над интересным и сложным проектом.
Контакты работодателя доступны по кнопке «Откликнуться» после входа.