Архив Категории: Linux

Linux

Что такое eBPF и как его используют для мониторинга ядра?

Современные операционные системы стали настолько сложными, что традиционные инструменты для их анализа и отладки всё чаще оказываются недостаточно гибкими и быстрыми. Именно в этом контексте появилась и начала активно развиваться технология eBPF (extended Berkeley Packet Filter), которая уже успела завоевать доверие разработчиков системного программного обеспечения, специалистов по безопасности и инженеров по мониторингу. Эта технология позволяет запускать безопасный и эффективный код в пространстве ядра, не нарушая его стабильности. В этой статье мы разберёмся, что такое eBPF, в чём его уникальность и каким образом он используется для мониторинга ядра Linux. читать далее »

Linux

Как работает Lazy TLB в многопроцессорных системах Linux?

Современные многопроцессорные системы требуют высокоэффективного механизма управления памятью, особенно в условиях постоянной смены контекста и многозадачности. Одним из ключевых компонентов виртуализации памяти является таблица трансляции адресов (TLB, Translation Lookaside Buffer) — кэш, содержащий соответствия между виртуальными и физическими адресами. В многоядерных системах на базе Linux управление TLB приобретает особую важность, так как синхронизация этих кэшей между ядрами может сильно повлиять на производительность. В этой связи был введён механизм Lazy TLB, который играет ключевую роль в оптимизации процессов инвалидации TLB в SMP-средах (Symmetric Multiprocessing). читать далее »

Linux

Seccomp в Linux: тонкая настройка системных вызовов для безопасности

Безопасность операционных систем — это сложная многослойная задача, особенно в мире Linux, где открытость и гибкость сопровождаются необходимостью жесткого контроля над поведением приложений. Одним из эффективных инструментов, позволяющих значительно повысить уровень безопасности, является механизм Seccomp (Secure Computing Mode). Эта технология позволяет ограничивать набор системных вызовов, которые может выполнять процесс, тем самым существенно снижая потенциальную поверхность атаки. читать далее »

Linux

Что изменилось в обработке signals в Linux после glibc 2.34?

В августе 2021 года вышла версия glibc 2.34 — важное обновление GNU C Library, которое принесло множество изменений, среди которых особенно выделяется переработка механизма обработки сигналов. Хотя на первый взгляд это может показаться внутренним техническим нюансом, нововведения затронули широкий круг системных приложений, разработчиков и дистрибутивов. В этой статье мы подробно разберём, как именно изменилась обработка сигналов после glibc 2.34, и почему это оказалось важным шагом вперёд. читать далее »

Linux

Сравнение диспетчеров окон в Linux: i3 vs Openbox vs Xfwm

Диспетчеры окон играют ключевую роль в пользовательском опыте работы с операционной системой Linux. Они определяют внешний вид окон, их поведение, а также общую навигацию по рабочему пространству. Среди множества доступных вариантов выделяются i3, Openbox и Xfwm. Эти три диспетчера отличаются философией, функциональностью и подходом к управлению окнами. В этой статье мы подробно рассмотрим каждый из них, проанализируем их сильные и слабые стороны, а также поможем выбрать наиболее подходящий вариант в зависимости от потребностей пользователя. читать далее »

Linux

Использование ccache в Linux: ускорение компиляции программ

Компиляция программ в Linux может занимать значительное время, особенно при работе с крупными проектами. Повторное компилирование одних и тех же файлов при незначительных изменениях в коде замедляет процесс разработки и тестирования. В таких ситуациях на помощь приходит ccache — инструмент, который кэширует результаты компиляции и ускоряет повторную сборку. В этой статье мы подробно рассмотрим, как работает ccache, как его установить и настроить в Linux, а также какие преимущества он предоставляет. читать далее »

Linux

Как работают планировщики задач в Linux: CFS vs BFS

Эффективное распределение ресурсов между процессами — одна из ключевых задач операционной системы. В Linux за это отвечает планировщик задач, который решает, какой процесс будет исполняться в следующий момент времени. Два популярных планировщика задач в Linux — это CFS (Completely Fair Scheduler) и BFS (Brain Fuck Scheduler). Разберёмся, как они работают, в чём их отличия и когда стоит выбирать один из них. читать далее »

Linux

Использование ZRAM в Linux: ускорение работы на маломощных устройствах

Современные операционные системы становятся всё более требовательными к ресурсам, что создает определенные трудности для пользователей маломощных устройств, таких как старые ноутбуки, мини-ПК и одноплатные компьютеры (например, Raspberry Pi). Одним из эффективных способов повысить производительность таких систем является использование ZRAM в Linux. Эта технология позволяет оптимизировать использование оперативной памяти и ускорить работу системы в условиях её дефицита. В данной статье мы подробно разберем, что такое ZRAM, как он работает, в чем его преимущества и как его настроить на маломощных устройствах. читать далее »

Linux

Что такое eBPF в Linux и как он используется для мониторинга системы?

eBPF (extended Berkeley Packet Filter) — это мощная технология в ядре Linux, которая позволяет выполнять пользовательский код в пространстве ядра безопасно и эффективно. Первоначально разработанный для фильтрации сетевых пакетов, eBPF превратился в универсальный инструмент для мониторинга, отладки и повышения производительности систем Linux. Его уникальная особенность заключается в возможности динамического изменения поведения ядра без необходимости в модификации или пересборке кода ядра. читать далее »

Linux

Особенности работы контейнеров Podman в сравнении с Docker

Контейнеризация стала неотъемлемой частью современного программирования и развертывания приложений. Она позволяет упаковать приложения и их зависимости в единый контейнер, обеспечивая переносимость, масштабируемость и изоляцию. Docker на протяжении многих лет был де-факто стандартом в этой области, но на горизонте появился новый игрок — Podman. Оба инструмента решают схожие задачи, но имеют существенные различия в архитектуре, безопасности и использовании. Рассмотрим, в чем заключаются особенности работы Podman в сравнении с Docker. читать далее »