Windows Kernel Developer
Прямой работодатель Falcongaze ( falcongaze.ru )
Опыт работы от 3 до 5 летот 150 000 до 200 000 ₽
Компания Texode Technologies работает на IT-рынке с 2009 г. и является разработчиком ПО в сфере информационной безопасности.
Наш продукт - это DLP-система, которая позволяет предотвратить утечку конфиденциальной информации и повысить эффективность работы сотрудников. Наша система внедрена в 30 странах, решение использует более 1 000 компаний по всему миру. В данный момент мы находимся в поиске Windows Kernel Developer.
Требования к знаниям:
- опыт разработки на языке С/С++ от 3 лет;
- особенности применения pure C++/STL в режиме ядра;
- особенности обработки исключений в режиме ядра (С exceptions, SEH/VEH, C++ exceptions, etc.);
- особенности работы с памятью в режиме ядра (Non/Paged pools, heap, stack allocations, etc.);
- особенности работы с многопоточностью в режиме ядра (async, thread, execution context,etc.);
- написание высокопроизводительного, объектно-ориентированного кода на C/C++ с использованием современных методик (interface driven, patterns, cross-compilations/platforms);
- архитектура ядра, модули ядра;
- стадии загрузки и инициализации ядра и его модулей;
- архитектура моделей драйверов (WDM, KMDF, UMDF, port driver, mimiport driver);
- архитектура логических и физических драйверов и их объектов (driver object, device object, control device, filesystem drivrer, physical device driver, virtual driver, user mode driver);
- архитектура стека драйверов ( Pnp matches, hardware id, device path id, device objects tree);
- архитектура и принципы взаимодействия между драйверами, их устройствами и системными модулями ядра (Irp path : irql path, build path, flow path, completion path);
- архитектура и принципы работы Io-manager (irp structure, async irp, sync irp, propogation irp, etc.);
- типы запросов ввода-вывода (irp based, fast io, paged io, chached io, scatter/gather, dma, etc.);
- подсистема асинхронного ввода-ввода (DPC, APC, polling, io-completion ports, etc.);
- подсистема синхронизации (sync premitives objects, waitable objects, etc.);
- архитектура драйверов файловой системы (layred fs, top level irp, etc.);
- взаимодействие между системными модулями ядра и драйвером файловой системы (cache manager, memory manager, etc.);
- минифитры файловой системы (FltMgr.lib);
- архитектура стека устройств (pnp relations/matches, pnp major irp, etc.);
- взаимодейсствие с устройствами (device arrival/registration, hal functions, dma functions, pnp functions, etc.);
- взаимодействия между системными модулями ядра и драйвером устройства (ISR, polling, etc.);
- Windbg (windbg plugins, virtual machine debugging, hot-system debugging, etc.);
- IDA (visible/hidden import/export disassembly, etc.);
- BSOD investigation automation (windbg scripting, shell/python scripting, etc.);
- автоматизация тестирования драйверов режима ядра.
Условия:
- Работа над собственным, реально интересным проектом, одним из лидеров в своей области.
- Профессиональная команда, которая поддерживает инициативу, прислушивается к мнению друг друга, делится опытом (средний период работы в компании – 5 лет).
- Возможность участия в конференциях и митапах.
- Официальное оформление с первого дня.
- Оплачиваемый отпуск (25 календарных дней) и больничный, профессиональная литература, чай/кофе, регулярные корпоративные мероприятия, поездки, экскурсии, страйкбол, пейнтбол, байдарки, выезды на природу и другое.