Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Саша Шепелєв

Запропонуйте Саші роботу над вашим наступним проєктом або зареєструйте профіль фрилансера і починайте заробляти просто зараз.

Україна Радомишль, Україна
19 днів 5 годин тому
Вільний для роботи вільний для роботи
на сервісі 19 днів 6 годин

Рейтинг

Успішних проєктів
Немає даний
Середня оцінка
Немає даний
Рейтинг
107
C та C++
Вбудовані системи та мікроконтролери

Резюме

Я — System & Embedded Software Engineer із глибокою спеціалізацією на низькорівневому програмуванні під Linux. Фокусуюся на розробці високонадійних систем ініціалізації (PID 1), кастомних супервізорів процесів, інтеграції з апаратним забезпеченням та посиленні безпеки ОС (OS Hardening за допомогою seccomp-BPF та Linux Capabilities).

Маю практичний досвід створення системних демонів з нуля, проектування lock-free структур, оптимізації ресурсів (memory arenas) та розробки легковагових емуляторів (shims) для системних шин.

🛠️ Ключові компетенції

Мови: C (C11/C99), C++

Linux System Programming: POSIX API, управління життєвим циклом процесів, асинхронна обробка подій (epoll, timerfd).

Архітектура: Проектування відмовостійких архітектур (Circuit Breaker, Flap/Crash-loop detection).

Безпека: Фільтрація системних викликів (Seccomp text/binary), обмеження прав процесів.

Навички та вміння

Портфоліо


  • minit

    C та C++
    Minit — це мінімалістичний, надлегкий та відмовостійкий ініціалізатор системи (PID 1) і супервізор процесів для Linux, написаний на чистому Сі.
    Це компактна і швидка альтернатива systemd (або сучасна заміна для s6/runit), розроблена спеціально для вбудованих систем (embedded), контейнерів, IoT та кастомних дистрибутивів.
    Основні можливості коротко:
    Керування сервісами та залежностями:
    Парсить прості текстові .conf-файли.
    Будує граф залежностей та запускає сервіси паралельно, що забезпечує миттєве завантаження системи.
    Підтримує рівні завантаження за аналогією з systemd (мішені / targets, наприклад basic.target, multi-user.target).
    Просунутий супервізор процесів:
    Захист від збоїв: має вбудовані механізми Flap detection та Crash-loop throttle (експоненційну затримку перезапуску із джитером), щоб сервіси, які циклічно падають, не перевантажували процесор.
    Модель Circuit Breaker: якщо сервіс безперервно ламається, minit тимчасово ізолює його (як запобіжник).
    Health-checks: самостійно перевіряє життєздатність процесів через Unix-сокети або кастомні команди. Якщо процес завис — перезапускає його.
    Низькорівнева інтеграція без зовнішніх залежностей:
    logind-shim: вбудований мінімальний аналог systemd-logind. Працює через D-Bus, дозволяючи запускати дисплейні менеджери (GDM, SDDM) та керувати сесіями користувачів.
    Керування живленням: коректно обробляє закриття кришки ноутбука та перехід у сон (suspend/hibernate), враховуючи delay-інгібітори від сервісів (наприклад, дає NetworkManager час коректно розірвати сесії).
    Ранній D-Bus: сам піднімає системну шину D-Bus під час завантаження, уникаючи race conditions.
    Безпека та обмеження ресурсів:
    Вміє на льоту застосовувати seccomp-фільтри (текстові allow-листи або бінарний BPF-формат) та скидати Linux Capabilities для ізоляції процесів.
    Розподіляє сервіси по cgroups (v2), дозволяючи жорстко лімітувати CPU та пам'ять прямо з конфігу.
    Ефективна архітектура:
    Жодних марнотратних циклів опитування (busy-polling). Реакція на вихід процесів та graceful shutdown реалізовані через неблокуючі epoll та sigtimedwait.
    Керується через консольну утиліту minit-ctl, яка вміє показувати дерево залежностей, tail-логи та віддавати статус у форматі JSON.