Pulsuz cəhd edin

Senior Windows Kernel Developer

Senior Windows Kernel Developer

Требования к знаниям:

  • опыт разработки на языке С/С++ от 5 лет;

  • особенности применения 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 календарных дней) и больничный, профессиональная литература, чай/кофе, регулярные корпоративные мероприятия, поездки, экскурсии, страйкбол, пейнтбол, байдарки, выезды на природу и другое.

220114, г. Минск, пр. Независимости 117А, 10 этаж, офис 2

Отправить резюме

Загрузите ваше резюме в формате
pdf, doc или docx
Выбрать файл